/*!***************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/dashboard_brand.scss ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* ============ ArchiHub — Theme CoreUI Safe Overlay ============ */
.theme-archihub {
  /* Palette ArchiHub */
  --ah-bg-dark: #141422;
  --ah-violet: #890382;
  --ah-rose: #F9F3F9;
  --ah-rouge: #E11D5B;
  --ah-rougev: #D71700;
  --ah-white: #ffffff;
  --ah-text: #1E1E1E;
  --ah-muted: #717171;
  --ah-gradient: linear-gradient(135deg, #890382 0%, #E11D5B 40%, #D71700 100%);
  /* Design tokens */
  --ah-shadow-sm: 0 1px 3px rgba(0,0,0,.04), 0 1px 2px rgba(0,0,0,.03);
  --ah-shadow-md: 0 4px 8px rgba(0,0,0,.04), 0 2px 4px rgba(0,0,0,.03);
  --ah-shadow-lg: 0 12px 28px rgba(0,0,0,.06), 0 4px 10px rgba(0,0,0,.03);
  --ah-shadow-glow: 0 0 0 1px rgba(137,3,130,.06), 0 4px 16px rgba(137,3,130,.08);
  --ah-border-color: rgba(0,0,0,.06);
  --ah-border-glass: rgba(255,255,255,.7);
  --ah-radius-card: 1rem;
  --ah-radius-btn: 0.625rem;
  /* Glass token */
  --ah-glass-bg: rgba(255,255,255,.72);
  --ah-glass-blur: blur(16px);
  /* Mapping doux -> CoreUI via CSS vars */
  --cui-primary: #890382;
  --cui-secondary: #717171;
  --cui-success: #10b981;
  --cui-danger: #E11D5B;
  --cui-warning: #f59e0b;
  --cui-info: #0ea5e9;
  --cui-light: #f8f9fa;
  --cui-dark: #141422;
  --cui-link-color: #890382;
  --cui-link-hover-color: #E11D5B;
  /* Police par défaut dashboard — Inter */
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

/* Titres : DM Sans */
.theme-archihub h1, .theme-archihub h2, .theme-archihub h3,
.theme-archihub .h1, .theme-archihub .h2, .theme-archihub .h3 {
  font-family: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight: 600;
}

/* h4-h6 also use DM Sans but lighter weight */
.theme-archihub h4, .theme-archihub h5, .theme-archihub h6,
.theme-archihub .h4, .theme-archihub .h5, .theme-archihub .h6 {
  font-family: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight: 500;
}

/* Topbar/Header CoreUI — glass blur */
.theme-archihub .header {
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(16px) saturate(180%);
  -webkit-backdrop-filter: blur(16px) saturate(180%);
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
  box-shadow: none;
}

.theme-archihub .header .nav-link {
  color: var(--ah-text);
  transition: color 0.15s ease;
}

.theme-archihub .header .nav-link:hover,
.theme-archihub .header .dropdown-toggle:hover {
  color: var(--ah-rouge);
}

/* Header toggler — same style as topbar icons */
.theme-archihub .header-toggler {
  width: 2.25rem;
  height: 2.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.625rem;
  border: none;
  background: transparent;
  color: var(--ah-muted);
  transition: all 0.15s ease;
  margin: 0;
  padding: 0;
  font-size: 1.125rem;
  cursor: pointer;
}

.theme-archihub .header-toggler:hover {
  background: rgba(137, 3, 130, 0.04);
  color: var(--ah-violet);
}

/* Logo artisan centré dans la topbar (positionnement absolu : reste centré
   quelle que soit la largeur des groupes gauche/droite) */
.theme-archihub .header .container-fluid {
  position: relative;
}

.theme-archihub .ah-topbar-logo {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  align-items: center;
  z-index: 1;
  pointer-events: auto;
}
.theme-archihub .ah-topbar-logo img {
  max-height: 40px;
  max-width: 180px;
  object-fit: contain;
}

/* Topbar icon buttons — uniform sizing and hover */
.theme-archihub .header .ah-topbar-icon {
  width: 2.25rem;
  height: 2.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.625rem;
  color: var(--ah-muted);
  transition: all 0.15s ease;
  position: relative;
  font-size: 1.125rem;
  line-height: 1;
  cursor: pointer;
  text-decoration: none;
  border: none;
  background: transparent;
  padding: 0;
  vertical-align: middle;
}

.theme-archihub .header .ah-topbar-icon:hover {
  color: var(--ah-violet);
  background: rgba(137, 3, 130, 0.04);
}

/* Weather trigger — auto width for icon + temp text */
.theme-archihub .header .ah-topbar-icon--weather {
  width: auto;
  gap: 0.3rem;
  font-size: 0.875rem;
  font-weight: 600;
  padding: 0.125rem 0.5rem;
  border-radius: 999px;
  color: var(--ah-text, #1e1e1e);
}

.theme-archihub .header .ah-topbar-icon--weather:hover {
  background: rgba(137, 3, 130, 0.06);
  color: var(--ah-violet, #890382);
}

.theme-archihub .header .ah-topbar-icon .badge {
  position: absolute;
  top: 2px;
  right: 2px;
  font-size: 0.625rem;
  min-width: 1rem;
  height: 1rem;
  padding: 0 0.25rem;
  line-height: 1rem;
  border-radius: 999px;
}

/* Kill CoreUI .nav-link padding inside header-nav */
.theme-archihub .header-nav .nav-item {
  display: flex;
  align-items: center;
  position: relative;
}

/* Separator before user dropdown */
.theme-archihub .topbar-user::before {
  content: "";
  width: 1px;
  height: 1.25rem;
  background: rgba(0, 0, 0, 0.08);
  margin-right: 0.25rem;
  display: block;
  align-self: center;
}

/* Sidebar CoreUI — refined dark theme */
.theme-archihub .sidebar {
  background: linear-gradient(180deg, #1a1a2e 0%, #141422 100%);
  color: #f7f7fb;
  border-right: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* Subtle brand haze at top of sidebar (logo violet) */
.theme-archihub .sidebar::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 200px;
  background: radial-gradient(ellipse at 50% 0%, rgba(137, 3, 130, 0.09) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

/* Nav fills available space so the logo footer pins to the bottom */
.theme-archihub .sidebar-nav {
  position: relative;
  z-index: 1;
  flex: 1 1 auto;
  min-height: 0;
}

/* Brand chevrons — oversized background watermark at the bottom (BLAST-style) */
.theme-archihub .sidebar-footer {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0; /* behind the nav (z-index 1) */
  pointer-events: none;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  overflow: hidden;
}

.theme-archihub .sidebar-footer-logo {
  display: block;
  width: 150%; /* very large, bleeds off the sides */
  max-width: none;
  height: auto;
  opacity: 0.18;
  transform: translateY(20%); /* bleed off the bottom edge */
}

/* Narrow (icon-only) sidebar — hide the oversized watermark */
.sidebar-narrow .sidebar-footer-logo {
  display: none;
}

/* Logo section */
.theme-archihub .sidebar-header {
  padding: 1.25rem 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
  position: relative;
  z-index: 1;
}

.theme-archihub .ah-brand-text {
  font-family: "DM Sans", system-ui, sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.02em;
}

.theme-archihub .ah-brand-text-narrow {
  font-family: "DM Sans", system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 700;
  background: var(--ah-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Nav items — refined spacing and transitions */
.theme-archihub .sidebar .nav-link {
  color: rgba(255, 255, 255, 0.6);
  border-radius: 0.625rem;
  margin: 2px 0.75rem;
  padding: 0.625rem 0.875rem;
  font-size: 0.875rem;
  font-weight: 450;
  letter-spacing: 0.005em;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  border: 1px solid transparent;
}

.theme-archihub .sidebar .nav-link .nav-icon {
  font-size: 1.125rem;
  opacity: 0.7;
  transition: opacity 0.2s ease, transform 0.2s ease;
  margin-right: 0.75rem;
  width: 1.25rem;
  min-width: 1.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.theme-archihub .sidebar .nav-link:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.04);
}

.theme-archihub .sidebar .nav-link:hover .nav-icon {
  opacity: 1;
  transform: translateX(1px);
}

/* Active state — soft glow */
.theme-archihub .sidebar .nav-link.active {
  background: rgba(137, 3, 130, 0.12);
  border-color: rgba(137, 3, 130, 0.18);
  font-weight: 500;
  box-shadow: 0 0 12px rgba(137, 3, 130, 0.1);
}

/* Active state — solid brand red on icon + label (legible) */
.theme-archihub .sidebar .nav-link.active,
.theme-archihub .sidebar .nav-link.active .nav-icon,
.theme-archihub .sidebar .nav-link.active span {
  color: var(--ah-rouge);
  -webkit-text-fill-color: var(--ah-rouge);
  opacity: 1;
}

/* Active indicator — gradient bar on the left edge */
.theme-archihub .sidebar .nav-link.active::before {
  content: "";
  position: absolute;
  left: -0.75rem;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 16px;
  border-radius: 0 2px 2px 0;
  background: var(--ah-gradient);
}

/* Section titles */
.theme-archihub .sidebar .nav-title {
  color: rgba(255, 255, 255, 0.35);
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 1.25rem 1rem 0.5rem;
  margin: 0 0.75rem;
}

/* Narrow state — hide active bar */
.sidebar-narrow .nav-link.active::before {
  display: none;
}

/* Breadcrumb / page title */
.theme-archihub .breadcrumb {
  --cui-breadcrumb-divider-color: #bcbcc3;
  color: #8a8a93;
}

.theme-archihub .page-title, .theme-archihub .page-title h1 {
  font-family: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

/* =========================================================
   BOUTONS MODERNES — Rounded, hauteur uniforme
   ========================================================= */
.theme-archihub .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  text-decoration: none;
  cursor: pointer;
  font-weight: 500;
  border-radius: 0.625rem;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.theme-archihub .btn:focus-visible {
  outline: 2px solid rgba(137, 3, 130, 0.4);
  outline-offset: 2px;
}

.theme-archihub .btn-sm {
  padding: 0.375rem 0.75rem;
  font-size: 0.8125rem;
  border-radius: 0.5rem;
}

.theme-archihub a.btn {
  line-height: 1.5;
}

/* Bouton primaire — gradient + glow */
.theme-archihub .btn-primary {
  background: var(--ah-gradient);
  border: none;
  color: #fff;
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(137, 3, 130, 0.2);
}

.theme-archihub .btn-primary:hover,
.theme-archihub .btn-primary:focus {
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(137, 3, 130, 0.3);
  color: #fff;
  filter: brightness(1.05);
}

.theme-archihub .btn-primary:active {
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(137, 3, 130, 0.2);
}

/* Bouton outline secondaire — glass style */
.theme-archihub .btn-outline-secondary {
  color: var(--ah-text);
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: rgba(255, 255, 255, 0.6);
  font-weight: 500;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.theme-archihub .btn-outline-secondary:hover,
.theme-archihub .btn-outline-secondary:focus {
  color: var(--ah-text);
  background: rgba(255, 255, 255, 0.9);
  border-color: rgba(0, 0, 0, 0.15);
  box-shadow: var(--ah-shadow-md);
  transform: translateY(-1px);
}

.theme-archihub .btn-outline-secondary:active {
  transform: translateY(0);
  box-shadow: none;
}

/* Bouton outline primaire */
.theme-archihub .btn-outline-primary {
  color: var(--ah-violet);
  border: 1px solid rgba(137, 3, 130, 0.25);
  background: rgba(137, 3, 130, 0.04);
  font-weight: 500;
}

.theme-archihub .btn-outline-primary:hover,
.theme-archihub .btn-outline-primary:focus {
  color: var(--ah-white);
  background: var(--ah-gradient);
  border-color: transparent;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(137, 3, 130, 0.25);
}

.theme-archihub .btn-outline-primary:active {
  transform: translateY(0);
  box-shadow: none;
}

/* Bouton success */
.theme-archihub .btn-success {
  background: linear-gradient(135deg, #10b981, #059669);
  border: none;
  color: #fff;
  box-shadow: 0 2px 8px rgba(16, 185, 129, 0.2);
}

.theme-archihub .btn-success:hover {
  box-shadow: 0 6px 16px rgba(16, 185, 129, 0.3);
  transform: translateY(-1px);
}

/* Bouton danger outline */
.theme-archihub .btn-outline-danger {
  color: #E11D5B;
  border: 1px solid rgba(225, 29, 91, 0.2);
  background: rgba(225, 29, 91, 0.03);
}

.theme-archihub .btn-outline-danger:hover {
  color: #fff;
  background: #E11D5B;
  border-color: #E11D5B;
  box-shadow: 0 6px 16px rgba(225, 29, 91, 0.25);
}

/* Boutons outline cohérents */
.theme-archihub .btn-outline-secondary,
.theme-archihub .btn-outline-primary {
  text-decoration: none;
}

/* Liens */
.theme-archihub a {
  color: var(--ah-violet);
  transition: color 0.15s ease;
}

.theme-archihub a:hover, .theme-archihub a:focus {
  color: var(--ah-rouge);
}

/* =========================================================
   CARDS — Clean, sans bordure lourde
   ========================================================= */
.theme-archihub .card {
  border-radius: var(--ah-radius-card);
  border: 1px solid var(--ah-border-color);
  box-shadow: var(--ah-shadow-sm);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
  background: #fff;
}

/* Badges */
.theme-archihub .badge.bg-primary {
  background: #890382 !important;
}

.theme-archihub .badge.bg-danger {
  background: #E11D5B !important;
}

/* Tables — modern header (filet violet harmonisé sur tous les tableaux) */
.theme-archihub .table thead th,
.theme-archihub .table > :not(caption) > * > th {
  background-color: transparent;
  border-bottom: 2px solid rgba(137, 3, 130, 0.15);
  font-weight: 600;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ah-violet);
  white-space: nowrap;
}

/* Dropdown menu — premium */
.theme-archihub .dropdown-menu {
  border-radius: 0.75rem;
  border: 1px solid var(--ah-border-color);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08), 0 2px 6px rgba(0, 0, 0, 0.04);
  padding: 0.35rem;
  min-width: 14rem;
  background: #fff;
  margin-top: 0.35rem;
  animation: ahDropdownIn 0.15s ease-out;
}

@keyframes ahDropdownIn {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.theme-archihub .dropdown-item {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.5rem 0.75rem;
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--ah-text);
  border-radius: 0.5rem;
  border: none;
  background: transparent;
  transition: background-color 0.12s ease, color 0.12s ease;
  text-decoration: none;
}
.theme-archihub .dropdown-item i, .theme-archihub .dropdown-item .bi {
  font-size: 0.95rem;
  color: var(--ah-muted);
  flex-shrink: 0;
  width: 1rem;
  text-align: center;
  transition: color 0.12s ease;
}
.theme-archihub .dropdown-item:hover, .theme-archihub .dropdown-item:focus {
  background: rgba(137, 3, 130, 0.08);
  color: var(--ah-violet);
  text-decoration: none;
}
.theme-archihub .dropdown-item:hover i, .theme-archihub .dropdown-item:hover .bi, .theme-archihub .dropdown-item:focus i, .theme-archihub .dropdown-item:focus .bi {
  color: var(--ah-violet);
}
.theme-archihub .dropdown-item:active {
  background: rgba(137, 3, 130, 0.12);
  color: var(--ah-violet);
}
.theme-archihub .dropdown-item.active {
  background: var(--ah-violet);
  color: #fff;
}
.theme-archihub .dropdown-item.active i, .theme-archihub .dropdown-item.active .bi {
  color: #fff;
}
.theme-archihub .dropdown-item.disabled, .theme-archihub .dropdown-item:disabled {
  color: #b8b8b8;
  background: transparent;
  pointer-events: none;
  opacity: 0.65;
}
.theme-archihub .dropdown-item.disabled i, .theme-archihub .dropdown-item.disabled .bi, .theme-archihub .dropdown-item:disabled i, .theme-archihub .dropdown-item:disabled .bi {
  color: #c8c8c8;
}

.theme-archihub .dropdown-item--danger {
  color: var(--ah-rouge);
}
.theme-archihub .dropdown-item--danger i, .theme-archihub .dropdown-item--danger .bi {
  color: var(--ah-rouge);
}
.theme-archihub .dropdown-item--danger:hover, .theme-archihub .dropdown-item--danger:focus {
  background: rgba(225, 29, 91, 0.08);
  color: var(--ah-rouge);
}
.theme-archihub .dropdown-item--danger:hover i, .theme-archihub .dropdown-item--danger:hover .bi, .theme-archihub .dropdown-item--danger:focus i, .theme-archihub .dropdown-item--danger:focus .bi {
  color: var(--ah-rouge);
}

.theme-archihub .dropdown-divider {
  height: 1px;
  margin: 0.35rem 0.25rem;
  border: none;
  background: var(--ah-border-color);
  opacity: 1;
}

.theme-archihub .dropdown-header {
  padding: 0.35rem 0.75rem 0.25rem;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--ah-muted);
}

/* Dropdown trigger button — slight visual cue when open
   (scoped to outline/ghost variants only — never override filled buttons) */
.theme-archihub .dropdown-toggle::after {
  margin-left: 0.35rem;
  vertical-align: 0.15em;
}

/* Dropdown opened state — mirror the :hover look (solid fill) so the text
   stays readable. The :focus state alone gives white text, and a near-white
   background made it invisible. */
.theme-archihub .btn-outline-primary.dropdown-toggle.show {
  color: var(--ah-white);
  background: var(--ah-gradient);
  border-color: transparent;
}

.theme-archihub .btn-outline-secondary.dropdown-toggle.show {
  background: rgba(0, 0, 0, 0.04);
  color: inherit;
}

.theme-archihub .btn-link.dropdown-toggle.show {
  background: rgba(137, 3, 130, 0.08);
}

/* =========================================================
   INPUTS — Hauteur uniforme, style moderne
   ========================================================= */
.theme-archihub .form-control,
.theme-archihub .form-select {
  border-radius: 0.625rem;
  border: 1px solid rgba(0, 0, 0, 0.1);
  padding: 0.5rem 0.875rem;
  font-size: 0.875rem;
  line-height: 1.5;
  height: 2.5rem;
  background-color: rgba(255, 255, 255, 0.8);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.theme-archihub .form-control:focus,
.theme-archihub .form-select:focus {
  border-color: rgba(137, 3, 130, 0.35);
  box-shadow: 0 0 0 3px rgba(137, 3, 130, 0.1);
  background-color: #fff;
}

.theme-archihub .form-control::placeholder {
  color: #a0a0a8;
}

.theme-archihub .form-control-sm,
.theme-archihub .form-select-sm {
  height: 2.25rem;
  padding: 0.35rem 0.75rem;
  font-size: 0.8125rem;
}

/* Input group harmonisé */
.theme-archihub .input-group .input-group-text {
  border-radius: 0.625rem 0 0 0.625rem;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-right: 0;
  background: rgba(255, 255, 255, 0.5);
  height: 2.5rem;
  padding: 0.5rem 0.75rem;
}

.theme-archihub .input-group .form-control {
  border-radius: 0 0.625rem 0.625rem 0;
}

.theme-archihub .input-group-sm .input-group-text {
  height: 2.25rem;
  padding: 0.35rem 0.625rem;
  border-radius: 0.5rem 0 0 0.5rem;
}

.theme-archihub .input-group-sm .form-control {
  border-radius: 0 0.5rem 0.5rem 0;
  height: 2.25rem;
}

/* btn dans les groupes, même hauteur que les inputs */
.theme-archihub .btn {
  height: 2.5rem;
}

.theme-archihub .btn-sm {
  height: 2.25rem;
}

/* Toasts / Alerts */
.theme-archihub .alert-primary {
  background-color: #f9e6ff;
  color: #4e1b6e;
  border-color: #f2d6fd;
}

/* Avatars (anneau subtil) */
.theme-archihub .avatar, .theme-archihub .topbar-avatar {
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(137, 3, 130, 0.25);
  border-radius: 50%;
}

/* help text plus discret */
.theme-archihub .form-text {
  color: #8a8a93;
  font-size: 0.8125rem;
}

/* avatar drop shadow soft */
.theme-archihub img.rounded-circle {
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(137, 3, 130, 0.15);
}

/* =========================================================
   NAV PILLS — Modern ArchiHub
   ========================================================= */
.theme-archihub .nav-pills .nav-link {
  border-radius: 0.625rem;
  color: var(--ah-muted);
  background: transparent;
  border: none;
  font-weight: 500;
  padding: 0.5rem 1rem;
  transition: all 0.2s ease;
}

.theme-archihub .nav-pills .nav-link:hover {
  color: var(--ah-text);
  background: rgba(0, 0, 0, 0.04);
}

.theme-archihub .nav-pills .nav-link.active {
  color: #fff;
  background: var(--ah-violet);
  border-color: var(--ah-violet);
  box-shadow: 0 4px 12px rgba(137, 3, 130, 0.2);
}

/* =========================================================
   ah-CARD — Accent top gradient, glassmorphism subtil
   ========================================================= */
.theme-archihub .ah-card {
  border-radius: var(--ah-radius-card);
  overflow: hidden;
  position: relative;
  border: 1px solid var(--ah-border-color);
  background: #fff;
}

.theme-archihub .ah-card::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  height: 3px;
  width: 100%;
  background: var(--ah-gradient);
  opacity: 0.85;
  z-index: 2;
  pointer-events: none;
}

/* Glass variant */
.theme-archihub .ah-glass {
  background: var(--ah-glass-bg);
  backdrop-filter: var(--ah-glass-blur);
  -webkit-backdrop-filter: var(--ah-glass-blur);
  border: 1px solid var(--ah-border-glass);
}

/* =========================================================
   ah-TABLE — Table with structure and presence
   ========================================================= */
.theme-archihub .ah-table {
  /* CoreUI cells read --cui-table-bg (default = grey body bg); force white. */
  --bs-table-bg: #fff;
  --cui-table-bg: #fff;
  --cui-table-accent-bg: transparent;
}

.theme-archihub .ah-table thead th.ah-th {
  background: #fff;
  border-bottom: 2px solid rgba(137, 3, 130, 0.15);
  font-weight: 700;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #890382;
  white-space: nowrap;
  padding: 0.75rem 1rem;
}

/* Sortable column indicators */
.ah-th--sortable {
  position: relative;
  transition: background 0.15s;
}
.ah-th--sortable:hover {
  background: #f3eff4;
}

.ah-sort-indicator {
  display: inline-flex;
  margin-left: 0.3rem;
  font-size: 0.55rem;
  color: #c4b5c9;
  vertical-align: middle;
}
.ah-sort-indicator.active {
  color: #890382;
}

/* Lignes — zebra + hover */
.theme-archihub .ah-table tbody tr.ah-row {
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.theme-archihub .ah-table tbody tr.ah-row td {
  padding: 0.875rem 1rem;
  vertical-align: middle;
}

.theme-archihub .ah-table tbody tr.ah-row:hover {
  --cui-table-accent-bg: rgba(137, 3, 130, .04);
}

.theme-archihub .ah-table tbody tr.ah-row:hover td:first-child {
  color: #890382;
}

/* Row actions — reveal on hover */
.theme-archihub .ah-table tbody tr.ah-row .ah-row-action {
  opacity: 0.4;
  transition: all 0.15s ease;
}

.theme-archihub .ah-table tbody tr.ah-row:hover .ah-row-action {
  opacity: 1;
}

/* ─────────────────────────────────────────────────────────────
   Mobile (<768px): tables collapse into stacked "label: value"
   cards — the standard responsive-table pattern. Column labels are
   injected onto cells as data-label by assets/js/responsive-tables.js
   ───────────────────────────────────────────────────────────── */
/* Sticky "Filtres" toggle bar — hidden on desktop, shown on phones */
.ah-mobile-filterbar {
  display: none;
}

@media (max-width: 767.98px) {
  /* ── Filters: collapsed behind a discreet sticky toggle ── */
  .theme-archihub .ah-table thead {
    display: block;
  }
  .theme-archihub .ah-table thead tr:not(.ah-table-filters) {
    display: none;
  }
  /* collapsed by default; revealed when the table is flagged open */
  .theme-archihub .ah-table thead tr.ah-table-filters {
    display: none;
  }
  .theme-archihub .ah-table.ah-filters-open thead tr.ah-table-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.75rem;
    margin-bottom: 1rem;
    padding: 1rem;
    border: 1px solid rgba(17, 24, 39, 0.08);
    border-radius: 0.9rem;
    background: #fff;
    box-shadow: 0 8px 24px rgba(17, 24, 39, 0.1);
  }
  .theme-archihub .ah-table thead tr.ah-table-filters > td {
    display: block;
    flex: 1 1 140px;
    padding: 0;
    border: 0;
    background: transparent;
  }
  .theme-archihub .ah-table thead tr.ah-table-filters > td:not(:has(*)) {
    display: none;
  }
  .theme-archihub .ah-table thead tr.ah-table-filters > td[data-filter-col]::before {
    content: attr(data-filter-col);
    display: block;
    margin-bottom: 0.3rem;
    font-size: 0.66rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #9aa0ab;
  }
  .theme-archihub .ah-table thead tr.ah-table-filters .ah-filter-input {
    width: 100%;
  }
  .theme-archihub .ah-table thead tr.ah-table-filters > td.ah-th-filter--actions {
    flex: 1 1 100%;
    display: flex;
    gap: 0.5rem;
    margin-top: 0.25rem;
  }
  /* sticky toggle bar (injected by responsive-tables.js) */
  .ah-mobile-filterbar {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    justify-content: flex-end;
    padding: 0.5rem 0;
    margin-bottom: 0.25rem;
  }
  .ah-mobile-filter-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.5rem 0.9rem;
    border: 1px solid rgba(17, 24, 39, 0.1);
    border-radius: 999px;
    background: #fff;
    color: #344054;
    font-size: 0.8rem;
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(17, 24, 39, 0.08);
    cursor: pointer;
  }
  .ah-mobile-filter-toggle .bi {
    color: #890382;
    font-size: 1rem;
  }
  .ah-mobile-filter-toggle__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.2rem;
    height: 1.2rem;
    padding: 0 0.35rem;
    border-radius: 999px;
    background: #890382;
    color: #fff;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1;
  }
  .ah-mobile-filterbar.is-open .ah-mobile-filter-toggle {
    background: var(--ah-gradient, linear-gradient(135deg, #890382, #b5179e));
    border-color: transparent;
    color: #fff;
  }
  .ah-mobile-filterbar.is-open .ah-mobile-filter-toggle .bi,
  .ah-mobile-filterbar.is-open .ah-mobile-filter-toggle__count {
    color: #fff;
  }
  .ah-mobile-filterbar.is-open .ah-mobile-filter-toggle__count {
    background: rgba(255, 255, 255, 0.25);
  }
  /* ── Cards ── */
  /* The wrapping card/scroller must vanish so only the row-cards show.
     These wrappers often carry inline styles, hence !important. */
  .theme-archihub .ah-card:has(table.ah-table) {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }
  .theme-archihub .ah-card:has(table.ah-table)::before {
    display: none;
  }
  .theme-archihub .ah-card:has(table.ah-table) .table-responsive {
    overflow: visible;
  }
  .theme-archihub .ah-table,
  .theme-archihub .ah-table tbody,
  .theme-archihub .ah-table tbody tr.ah-row,
  .theme-archihub .ah-table tbody tr.ah-row > td {
    display: block;
    width: 100%;
  }
  .theme-archihub .ah-table tbody tr.ah-row {
    border: 1px solid rgba(17, 24, 39, 0.07);
    border-radius: 1rem;
    margin-bottom: 1rem;
    background: #fff;
    box-shadow: 0 1px 2px rgba(17, 24, 39, 0.04), 0 6px 18px rgba(17, 24, 39, 0.05);
    overflow: hidden;
  }
  .theme-archihub .ah-table tbody tr.ah-row > td {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.7rem 1rem;
    text-align: right;
    border: 0;
    border-bottom: 1px solid rgba(17, 24, 39, 0.05);
    color: #1f2430;
    font-weight: 500;
    min-height: 0;
  }
  .theme-archihub .ah-table tbody tr.ah-row > td:last-child {
    border-bottom: 0;
  }
  .theme-archihub .ah-table tbody tr.ah-row > td::before {
    content: attr(data-label);
    flex: 0 0 auto;
    font-weight: 600;
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #9aa0ab;
    text-align: left;
  }
  /* first cell = identity header strip */
  .theme-archihub .ah-table tbody tr.ah-row > td:first-child {
    justify-content: flex-start;
    gap: 0.65rem;
    padding: 0.9rem 1rem;
    text-align: left;
    background: linear-gradient(135deg, rgba(137, 3, 130, 0.05), rgba(181, 23, 158, 0.03));
    font-size: 0.95rem;
    font-weight: 700;
    color: #14181f;
  }
  .theme-archihub .ah-table tbody tr.ah-row > td:first-child::before {
    content: none;
  }
  /* cells with no header label — no prefix, left-aligned */
  .theme-archihub .ah-table tbody tr.ah-row > td[data-label=""] {
    justify-content: flex-start;
    text-align: left;
  }
  .theme-archihub .ah-table tbody tr.ah-row > td[data-label=""]::before {
    content: none;
  }
  /* actions row = subtle footer; always show the (hover-revealed) actions */
  .theme-archihub .ah-table tbody tr.ah-row > td[data-label=Actions] {
    background: rgba(17, 24, 39, 0.015);
  }
  .theme-archihub .ah-table tbody tr.ah-row .ah-row-action {
    opacity: 1;
  }
}
/* Avatar initiales */
.theme-archihub .ah-avatar {
  width: 38px;
  height: 38px;
  min-width: 38px;
  border-radius: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.8rem;
  color: var(--ah-white);
  background: var(--ah-gradient);
  box-shadow: 0 2px 8px rgba(137, 3, 130, 0.15);
}

/* Badges pills */
.theme-archihub .ah-badge {
  --pill-bg: #f1e6f6;
  --pill-fg: #5a2d6a;
  background: var(--pill-bg);
  color: var(--pill-fg);
  border: 0;
  border-radius: 0.375rem;
  padding: 0.25rem 0.5rem;
  font-weight: 600;
  font-size: 0.75rem;
  letter-spacing: 0.01em;
}

.theme-archihub .ah-badge--soft {
  --pill-bg: rgba(0,0,0,.05);
  --pill-fg: #555;
}

/* Chips de filtres actifs */
.theme-archihub .ah-chip {
  background: #f9f3f9;
  color: #522a60;
  border: 1px solid #eadff0;
  border-radius: 999px;
  padding: 0.4rem 0.7rem;
}

/* Liens & boutons dans table */
.theme-archihub .ah-table a.ah-link {
  color: var(--ah-violet);
  text-decoration: none;
}

.theme-archihub .ah-table a.ah-link:hover {
  color: var(--ah-rouge);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Btn group harmonisé */
.theme-archihub .btn-group .btn {
  display: inline-flex;
  align-items: center;
}

/* État vide premium */
.theme-archihub .ah-empty__icon {
  font-size: 1.75rem;
  line-height: 1;
  margin-bottom: 0.5rem;
}

/* ── Pagination moderne ── */
.ah-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1.25rem;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  font-size: 0.8125rem;
}

.ah-pagination__info {
  color: #717171;
  font-weight: 400;
}

.ah-pagination__nav {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.ah-pagination__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  padding: 0 0.375rem;
  border-radius: 0.5rem;
  border: 1px solid rgba(0, 0, 0, 0.06);
  background: transparent;
  color: #1e1e1e;
  text-decoration: none;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1;
  transition: all 0.15s ease;
  cursor: pointer;
}

.ah-pagination__btn:hover {
  background: rgba(137, 3, 130, 0.04);
  border-color: rgba(137, 3, 130, 0.15);
  color: var(--ah-violet);
  text-decoration: none;
}

.ah-pagination__btn--active,
.ah-pagination__btn--active:hover {
  background: var(--ah-violet);
  border-color: var(--ah-violet);
  color: #fff;
  box-shadow: 0 2px 8px rgba(137, 3, 130, 0.2);
  cursor: default;
}

.ah-pagination__btn--disabled,
.ah-pagination__btn--disabled:hover {
  opacity: 0.3;
  pointer-events: none;
  background: transparent;
  border-color: rgba(0, 0, 0, 0.06);
  color: #717171;
}

.ah-pagination__ellipsis {
  color: #9ca3af;
  padding: 0 0.125rem;
  font-size: 0.75rem;
  line-height: 2rem;
  user-select: none;
}

@media (max-width: 575.98px) {
  .ah-pagination__info {
    display: none;
  }
  .ah-pagination {
    justify-content: center;
  }
}
/* Avatar 40px */
.theme-archihub .ah-avatar-40 {
  width: 40px;
  height: 40px;
  border-radius: 0.75rem;
  color: #fff;
  background: var(--ah-gradient);
  box-shadow: 0 2px 8px rgba(137, 3, 130, 0.15);
}

/* Têtes de colonnes */
.theme-archihub thead.text-dark.fs-4 h6 {
  font-family: "DM Sans", system-ui;
}

/* Dropdown in table */
.theme-archihub .table .dropdown-menu {
  border-radius: 0.75rem;
  box-shadow: var(--ah-shadow-lg);
}

/* =========================================================
   FILTER BAR — Flottant, glassmorphism
   ========================================================= */
.theme-archihub .ah-filter-bar {
  background: var(--ah-glass-bg);
  backdrop-filter: var(--ah-glass-blur);
  -webkit-backdrop-filter: var(--ah-glass-blur);
  border: 1px solid var(--ah-border-glass);
  border-radius: var(--ah-radius-card);
  padding: 0.625rem;
  box-shadow: var(--ah-shadow-sm);
}

/* ── Filter Toggle Button ── */
.theme-archihub .ah-filter-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  height: 2.125rem;
  padding: 0 0.75rem;
  border-radius: 999px;
  border: 1px solid var(--ah-border-glass);
  background: var(--ah-glass-bg);
  backdrop-filter: var(--ah-glass-blur);
  -webkit-backdrop-filter: var(--ah-glass-blur);
  color: var(--ah-muted);
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  white-space: nowrap;
}

.theme-archihub .ah-filter-toggle:hover {
  color: var(--ah-violet);
  background: rgba(137, 3, 130, 0.04);
  border-color: rgba(137, 3, 130, 0.15);
}

.theme-archihub .ah-filter-toggle[aria-expanded=true] {
  color: var(--ah-violet);
  border-color: rgba(137, 3, 130, 0.2);
  background: rgba(137, 3, 130, 0.04);
}

.ah-filter-toggle__icon {
  font-size: 0.875rem;
  transition: color 0.2s ease;
}

.ah-filter-toggle__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.125rem;
  height: 1.125rem;
  padding: 0 0.3rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(135deg, #890382 0%, #E11D5B 100%);
  line-height: 1;
}

/* ── Filter Bar Collapse Animation ── */
.ah-filter-bar--collapsed {
  max-height: 0 !important;
  overflow: hidden;
  opacity: 0;
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-color: transparent !important;
  transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s ease, margin-top 0.3s ease, padding 0.3s ease, border-color 0.3s ease;
}

.ah-filter-bar:not(.ah-filter-bar--collapsed) {
  transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.25s ease, margin-top 0.3s ease;
}

/* =========================================================
   STAT CARD — Glassmorphism v2
   ========================================================= */
.theme-archihub .ah-stat {
  background: var(--ah-glass-bg);
  backdrop-filter: var(--ah-glass-blur);
  -webkit-backdrop-filter: var(--ah-glass-blur);
  border: 1px solid var(--ah-border-glass);
  border-radius: var(--ah-radius-card);
  padding: 1.25rem;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.theme-archihub .ah-stat:hover {
  box-shadow: var(--ah-shadow-md);
  transform: translateY(-2px);
}

.theme-archihub .ah-stat--active {
  border-color: var(--ah-stat-accent, var(--ah-primary));
  box-shadow: 0 0 0 1px var(--ah-stat-accent, var(--ah-primary)) inset, var(--ah-shadow-md);
}

.theme-archihub .ah-stat__icon {
  width: 44px;
  height: 44px;
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  flex-shrink: 0;
}

.theme-archihub .ah-stat__value {
  font-family: "DM Sans", system-ui, sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
}

.theme-archihub .ah-stat__label {
  font-size: 0.8125rem;
  color: var(--ah-muted);
  margin-top: 0.25rem;
}

/* =========================================================
   ROW ACTION — Bouton icon table moderne
   ========================================================= */
.theme-archihub .ah-row-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 0.5rem;
  color: var(--ah-muted);
  background: transparent;
  border: none;
  cursor: pointer;
  transition: all 0.15s ease;
  text-decoration: none;
  font-size: 0.875rem;
  padding: 0;
}

.theme-archihub .ah-row-action:hover {
  color: var(--ah-violet);
  background: rgba(137, 3, 130, 0.06);
}

.theme-archihub .ah-row-action--danger:hover {
  color: #E11D5B;
  background: rgba(225, 29, 91, 0.06);
}

.theme-archihub .ah-row-action--success:hover {
  color: #047857;
  background: rgba(16, 185, 129, 0.08);
}
/*!***************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/app.scss ***!
  \***************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* ============================================================
   ArchiHub — Font declarations (single source of truth)
   ============================================================ */
/* --- Goodber — Brand logo text only --- */
@font-face {
  font-family: "Goodber";
  src: url(/build/fonts/godber-3lxoz.29777c3b.ttf) format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
/* --- Inter — Primary UI / body font (variable, latin-ext + latin) --- */
@font-face {
  font-family: "Inter";
  src: url(/build/fonts/Inter-latin-ext.9c8c91dc.woff2) format("woff2");
  font-weight: 300 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Inter";
  src: url(/build/fonts/Inter-latin.404ca8da.woff2) format("woff2");
  font-weight: 300 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* --- DM Sans — Headings / display font (variable, latin-ext + latin) --- */
@font-face {
  font-family: "DM Sans";
  src: url(/build/fonts/DMSans-latin-ext.f7dcd912.woff2) format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "DM Sans";
  src: url(/build/fonts/DMSans-latin.9b78e592.woff2) format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/*!
 * CoreUI  v5.4.1 (https://coreui.io)
 * Copyright (c) 2025 creativeLabs Łukasz Holeczek
 * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
 */
:root,
[data-coreui-theme=light] {
  --cui-blue: #0d6efd;
  --cui-indigo: #6610f2;
  --cui-purple: #6f42c1;
  --cui-pink: #d63384;
  --cui-red: #dc3545;
  --cui-orange: #fd7e14;
  --cui-yellow: #ffc107;
  --cui-green: #198754;
  --cui-teal: #20c997;
  --cui-cyan: #0dcaf0;
  --cui-black: #080a0c;
  --cui-white: #fff;
  --cui-gray: #6d7d9c;
  --cui-gray-dark: #323a49;
  --cui-gray-100: #f3f4f7;
  --cui-gray-200: #e7eaee;
  --cui-gray-300: #dbdfe6;
  --cui-gray-400: #cfd4de;
  --cui-gray-500: #aab3c5;
  --cui-gray-600: #6d7d9c;
  --cui-gray-700: #4a566d;
  --cui-gray-800: #323a49;
  --cui-gray-900: #212631;
  --cui-primary: #5856d6;
  --cui-secondary: #6b7785;
  --cui-success: #1b9e3e;
  --cui-info: #39f;
  --cui-warning: #f9b115;
  --cui-danger: #e55353;
  --cui-light: #f3f4f7;
  --cui-dark: #212631;
  --cui-primary-rgb: 88, 86, 214;
  --cui-secondary-rgb: 107, 119, 133;
  --cui-success-rgb: 27, 158, 62;
  --cui-info-rgb: 51, 153, 255;
  --cui-warning-rgb: 249, 177, 21;
  --cui-danger-rgb: 229, 83, 83;
  --cui-light-rgb: 243, 244, 247;
  --cui-dark-rgb: 33, 38, 49;
  --cui-primary-text-emphasis: #3634a3;
  --cui-secondary-text-emphasis: #212233;
  --cui-success-text-emphasis: #0f5722;
  --cui-info-text-emphasis: #184c77;
  --cui-warning-text-emphasis: #764705;
  --cui-danger-text-emphasis: #671414;
  --cui-light-text-emphasis: #4a566d;
  --cui-dark-text-emphasis: #323a49;
  --cui-primary-bg-subtle: #cfc7f3;
  --cui-secondary-bg-subtle: #ced2d8;
  --cui-success-bg-subtle: #cbedd6;
  --cui-info-bg-subtle: #c0e6ff;
  --cui-warning-bg-subtle: #feecc5;
  --cui-danger-bg-subtle: #f9d4d4;
  --cui-light-bg-subtle: rgb(249, 249.5, 251);
  --cui-dark-bg-subtle: #cfd4de;
  --cui-primary-border-subtle: #9d92e6;
  --cui-secondary-border-subtle: #9da5b1;
  --cui-success-border-subtle: #96dbad;
  --cui-info-border-subtle: #80c6ff;
  --cui-warning-border-subtle: #fcd88a;
  --cui-danger-border-subtle: #f2a9a9;
  --cui-light-border-subtle: #e7eaee;
  --cui-dark-border-subtle: #aab3c5;
  --cui-white-rgb: 255, 255, 255;
  --cui-black-rgb: 8, 10, 12;
  --cui-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --cui-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --cui-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --cui-body-font-family: var(--cui-font-sans-serif);
  --cui-body-font-size: 1rem;
  --cui-body-font-weight: 400;
  --cui-body-line-height: 1.5;
  --cui-body-color: rgba(37, 42.92, 54.02, 0.95);
  --cui-body-color-rgb: 37, 42.92, 54.02;
  --cui-body-bg: #fff;
  --cui-body-bg-rgb: 255, 255, 255;
  --cui-emphasis-color: #080a0c;
  --cui-emphasis-color-rgb: 8, 10, 12;
  --cui-secondary-color: rgba(37, 42.92, 54.02, 0.681);
  --cui-secondary-color-rgb: 37, 42.92, 54.02;
  --cui-secondary-bg: #e7eaee;
  --cui-secondary-bg-rgb: 231, 234, 238;
  --cui-tertiary-color: rgba(37, 42.92, 54.02, 0.38);
  --cui-tertiary-color-rgb: 37, 42.92, 54.02;
  --cui-tertiary-bg: #f3f4f7;
  --cui-tertiary-bg-rgb: 243, 244, 247;
  --cui-body-color-dark: rgba(255, 255, 255, 0.87);
  --cui-body-color-rgb-dark: 255, 255, 255;
  --cui-body-bg-dark: #212631;
  --cui-body-bg-rgb-dark: 33, 38, 49;
  --cui-emphasis-color-dark: #fff;
  --cui-emphasis-color-rgb-dark: 255, 255, 255;
  --cui-secondary-color-dark: rgba(255, 255, 255, 0.6);
  --cui-secondary-color-rgb-dark: 255, 255, 255;
  --cui-secondary-bg-dark: #323a49;
  --cui-secondary-bg-rgb-dark: 50, 58, 73;
  --cui-tertiary-color-dark: rgba(255, 255, 255, 0.38);
  --cui-tertiary-color-rgb-dark: 255, 255, 255;
  --cui-tertiary-bg-dark: rgb(41.5, 48, 61);
  --cui-tertiary-bg-rgb-dark: 41.5, 48, 61;
  --cui-high-emphasis: rgba(37, 42.92, 54.02, 0.95);
  --cui-medium-emphasis: rgba(37, 42.92, 54.02, 0.681);
  --cui-disabled: rgba(37, 42.92, 54.02, 0.38);
  --cui-high-emphasis-inverse: rgba(255, 255, 255, 0.87);
  --cui-medium-emphasis-inverse: rgba(255, 255, 255, 0.6);
  --cui-disabled-inverse: rgba(255, 255, 255, 0.38);
  --cui-heading-color: inherit;
  --cui-link-color: #5856d6;
  --cui-link-color-rgb: 88, 86, 214;
  --cui-link-decoration: underline;
  --cui-link-hover-color: rgb(70.4, 68.8, 171.2);
  --cui-link-hover-color-rgb: 70.4, 68.8, 171.2;
  --cui-code-color: #d63384;
  --cui-highlight-color: rgba(37, 42.92, 54.02, 0.95);
  --cui-highlight-bg: rgb(255, 242.6, 205.4);
  --cui-border-width: 1px;
  --cui-border-style: solid;
  --cui-border-color: #dbdfe6;
  --cui-border-color-translucent: rgba(8, 10, 12, 0.175);
  --cui-border-radius: 0.375rem;
  --cui-border-radius-sm: 0.25rem;
  --cui-border-radius-lg: 0.5rem;
  --cui-border-radius-xl: 1rem;
  --cui-border-radius-xxl: 2rem;
  --cui-border-radius-2xl: var(--cui-border-radius-xxl);
  --cui-border-radius-pill: 50rem;
  --cui-box-shadow: 0 0.5rem 1rem rgba(8, 10, 12, 0.15);
  --cui-box-shadow-sm: 0 0.125rem 0.25rem rgba(8, 10, 12, 0.075);
  --cui-box-shadow-lg: 0 1rem 3rem rgba(8, 10, 12, 0.175);
  --cui-box-shadow-inset: inset 0 1px 2px rgba(8, 10, 12, 0.075);
  --cui-focus-ring-width: 0.25rem;
  --cui-focus-ring-opacity: 0.25;
  --cui-focus-ring-color: rgba(88, 86, 214, 0.25);
  --cui-form-valid-color: #1b9e3e;
  --cui-form-valid-border-color: #1b9e3e;
  --cui-form-invalid-color: #e55353;
  --cui-form-invalid-border-color: #e55353;
}

[data-coreui-theme=dark] {
  color-scheme: dark;
  --cui-body-color: rgba(255, 255, 255, 0.87);
  --cui-body-color-rgb: 255, 255, 255;
  --cui-body-bg: #212631;
  --cui-body-bg-rgb: 33, 38, 49;
  --cui-emphasis-color: #fff;
  --cui-emphasis-color-rgb: 255, 255, 255;
  --cui-secondary-color: rgba(255, 255, 255, 0.6);
  --cui-secondary-color-rgb: 255, 255, 255;
  --cui-secondary-bg: #323a49;
  --cui-secondary-bg-rgb: 50, 58, 73;
  --cui-tertiary-color: rgba(255, 255, 255, 0.38);
  --cui-tertiary-color-rgb: 255, 255, 255;
  --cui-tertiary-bg: rgb(41.5, 48, 61);
  --cui-tertiary-bg-rgb: 41.5, 48, 61;
  --cui-high-emphasis: rgba(255, 255, 255, 0.87);
  --cui-medium-emphasis: rgba(255, 255, 255, 0.6);
  --cui-disabled: rgba(255, 255, 255, 0.38);
  --cui-primary: rgb(94.2, 92.4, 207.6);
  --cui-secondary: #6b7785;
  --cui-success: rgb(33.55, 151.45, 65.05);
  --cui-info: rgb(61.2, 153, 244.8);
  --cui-warning: rgb(237.6, 172.8, 32.4);
  --cui-danger: rgb(221.7, 90.3, 90.3);
  --cui-light: #f3f4f7;
  --cui-dark: #212631;
  --cui-gray-100: #f3f4f7;
  --cui-gray-200: #e7eaee;
  --cui-gray-300: #dbdfe6;
  --cui-gray-400: #cfd4de;
  --cui-gray-500: #aab3c5;
  --cui-gray-600: #6d7d9c;
  --cui-gray-700: #4a566d;
  --cui-gray-800: #323a49;
  --cui-gray-900: #212631;
  --cui-primary-rgb: 94.2, 92.4, 207.6;
  --cui-secondary-rgb: 107, 119, 133;
  --cui-success-rgb: 33.55, 151.45, 65.05;
  --cui-info-rgb: 61.2, 153, 244.8;
  --cui-warning-rgb: 237.6, 172.8, 32.4;
  --cui-danger-rgb: 221.7, 90.3, 90.3;
  --cui-light-rgb: 243, 244, 247;
  --cui-dark-rgb: 33, 38, 49;
  --cui-primary-text-emphasis: rgb(59.35, 57.55, 157.45);
  --cui-secondary-text-emphasis: #212233;
  --cui-success-text-emphasis: rgb(18.6, 83.4, 35.7);
  --cui-info-text-emphasis: rgb(28.75, 75.55, 114.25);
  --cui-warning-text-emphasis: rgb(112.35, 70.05, 10.65);
  --cui-danger-text-emphasis: rgb(98.85, 24.15, 24.15);
  --cui-light-text-emphasis: #f3f4f7;
  --cui-dark-text-emphasis: #dbdfe6;
  --cui-primary-bg-subtle: #cfc7f3;
  --cui-secondary-bg-subtle: #ced2d8;
  --cui-success-bg-subtle: #cbedd6;
  --cui-info-bg-subtle: #c0e6ff;
  --cui-warning-bg-subtle: #feecc5;
  --cui-danger-bg-subtle: #f9d4d4;
  --cui-light-bg-subtle: #323a49;
  --cui-dark-bg-subtle: rgb(29, 34, 42.5);
  --cui-primary-border-subtle: #9d92e6;
  --cui-secondary-border-subtle: #9da5b1;
  --cui-success-border-subtle: #96dbad;
  --cui-info-border-subtle: #80c6ff;
  --cui-warning-border-subtle: #fcd88a;
  --cui-danger-border-subtle: #f2a9a9;
  --cui-light-border-subtle: #4a566d;
  --cui-dark-border-subtle: #323a49;
  --cui-heading-color: inherit;
  --cui-link-color: rgb(94.2, 92.4, 207.6);
  --cui-link-hover-color: rgb(126.36, 124.92, 217.08);
  --cui-link-color-rgb: 94.2, 92.4, 207.6;
  --cui-link-hover-color-rgb: 126.36, 124.92, 217.08;
  --cui-code-color: rgb(230.4, 132.6, 181.2);
  --cui-highlight-color: rgba(255, 255, 255, 0.87);
  --cui-highlight-bg: rgb(102, 77.2, 2.8);
  --cui-border-color: #323a49;
  --cui-border-color-translucent: rgba(255, 255, 255, 0.1);
  --cui-form-valid-color: rgb(117, 183, 152.4);
  --cui-form-valid-border-color: rgb(117, 183, 152.4);
  --cui-form-invalid-color: rgb(234, 133.8, 143.4);
  --cui-form-invalid-border-color: rgb(234, 133.8, 143.4);
}

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

@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth;
  }
}
body {
  margin: 0;
  font-family: var(--cui-body-font-family);
  font-size: var(--cui-body-font-size);
  font-weight: var(--cui-body-font-weight);
  line-height: var(--cui-body-line-height);
  color: var(--cui-body-color);
  text-align: var(--cui-body-text-align);
  background-color: var(--cui-body-bg);
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(8, 10, 12, 0);
}

hr {
  margin: 1rem 0;
  color: inherit;
  border: 0;
  border-top: var(--cui-border-width) solid;
  opacity: 0.25;
}

h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--cui-heading-color);
}

h1, .h1 {
  font-size: calc(1.375rem + 1.5vw);
}

@media (min-width: 1200px) {
  h1, .h1 {
    font-size: 2.5rem;
  }
}
h2, .h2 {
  font-size: calc(1.325rem + 0.9vw);
}

@media (min-width: 1200px) {
  h2, .h2 {
    font-size: 2rem;
  }
}
h3, .h3 {
  font-size: calc(1.3rem + 0.6vw);
}

@media (min-width: 1200px) {
  h3, .h3 {
    font-size: 1.75rem;
  }
}
h4, .h4 {
  font-size: calc(1.275rem + 0.3vw);
}

@media (min-width: 1200px) {
  h4, .h4 {
    font-size: 1.5rem;
  }
}
h5, .h5 {
  font-size: 1.25rem;
}

h6, .h6 {
  font-size: 1rem;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

abbr[title] {
  text-decoration: underline dotted;
  cursor: help;
  text-decoration-skip-ink: none;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul {
  padding-inline-start: 2rem;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

dt {
  font-weight: 700;
}

dd {
  margin-inline-start: 0;
  margin-bottom: 0.5rem;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small, .small {
  font-size: 0.875em;
}

mark, .mark {
  padding: 0.1875em;
  color: var(--cui-highlight-color);
  background-color: var(--cui-highlight-bg);
}

sub,
sup {
  position: relative;
  font-size: 0.75em;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: rgba(var(--cui-link-color-rgb), var(--cui-link-opacity, 1));
  text-decoration: underline;
}

a:hover {
  --cui-link-color-rgb: var(--cui-link-hover-color-rgb);
}

a:not([href]):not([class]), a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

pre,
code,
kbd,
samp {
  font-family: var(--cui-font-monospace);
  font-size: 1em;
}

pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  font-size: 0.875em;
  color: var(--cui-pre-color, );
}

pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

code {
  font-size: 0.875em;
  color: var(--cui-code-color);
  word-wrap: break-word;
}

a > code {
  color: inherit;
}

kbd {
  padding: 0.1875rem 0.375rem;
  font-size: 0.875em;
  color: var(--cui-kbd-color, var(--cui-body-bg));
  background-color: var(--cui-kbd-bg, var(--cui-body-color));
  border-radius: 0.25rem;
}

kbd kbd {
  padding: 0;
  font-size: 1em;
}

figure {
  margin: 0 0 1rem;
}

img,
svg {
  vertical-align: middle;
}

table {
  caption-side: bottom;
  border-collapse: collapse;
}

caption {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--cui-table-caption-color, var(--cui-secondary-color));
  text-align: start;
}

th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}

thead,
tbody,
tfoot,
tr,
td,
th {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}

label {
  display: inline-block;
}

button {
  border-radius: 0;
}

button:focus:not(:focus-visible) {
  outline: 0;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}

select:disabled {
  opacity: 1;
}

[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
  display: none !important;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
}

::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

textarea {
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  float: inline-start;
  width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  line-height: inherit;
  font-size: calc(1.275rem + 0.3vw);
}

@media (min-width: 1200px) {
  legend {
    font-size: 1.5rem;
  }
}
legend + * {
  clear: left;
}

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
  padding: 0;
}

::-webkit-inner-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

*[dir=rtl] [type=tel],
*[dir=rtl] [type=url],
*[dir=rtl] [type=email],
*[dir=rtl] [type=number] {
  direction: ltr;
}

::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-color-swatch-wrapper {
  padding: 0;
}

::file-selector-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

iframe {
  border: 0;
}

summary {
  display: list-item;
  cursor: pointer;
}

progress {
  vertical-align: baseline;
}

[hidden] {
  display: none !important;
}

.lead {
  font-size: 1.25rem;
  font-weight: 300;
}

.display-1 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.625rem + 4.5vw);
}

@media (min-width: 1200px) {
  .display-1 {
    font-size: 5rem;
  }
}
.display-2 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.575rem + 3.9vw);
}

@media (min-width: 1200px) {
  .display-2 {
    font-size: 4.5rem;
  }
}
.display-3 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.525rem + 3.3vw);
}

@media (min-width: 1200px) {
  .display-3 {
    font-size: 4rem;
  }
}
.display-4 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.475rem + 2.7vw);
}

@media (min-width: 1200px) {
  .display-4 {
    font-size: 3.5rem;
  }
}
.display-5 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.425rem + 2.1vw);
}

@media (min-width: 1200px) {
  .display-5 {
    font-size: 3rem;
  }
}
.display-6 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.375rem + 1.5vw);
}

@media (min-width: 1200px) {
  .display-6 {
    font-size: 2.5rem;
  }
}
.list-unstyled {
  padding-inline-start: 0;
  list-style: none;
}

.list-inline {
  padding-inline-start: 0;
  list-style: none;
}

.list-inline-item {
  display: inline-block;
}

.list-inline-item:not(:last-child) {
  margin-inline-end: 0.5rem;
}

.initialism {
  font-size: 0.875em;
  text-transform: uppercase;
}

.blockquote {
  margin-bottom: 1rem;
  font-size: 1.25rem;
}

.blockquote > :last-child {
  margin-bottom: 0;
}

.blockquote-footer {
  margin-top: -1rem;
  margin-bottom: 1rem;
  font-size: 0.875em;
  color: #6d7d9c;
}

.blockquote-footer::before {
  content: "— ";
}

.img-fluid {
  max-width: 100%;
  height: auto;
}

.img-thumbnail {
  padding: 0.25rem;
  background-color: var(--cui-thumbnail-bg, var(--cui-body-bg));
  border: var(--cui-border-width) solid var(--cui-thumbnail-border-color, var(--cui-border-color));
  border-radius: var(--cui-border-radius);
  max-width: 100%;
  height: auto;
}

.figure {
  display: inline-block;
}

.figure-img {
  margin-bottom: 0.5rem;
  line-height: 1;
}

.figure-caption {
  font-size: 0.875em;
  color: var(--cui-figure-caption-color, var(--cui-secondary-color));
}

.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  --cui-gutter-x: 1.5rem;
  --cui-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--cui-gutter-x) * 0.5);
  padding-left: calc(var(--cui-gutter-x) * 0.5);
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .container-sm, .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container-md, .container-sm, .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container-lg, .container-md, .container-sm, .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1320px;
  }
}
:root {
  --cui-breakpoint-xs: 0;
  --cui-breakpoint-sm: 576px;
  --cui-breakpoint-md: 768px;
  --cui-breakpoint-lg: 992px;
  --cui-breakpoint-xl: 1200px;
  --cui-breakpoint-xxl: 1400px;
  --cui-mobile-breakpoint: lg;
}

.row {
  --cui-gutter-x: 1.5rem;
  --cui-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--cui-gutter-y));
  margin-right: calc(-0.5 * var(--cui-gutter-x));
  margin-left: calc(-0.5 * var(--cui-gutter-x));
}

.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--cui-gutter-x) * 0.5);
  padding-left: calc(var(--cui-gutter-x) * 0.5);
  margin-top: var(--cui-gutter-y);
}

.col {
  flex: 1 0 0;
}

.row-cols-auto > * {
  flex: 0 0 auto;
  width: auto;
}

.row-cols-1 > * {
  flex: 0 0 auto;
  width: 100%;
}

.row-cols-2 > * {
  flex: 0 0 auto;
  width: 50%;
}

.row-cols-3 > * {
  flex: 0 0 auto;
  width: 33.33333333%;
}

.row-cols-4 > * {
  flex: 0 0 auto;
  width: 25%;
}

.row-cols-5 > * {
  flex: 0 0 auto;
  width: 20%;
}

.row-cols-6 > * {
  flex: 0 0 auto;
  width: 16.66666667%;
}

.col-auto {
  flex: 0 0 auto;
  width: auto;
}

.col-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
}

.col-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
}

.col-3 {
  flex: 0 0 auto;
  width: 25%;
}

.col-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
}

.col-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
}

.col-6 {
  flex: 0 0 auto;
  width: 50%;
}

.col-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
}

.col-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
}

.col-9 {
  flex: 0 0 auto;
  width: 75%;
}

.col-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
}

.col-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
}

.col-12 {
  flex: 0 0 auto;
  width: 100%;
}

.offset-1 {
  margin-inline-start: 8.33333333%;
}

.offset-2 {
  margin-inline-start: 16.66666667%;
}

.offset-3 {
  margin-inline-start: 25%;
}

.offset-4 {
  margin-inline-start: 33.33333333%;
}

.offset-5 {
  margin-inline-start: 41.66666667%;
}

.offset-6 {
  margin-inline-start: 50%;
}

.offset-7 {
  margin-inline-start: 58.33333333%;
}

.offset-8 {
  margin-inline-start: 66.66666667%;
}

.offset-9 {
  margin-inline-start: 75%;
}

.offset-10 {
  margin-inline-start: 83.33333333%;
}

.offset-11 {
  margin-inline-start: 91.66666667%;
}

.g-0,
.gx-0 {
  --cui-gutter-x: 0;
}

.g-0,
.gy-0 {
  --cui-gutter-y: 0;
}

.g-1,
.gx-1 {
  --cui-gutter-x: 0.25rem;
}

.g-1,
.gy-1 {
  --cui-gutter-y: 0.25rem;
}

.g-2,
.gx-2 {
  --cui-gutter-x: 0.5rem;
}

.g-2,
.gy-2 {
  --cui-gutter-y: 0.5rem;
}

.g-3,
.gx-3 {
  --cui-gutter-x: 1rem;
}

.g-3,
.gy-3 {
  --cui-gutter-y: 1rem;
}

.g-4,
.gx-4 {
  --cui-gutter-x: 1.5rem;
}

.g-4,
.gy-4 {
  --cui-gutter-y: 1.5rem;
}

.g-5,
.gx-5 {
  --cui-gutter-x: 3rem;
}

.g-5,
.gy-5 {
  --cui-gutter-y: 3rem;
}

@media (min-width: 576px) {
  .col-sm {
    flex: 1 0 0;
  }
  .row-cols-sm-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-sm-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-sm-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-sm-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-sm-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-sm-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-sm-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-sm-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-sm-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-sm-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-sm-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-sm-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-sm-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-sm-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-sm-0 {
    margin-inline-start: 0;
  }
  .offset-sm-1 {
    margin-inline-start: 8.33333333%;
  }
  .offset-sm-2 {
    margin-inline-start: 16.66666667%;
  }
  .offset-sm-3 {
    margin-inline-start: 25%;
  }
  .offset-sm-4 {
    margin-inline-start: 33.33333333%;
  }
  .offset-sm-5 {
    margin-inline-start: 41.66666667%;
  }
  .offset-sm-6 {
    margin-inline-start: 50%;
  }
  .offset-sm-7 {
    margin-inline-start: 58.33333333%;
  }
  .offset-sm-8 {
    margin-inline-start: 66.66666667%;
  }
  .offset-sm-9 {
    margin-inline-start: 75%;
  }
  .offset-sm-10 {
    margin-inline-start: 83.33333333%;
  }
  .offset-sm-11 {
    margin-inline-start: 91.66666667%;
  }
  .g-sm-0,
  .gx-sm-0 {
    --cui-gutter-x: 0;
  }
  .g-sm-0,
  .gy-sm-0 {
    --cui-gutter-y: 0;
  }
  .g-sm-1,
  .gx-sm-1 {
    --cui-gutter-x: 0.25rem;
  }
  .g-sm-1,
  .gy-sm-1 {
    --cui-gutter-y: 0.25rem;
  }
  .g-sm-2,
  .gx-sm-2 {
    --cui-gutter-x: 0.5rem;
  }
  .g-sm-2,
  .gy-sm-2 {
    --cui-gutter-y: 0.5rem;
  }
  .g-sm-3,
  .gx-sm-3 {
    --cui-gutter-x: 1rem;
  }
  .g-sm-3,
  .gy-sm-3 {
    --cui-gutter-y: 1rem;
  }
  .g-sm-4,
  .gx-sm-4 {
    --cui-gutter-x: 1.5rem;
  }
  .g-sm-4,
  .gy-sm-4 {
    --cui-gutter-y: 1.5rem;
  }
  .g-sm-5,
  .gx-sm-5 {
    --cui-gutter-x: 3rem;
  }
  .g-sm-5,
  .gy-sm-5 {
    --cui-gutter-y: 3rem;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex: 1 0 0;
  }
  .row-cols-md-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-md-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-md-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-md-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-md-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-md-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-md-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-md-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-md-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-md-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-md-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-md-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-md-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-md-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-md-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-md-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-md-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-md-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-md-0 {
    margin-inline-start: 0;
  }
  .offset-md-1 {
    margin-inline-start: 8.33333333%;
  }
  .offset-md-2 {
    margin-inline-start: 16.66666667%;
  }
  .offset-md-3 {
    margin-inline-start: 25%;
  }
  .offset-md-4 {
    margin-inline-start: 33.33333333%;
  }
  .offset-md-5 {
    margin-inline-start: 41.66666667%;
  }
  .offset-md-6 {
    margin-inline-start: 50%;
  }
  .offset-md-7 {
    margin-inline-start: 58.33333333%;
  }
  .offset-md-8 {
    margin-inline-start: 66.66666667%;
  }
  .offset-md-9 {
    margin-inline-start: 75%;
  }
  .offset-md-10 {
    margin-inline-start: 83.33333333%;
  }
  .offset-md-11 {
    margin-inline-start: 91.66666667%;
  }
  .g-md-0,
  .gx-md-0 {
    --cui-gutter-x: 0;
  }
  .g-md-0,
  .gy-md-0 {
    --cui-gutter-y: 0;
  }
  .g-md-1,
  .gx-md-1 {
    --cui-gutter-x: 0.25rem;
  }
  .g-md-1,
  .gy-md-1 {
    --cui-gutter-y: 0.25rem;
  }
  .g-md-2,
  .gx-md-2 {
    --cui-gutter-x: 0.5rem;
  }
  .g-md-2,
  .gy-md-2 {
    --cui-gutter-y: 0.5rem;
  }
  .g-md-3,
  .gx-md-3 {
    --cui-gutter-x: 1rem;
  }
  .g-md-3,
  .gy-md-3 {
    --cui-gutter-y: 1rem;
  }
  .g-md-4,
  .gx-md-4 {
    --cui-gutter-x: 1.5rem;
  }
  .g-md-4,
  .gy-md-4 {
    --cui-gutter-y: 1.5rem;
  }
  .g-md-5,
  .gx-md-5 {
    --cui-gutter-x: 3rem;
  }
  .g-md-5,
  .gy-md-5 {
    --cui-gutter-y: 3rem;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex: 1 0 0;
  }
  .row-cols-lg-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-lg-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-lg-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-lg-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-lg-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-lg-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-lg-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-lg-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-lg-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-lg-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-lg-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-lg-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-lg-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-lg-0 {
    margin-inline-start: 0;
  }
  .offset-lg-1 {
    margin-inline-start: 8.33333333%;
  }
  .offset-lg-2 {
    margin-inline-start: 16.66666667%;
  }
  .offset-lg-3 {
    margin-inline-start: 25%;
  }
  .offset-lg-4 {
    margin-inline-start: 33.33333333%;
  }
  .offset-lg-5 {
    margin-inline-start: 41.66666667%;
  }
  .offset-lg-6 {
    margin-inline-start: 50%;
  }
  .offset-lg-7 {
    margin-inline-start: 58.33333333%;
  }
  .offset-lg-8 {
    margin-inline-start: 66.66666667%;
  }
  .offset-lg-9 {
    margin-inline-start: 75%;
  }
  .offset-lg-10 {
    margin-inline-start: 83.33333333%;
  }
  .offset-lg-11 {
    margin-inline-start: 91.66666667%;
  }
  .g-lg-0,
  .gx-lg-0 {
    --cui-gutter-x: 0;
  }
  .g-lg-0,
  .gy-lg-0 {
    --cui-gutter-y: 0;
  }
  .g-lg-1,
  .gx-lg-1 {
    --cui-gutter-x: 0.25rem;
  }
  .g-lg-1,
  .gy-lg-1 {
    --cui-gutter-y: 0.25rem;
  }
  .g-lg-2,
  .gx-lg-2 {
    --cui-gutter-x: 0.5rem;
  }
  .g-lg-2,
  .gy-lg-2 {
    --cui-gutter-y: 0.5rem;
  }
  .g-lg-3,
  .gx-lg-3 {
    --cui-gutter-x: 1rem;
  }
  .g-lg-3,
  .gy-lg-3 {
    --cui-gutter-y: 1rem;
  }
  .g-lg-4,
  .gx-lg-4 {
    --cui-gutter-x: 1.5rem;
  }
  .g-lg-4,
  .gy-lg-4 {
    --cui-gutter-y: 1.5rem;
  }
  .g-lg-5,
  .gx-lg-5 {
    --cui-gutter-x: 3rem;
  }
  .g-lg-5,
  .gy-lg-5 {
    --cui-gutter-y: 3rem;
  }
}
@media (min-width: 1200px) {
  .col-xl {
    flex: 1 0 0;
  }
  .row-cols-xl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xl-0 {
    margin-inline-start: 0;
  }
  .offset-xl-1 {
    margin-inline-start: 8.33333333%;
  }
  .offset-xl-2 {
    margin-inline-start: 16.66666667%;
  }
  .offset-xl-3 {
    margin-inline-start: 25%;
  }
  .offset-xl-4 {
    margin-inline-start: 33.33333333%;
  }
  .offset-xl-5 {
    margin-inline-start: 41.66666667%;
  }
  .offset-xl-6 {
    margin-inline-start: 50%;
  }
  .offset-xl-7 {
    margin-inline-start: 58.33333333%;
  }
  .offset-xl-8 {
    margin-inline-start: 66.66666667%;
  }
  .offset-xl-9 {
    margin-inline-start: 75%;
  }
  .offset-xl-10 {
    margin-inline-start: 83.33333333%;
  }
  .offset-xl-11 {
    margin-inline-start: 91.66666667%;
  }
  .g-xl-0,
  .gx-xl-0 {
    --cui-gutter-x: 0;
  }
  .g-xl-0,
  .gy-xl-0 {
    --cui-gutter-y: 0;
  }
  .g-xl-1,
  .gx-xl-1 {
    --cui-gutter-x: 0.25rem;
  }
  .g-xl-1,
  .gy-xl-1 {
    --cui-gutter-y: 0.25rem;
  }
  .g-xl-2,
  .gx-xl-2 {
    --cui-gutter-x: 0.5rem;
  }
  .g-xl-2,
  .gy-xl-2 {
    --cui-gutter-y: 0.5rem;
  }
  .g-xl-3,
  .gx-xl-3 {
    --cui-gutter-x: 1rem;
  }
  .g-xl-3,
  .gy-xl-3 {
    --cui-gutter-y: 1rem;
  }
  .g-xl-4,
  .gx-xl-4 {
    --cui-gutter-x: 1.5rem;
  }
  .g-xl-4,
  .gy-xl-4 {
    --cui-gutter-y: 1.5rem;
  }
  .g-xl-5,
  .gx-xl-5 {
    --cui-gutter-x: 3rem;
  }
  .g-xl-5,
  .gy-xl-5 {
    --cui-gutter-y: 3rem;
  }
}
@media (min-width: 1400px) {
  .col-xxl {
    flex: 1 0 0;
  }
  .row-cols-xxl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xxl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xxl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xxl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xxl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xxl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xxl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xxl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xxl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xxl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xxl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xxl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xxl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xxl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xxl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xxl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xxl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xxl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xxl-0 {
    margin-inline-start: 0;
  }
  .offset-xxl-1 {
    margin-inline-start: 8.33333333%;
  }
  .offset-xxl-2 {
    margin-inline-start: 16.66666667%;
  }
  .offset-xxl-3 {
    margin-inline-start: 25%;
  }
  .offset-xxl-4 {
    margin-inline-start: 33.33333333%;
  }
  .offset-xxl-5 {
    margin-inline-start: 41.66666667%;
  }
  .offset-xxl-6 {
    margin-inline-start: 50%;
  }
  .offset-xxl-7 {
    margin-inline-start: 58.33333333%;
  }
  .offset-xxl-8 {
    margin-inline-start: 66.66666667%;
  }
  .offset-xxl-9 {
    margin-inline-start: 75%;
  }
  .offset-xxl-10 {
    margin-inline-start: 83.33333333%;
  }
  .offset-xxl-11 {
    margin-inline-start: 91.66666667%;
  }
  .g-xxl-0,
  .gx-xxl-0 {
    --cui-gutter-x: 0;
  }
  .g-xxl-0,
  .gy-xxl-0 {
    --cui-gutter-y: 0;
  }
  .g-xxl-1,
  .gx-xxl-1 {
    --cui-gutter-x: 0.25rem;
  }
  .g-xxl-1,
  .gy-xxl-1 {
    --cui-gutter-y: 0.25rem;
  }
  .g-xxl-2,
  .gx-xxl-2 {
    --cui-gutter-x: 0.5rem;
  }
  .g-xxl-2,
  .gy-xxl-2 {
    --cui-gutter-y: 0.5rem;
  }
  .g-xxl-3,
  .gx-xxl-3 {
    --cui-gutter-x: 1rem;
  }
  .g-xxl-3,
  .gy-xxl-3 {
    --cui-gutter-y: 1rem;
  }
  .g-xxl-4,
  .gx-xxl-4 {
    --cui-gutter-x: 1.5rem;
  }
  .g-xxl-4,
  .gy-xxl-4 {
    --cui-gutter-y: 1.5rem;
  }
  .g-xxl-5,
  .gx-xxl-5 {
    --cui-gutter-x: 3rem;
  }
  .g-xxl-5,
  .gy-xxl-5 {
    --cui-gutter-y: 3rem;
  }
}
.table {
  --cui-table-color-type: initial;
  --cui-table-bg-type: initial;
  --cui-table-color-state: initial;
  --cui-table-bg-state: initial;
  --cui-table-color: var(--cui-emphasis-color);
  --cui-table-bg: var(--cui-body-bg);
  --cui-table-border-color: var(--cui-border-color);
  --cui-table-accent-bg: transparent;
  --cui-table-striped-color: var(--cui-emphasis-color);
  --cui-table-striped-bg: rgba(var(--cui-emphasis-color-rgb), 0.05);
  --cui-table-active-color: var(--cui-emphasis-color);
  --cui-table-active-bg: rgba(var(--cui-emphasis-color-rgb), 0.1);
  --cui-table-hover-color: var(--cui-emphasis-color);
  --cui-table-hover-bg: rgba(var(--cui-emphasis-color-rgb), 0.075);
  width: 100%;
  margin-bottom: 1rem;
  vertical-align: top;
  border-color: var(--cui-table-border-color);
}

.table > :not(caption) > * > * {
  padding: 0.5rem 0.5rem;
  color: var(--cui-table-color-state, var(--cui-table-color-type, var(--cui-table-color)));
  background-color: var(--cui-table-bg);
  border-bottom-width: var(--cui-border-width);
  box-shadow: inset 0 0 0 9999px var(--cui-table-bg-state, var(--cui-table-bg-type, var(--cui-table-accent-bg)));
}

.table > tbody {
  vertical-align: inherit;
}

.table > thead {
  vertical-align: bottom;
}

.table-group-divider {
  border-top: calc(var(--cui-border-width) * 2) solid currentcolor;
}

.caption-top {
  caption-side: top;
}

.table-sm > :not(caption) > * > * {
  padding: 0.25rem 0.25rem;
}

.table-bordered > :not(caption) > * {
  border-width: var(--cui-border-width) 0;
}

.table-bordered > :not(caption) > * > * {
  border-width: 0 var(--cui-border-width);
}

.table-borderless > :not(caption) > * > * {
  border-bottom-width: 0;
}

.table-borderless > :not(:first-child) {
  border-top-width: 0;
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
  --cui-table-color-type: var(--cui-table-striped-color);
  --cui-table-bg-type: var(--cui-table-striped-bg);
}

.table-striped-columns > :not(caption) > tr > :nth-child(even) {
  --cui-table-color-type: var(--cui-table-striped-color);
  --cui-table-bg-type: var(--cui-table-striped-bg);
}

.table-active {
  --cui-table-color-state: var(--cui-table-active-color);
  --cui-table-bg-state: var(--cui-table-active-bg);
}

.table-hover > tbody > tr:hover > * {
  --cui-table-color-state: var(--cui-table-hover-color);
  --cui-table-bg-state: var(--cui-table-hover-bg);
}

.table-primary {
  --cui-table-color: #080a0c;
  --cui-table-bg: rgb(221.6, 221.2, 246.8);
  --cui-table-border-color: rgb(178.88, 178.96, 199.84);
  --cui-table-striped-bg: rgb(210.92, 210.64, 235.06);
  --cui-table-striped-color: #080a0c;
  --cui-table-active-bg: rgb(200.24, 200.08, 223.32);
  --cui-table-active-color: #080a0c;
  --cui-table-hover-bg: rgb(205.58, 205.36, 229.19);
  --cui-table-hover-color: #080a0c;
  color: var(--cui-table-color);
  border-color: var(--cui-table-border-color);
}

.table-secondary {
  --cui-table-color: #080a0c;
  --cui-table-bg: rgb(225.4, 227.8, 230.6);
  --cui-table-border-color: rgb(181.92, 184.24, 186.88);
  --cui-table-striped-bg: rgb(214.53, 216.91, 219.67);
  --cui-table-striped-color: #080a0c;
  --cui-table-active-bg: rgb(203.66, 206.02, 208.74);
  --cui-table-active-color: #080a0c;
  --cui-table-hover-bg: rgb(209.095, 211.465, 214.205);
  --cui-table-hover-color: #080a0c;
  color: var(--cui-table-color);
  border-color: var(--cui-table-border-color);
}

.table-success {
  --cui-table-color: #080a0c;
  --cui-table-bg: rgb(209.4, 235.6, 216.4);
  --cui-table-border-color: rgb(169.12, 190.48, 175.52);
  --cui-table-striped-bg: rgb(199.33, 224.32, 206.18);
  --cui-table-striped-color: #080a0c;
  --cui-table-active-bg: rgb(189.26, 213.04, 195.96);
  --cui-table-active-color: #080a0c;
  --cui-table-hover-bg: rgb(194.295, 218.68, 201.07);
  --cui-table-hover-color: #080a0c;
  color: var(--cui-table-color);
  border-color: var(--cui-table-border-color);
}

.table-info {
  --cui-table-color: #080a0c;
  --cui-table-bg: rgb(214.2, 234.6, 255);
  --cui-table-border-color: rgb(172.96, 189.68, 206.4);
  --cui-table-striped-bg: rgb(203.89, 223.37, 242.85);
  --cui-table-striped-color: #080a0c;
  --cui-table-active-bg: rgb(193.58, 212.14, 230.7);
  --cui-table-active-color: #080a0c;
  --cui-table-hover-bg: rgb(198.735, 217.755, 236.775);
  --cui-table-hover-color: #080a0c;
  color: var(--cui-table-color);
  border-color: var(--cui-table-border-color);
}

.table-warning {
  --cui-table-color: #080a0c;
  --cui-table-bg: rgb(253.8, 239.4, 208.2);
  --cui-table-border-color: rgb(204.64, 193.52, 168.96);
  --cui-table-striped-bg: rgb(241.51, 227.93, 198.39);
  --cui-table-striped-color: #080a0c;
  --cui-table-active-bg: rgb(229.22, 216.46, 188.58);
  --cui-table-active-color: #080a0c;
  --cui-table-hover-bg: rgb(235.365, 222.195, 193.485);
  --cui-table-hover-color: #080a0c;
  color: var(--cui-table-color);
  border-color: var(--cui-table-border-color);
}

.table-danger {
  --cui-table-color: #080a0c;
  --cui-table-bg: rgb(249.8, 220.6, 220.6);
  --cui-table-border-color: rgb(201.44, 178.48, 178.88);
  --cui-table-striped-bg: rgb(237.71, 210.07, 210.17);
  --cui-table-striped-color: #080a0c;
  --cui-table-active-bg: rgb(225.62, 199.54, 199.74);
  --cui-table-active-color: #080a0c;
  --cui-table-hover-bg: rgb(231.665, 204.805, 204.955);
  --cui-table-hover-color: #080a0c;
  color: var(--cui-table-color);
  border-color: var(--cui-table-border-color);
}

.table-light {
  --cui-table-color: #080a0c;
  --cui-table-bg: #f3f4f7;
  --cui-table-border-color: rgb(196, 197.2, 200);
  --cui-table-striped-bg: rgb(231.25, 232.3, 235.25);
  --cui-table-striped-color: #080a0c;
  --cui-table-active-bg: rgb(219.5, 220.6, 223.5);
  --cui-table-active-color: #080a0c;
  --cui-table-hover-bg: rgb(225.375, 226.45, 229.375);
  --cui-table-hover-color: #080a0c;
  color: var(--cui-table-color);
  border-color: var(--cui-table-border-color);
}

.table-dark {
  --cui-table-color: #fff;
  --cui-table-bg: #212631;
  --cui-table-border-color: rgb(77.4, 81.4, 90.2);
  --cui-table-striped-bg: rgb(44.1, 48.85, 59.3);
  --cui-table-striped-color: #fff;
  --cui-table-active-bg: rgb(55.2, 59.7, 69.6);
  --cui-table-active-color: #fff;
  --cui-table-hover-bg: rgb(49.65, 54.275, 64.45);
  --cui-table-hover-color: #fff;
  color: var(--cui-table-color);
  border-color: var(--cui-table-border-color);
}

.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 575.98px) {
  .table-responsive-sm {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 767.98px) {
  .table-responsive-md {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 991.98px) {
  .table-responsive-lg {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 1199.98px) {
  .table-responsive-xl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 1399.98px) {
  .table-responsive-xxl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
.form-label {
  margin-bottom: 0.5rem;
}

.col-form-label {
  padding-top: calc(0.375rem + var(--cui-border-width));
  padding-bottom: calc(0.375rem + var(--cui-border-width));
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5;
}

.col-form-label-lg {
  padding-top: calc(0.5rem + var(--cui-border-width));
  padding-bottom: calc(0.5rem + var(--cui-border-width));
  font-size: 1.25rem;
}

.col-form-label-sm {
  padding-top: calc(0.25rem + var(--cui-border-width));
  padding-bottom: calc(0.25rem + var(--cui-border-width));
  font-size: 0.875rem;
}

.form-text {
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--cui-secondary-color);
}

.form-control {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--cui-body-color);
  appearance: none;
  background-color: var(--cui-body-bg);
  background-clip: padding-box;
  border: var(--cui-border-width) solid var(--cui-border-color);
  border-radius: var(--cui-border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .form-control {
    transition: none;
  }
}
.form-control[type=file] {
  overflow: hidden;
}

.form-control[type=file]:not(:disabled):not([readonly]) {
  cursor: pointer;
}

.form-control:focus {
  color: var(--cui-body-color);
  background-color: var(--cui-body-bg);
  border-color: rgb(171.5, 170.5, 234.5);
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(88, 86, 214, 0.25);
}

.form-control::-webkit-date-and-time-value {
  min-width: 85px;
  height: 1.5em;
  margin: 0;
}

.form-control::-webkit-datetime-edit {
  display: block;
  padding: 0;
}

.form-control::placeholder {
  color: var(--cui-input-placeholder-color, var(--cui-secondary-color));
  opacity: 1;
}

.form-control:disabled {
  background-color: var(--cui-secondary-bg);
  opacity: 1;
}

.form-control::file-selector-button {
  padding: 0.375rem 0.75rem;
  margin: -0.375rem -0.75rem;
  margin-inline-end: 0.75rem;
  color: var(--cui-body-color);
  background-color: var(--cui-tertiary-bg);
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: var(--cui-border-width);
  border-radius: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .form-control::file-selector-button {
    transition: none;
  }
}
.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color: var(--cui-secondary-bg);
}

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.375rem 0;
  margin-bottom: 0;
  line-height: 1.5;
  color: var(--cui-body-color);
  background-color: transparent;
  border: solid transparent;
  border-width: var(--cui-border-width) 0;
}

.form-control-plaintext:focus {
  outline: 0;
}

.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
  padding-right: 0;
  padding-left: 0;
}

.form-control-sm {
  min-height: calc(1.5em + 0.5rem + calc(var(--cui-border-width) * 2));
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--cui-border-radius-sm);
}

.form-control-sm::file-selector-button {
  padding: 0.25rem 0.5rem;
  margin: -0.25rem -0.5rem;
  margin-inline-end: 0.5rem;
}

.form-control-lg {
  min-height: calc(1.5em + 1rem + calc(var(--cui-border-width) * 2));
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  border-radius: var(--cui-border-radius-lg);
}

.form-control-lg::file-selector-button {
  padding: 0.5rem 1rem;
  margin: -0.5rem -1rem;
  margin-inline-end: 1rem;
}

textarea.form-control {
  min-height: calc(1.5em + 0.75rem + calc(var(--cui-border-width) * 2));
}

textarea.form-control-sm {
  min-height: calc(1.5em + 0.5rem + calc(var(--cui-border-width) * 2));
}

textarea.form-control-lg {
  min-height: calc(1.5em + 1rem + calc(var(--cui-border-width) * 2));
}

.form-control-color {
  width: 3rem;
  height: calc(1.5em + 0.75rem + calc(var(--cui-border-width) * 2));
  padding: 0.375rem;
}

.form-control-color:not(:disabled):not([readonly]) {
  cursor: pointer;
}

.form-control-color::-moz-color-swatch {
  border: 0 !important;
  border-radius: var(--cui-border-radius);
}

.form-control-color::-webkit-color-swatch {
  border: 0 !important;
  border-radius: var(--cui-border-radius);
}

.form-control-color.form-control-sm {
  height: calc(1.5em + 0.5rem + calc(var(--cui-border-width) * 2));
}

.form-control-color.form-control-lg {
  height: calc(1.5em + 1rem + calc(var(--cui-border-width) * 2));
}

.form-select {
  --cui-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23323a49%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e");
  display: block;
  width: 100%;
  padding-inline-start: 0.75rem;
  padding-inline-end: 2.25rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--cui-body-color);
  appearance: none;
  background-color: var(--cui-body-bg);
  background-image: var(--cui-form-select-bg-img), var(--cui-form-select-bg-icon, none);
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  border: var(--cui-border-width) solid var(--cui-border-color);
  border-radius: var(--cui-border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .form-select {
    transition: none;
  }
}
.form-select:focus {
  border-color: rgb(171.5, 170.5, 234.5);
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(88, 86, 214, 0.25);
}

.form-select[multiple], .form-select[size]:not([size="1"]) {
  padding-inline-end: 0.75rem;
  background-image: none;
}

.form-select:disabled {
  background-color: var(--cui-secondary-bg);
}

.form-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 var(--cui-body-color);
}

.form-select-sm {
  padding-inline-start: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.875rem;
  border-radius: var(--cui-border-radius-sm);
}

.form-select-lg {
  padding-inline-start: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 1.25rem;
  border-radius: var(--cui-border-radius-lg);
}

[data-coreui-theme=dark] .form-select {
  --cui-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27rgba%28255, 255, 255, 0.87%29%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e");
}

.form-check {
  display: block;
  min-height: 1.5rem;
  padding-inline-start: 1.5em;
  margin-bottom: 0.125rem;
}

.form-check .form-check-input {
  float: inline-start;
  margin-inline-start: -1.5em;
}

.form-check-reverse {
  padding-inline: 0 1.5em;
  text-align: end;
}

.form-check-reverse .form-check-input {
  float: inline-end;
  margin-inline: 0 -1.5em;
}

.form-check-input {
  --cui-form-check-bg: var(--cui-body-bg);
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  margin-top: 0.25em;
  vertical-align: top;
  appearance: none;
  background-color: var(--cui-form-check-bg);
  background-image: var(--cui-form-check-bg-image);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: var(--cui-border-width) solid var(--cui-border-color);
  print-color-adjust: exact;
}

.form-check-input[type=checkbox] {
  border-radius: 0.25em;
}

.form-check-input[type=radio] {
  border-radius: 50%;
}

.form-check-input:active {
  filter: brightness(90%);
}

.form-check-input:focus {
  border-color: rgb(171.5, 170.5, 234.5);
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(88, 86, 214, 0.25);
}

.form-check-input:checked {
  background-color: var(--cui-form-check-input-checked-bg-color, var(--cui-primary));
  border-color: var(--cui-form-check-input-checked-border-color, var(--cui-primary));
}

.form-check-input:checked[type=checkbox] {
  --cui-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27rgba%28255, 255, 255, 0.87%29%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27m6 10 3 3 6-6%27/%3e%3c/svg%3e");
}

.form-check-input:checked[type=radio] {
  --cui-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%272%27 fill=%27rgba%28255, 255, 255, 0.87%29%27/%3e%3c/svg%3e");
}

.form-check-input[type=checkbox]:indeterminate {
  background-color: var(--cui-primary);
  border-color: var(--cui-primary);
  --cui-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27rgba%28255, 255, 255, 0.87%29%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27M6 10h8%27/%3e%3c/svg%3e");
}

.form-check-input:disabled {
  pointer-events: none;
  filter: none;
  opacity: 0.5;
}

.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
  cursor: default;
  opacity: 0.5;
}

.form-check-label {
  color: var(--cui-form-check-label-color, );
}

.form-switch {
  padding-inline-start: 2.5em;
}

.form-switch .form-check-input {
  --cui-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27rgba%288, 10, 12, 0.25%29%27/%3e%3c/svg%3e");
  width: 2em;
  margin-inline-start: -2.5em;
  background-image: var(--cui-form-switch-bg);
  background-position: left center;
  border-radius: 2em;
  transition: background-position 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .form-switch .form-check-input {
    transition: none;
  }
}
.form-switch .form-check-input:focus {
  --cui-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27rgb%28171.5, 170.5, 234.5%29%27/%3e%3c/svg%3e");
}

.form-switch .form-check-input:checked {
  background-position: right center;
  --cui-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27rgba%28255, 255, 255, 0.87%29%27/%3e%3c/svg%3e");
}

.form-switch.form-check-reverse {
  padding-inline: 0 2.5em;
}

.form-switch.form-check-reverse .form-check-input {
  margin-inline: 0 -2.5em;
}

.form-switch-lg {
  min-height: 1.25em;
  padding-inline-start: 3em;
}

.form-switch-lg .form-check-input {
  width: 2.5em;
  height: 1.25em;
  margin-inline-start: -3em;
}

.form-switch-lg .form-check-label {
  padding-top: calc((1.25em - 1rem) / 2);
}

.form-switch-xl {
  min-height: 1.5em;
  padding-inline-start: 3.5em;
}

.form-switch-xl .form-check-input {
  width: 3em;
  height: 1.5em;
  margin-inline-start: -3.5em;
}

.form-switch-xl .form-check-label {
  padding-top: calc((1.5em - 1rem) / 2);
}

.form-check-inline {
  display: inline-block;
  margin-inline-end: 1rem;
}

.btn-check {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}

.btn-check[disabled] + .btn, .btn-check:disabled + .btn {
  pointer-events: none;
  filter: none;
  opacity: 0.65;
}

[data-coreui-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus) {
  --cui-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27rgba%28255, 255, 255, 0.25%29%27/%3e%3c/svg%3e");
}

.form-range {
  width: 100%;
  height: 1.5rem;
  padding: 0;
  appearance: none;
  background-color: transparent;
}

.form-range:focus {
  outline: 0;
}

.form-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(88, 86, 214, 0.25);
}

.form-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(88, 86, 214, 0.25);
}

.form-range::-moz-focus-outer {
  border: 0;
}

.form-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  appearance: none;
  background-color: var(--cui-primary);
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .form-range::-webkit-slider-thumb {
    transition: none;
  }
}
.form-range::-webkit-slider-thumb:active {
  background-color: rgb(204.9, 204.3, 242.7);
}

.form-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--cui-secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
}

.form-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  appearance: none;
  background-color: var(--cui-primary);
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .form-range::-moz-range-thumb {
    transition: none;
  }
}
.form-range::-moz-range-thumb:active {
  background-color: rgb(204.9, 204.3, 242.7);
}

.form-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--cui-secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
}

.form-range:disabled {
  pointer-events: none;
}

.form-range:disabled::-webkit-slider-thumb {
  background-color: var(--cui-secondary-color);
}

.form-range:disabled::-moz-range-thumb {
  background-color: var(--cui-secondary-color);
}

.form-floating {
  position: relative;
}

.form-floating > .form-control,
.form-floating > .form-control-plaintext,
.form-floating > .form-select {
  height: calc(3.5rem + calc(var(--cui-border-width) * 2));
  min-height: calc(3.5rem + calc(var(--cui-border-width) * 2));
  line-height: 1.25;
}

.form-floating > label {
  position: absolute;
  inset-inline-start: 0;
  top: 0;
  z-index: 2;
  max-width: 100%;
  height: 100%;
  padding: 1rem 0.75rem;
  overflow: hidden;
  color: rgba(var(--cui-body-color-rgb), 0.65);
  text-align: start;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  border: var(--cui-border-width) solid transparent;
  transform-origin: 0 0;
  transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .form-floating > label {
    transition: none;
  }
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext {
  padding: 1rem 0.75rem;
}

.form-floating > .form-control::placeholder,
.form-floating > .form-control-plaintext::placeholder {
  color: transparent;
}

.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),
.form-floating > .form-control-plaintext:focus,
.form-floating > .form-control-plaintext:not(:placeholder-shown) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}

.form-floating > .form-control:-webkit-autofill,
.form-floating > .form-control-plaintext:-webkit-autofill {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}

.form-floating > .form-select {
  padding-inline-start: 0.75rem;
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}

.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-control-plaintext ~ label,
.form-floating > .form-select ~ label {
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}

.form-floating > .form-control:-webkit-autofill ~ label {
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}

.form-floating > textarea:focus ~ label::after,
.form-floating > textarea:not(:placeholder-shown) ~ label::after {
  position: absolute;
  inset: 1rem 0.375rem;
  z-index: -1;
  height: 1.5em;
  content: "";
  background-color: var(--cui-body-bg);
  border-radius: var(--cui-border-radius);
}

.form-floating > textarea:disabled ~ label::after {
  background-color: var(--cui-secondary-bg);
}

.form-floating > .form-control-plaintext ~ label {
  border-width: var(--cui-border-width) 0;
}

.form-floating > :disabled ~ label,
.form-floating > .form-control:disabled ~ label {
  color: #6d7d9c;
}

.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}

.input-group > .form-control,
.input-group > .form-select,
.input-group > .form-floating {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}

.input-group > .form-control:focus,
.input-group > .form-select:focus,
.input-group > .form-floating:focus-within {
  z-index: 5;
}

.input-group .btn {
  position: relative;
  z-index: 2;
}

.input-group .btn:focus {
  z-index: 5;
}

.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--cui-input-group-addon-color, var(--cui-body-color));
  text-align: center;
  white-space: nowrap;
  background-color: var(--cui-input-group-addon-bg, var(--cui-tertiary-bg));
  border: var(--cui-border-width) solid var(--cui-input-group-addon-border-color, var(--cui-border-color));
  border-radius: var(--cui-border-radius);
}

.input-group-lg > .form-control,
.input-group-lg > .form-select,
.input-group-lg > .input-group-text,
.input-group-lg > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  border-radius: var(--cui-border-radius-lg);
}

.input-group-sm > .form-control,
.input-group-sm > .form-select,
.input-group-sm > .input-group-text,
.input-group-sm > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--cui-border-radius-sm);
}

.input-group-lg > .form-select,
.input-group-sm > .form-select {
  padding-inline-end: 3rem;
}

.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {
  border-start-end-radius: 0;
  border-end-end-radius: 0;
}

.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {
  border-start-end-radius: 0;
  border-end-end-radius: 0;
}

.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
  margin-inline-start: calc(-1 * var(--cui-border-width));
  border-start-start-radius: 0;
  border-end-start-radius: 0;
}

.input-group > .form-floating:not(:first-child) > .form-control,
.input-group > .form-floating:not(:first-child) > .form-select {
  border-start-start-radius: 0;
  border-end-start-radius: 0;
}

.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--cui-form-valid-color);
}

.valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  color: #fff;
  background-color: var(--cui-success);
  border-radius: var(--cui-border-radius);
}

.was-validated :valid ~ .valid-feedback,
.was-validated :valid ~ .valid-tooltip,
.is-valid ~ .valid-feedback,
.is-valid ~ .valid-tooltip {
  display: block;
}

.was-validated .form-control:valid, .form-control.is-valid {
  border-color: var(--cui-form-valid-border-color);
  padding-inline-end: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 8 8%27%3e%3cpath fill=%27%231b9e3e%27 d=%27M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
  border-color: var(--cui-form-valid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--cui-success-rgb), 0.25);
}

.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
  padding-inline-end: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.was-validated .form-select:valid, .form-select.is-valid {
  border-color: var(--cui-form-valid-border-color);
}

.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] {
  --cui-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 8 8%27%3e%3cpath fill=%27%231b9e3e%27 d=%27M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1%27/%3e%3c/svg%3e");
  padding-inline-end: 4.125rem;
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
  border-color: var(--cui-form-valid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--cui-success-rgb), 0.25);
}

.was-validated .form-control-color:valid, .form-control-color.is-valid {
  width: calc(3rem + calc(1.5em + 0.75rem));
}

.was-validated .form-check-input:valid, .form-check-input.is-valid {
  border-color: var(--cui-form-valid-border-color);
}

.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
  background-color: var(--cui-form-valid-color);
}

.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--cui-success-rgb), 0.25);
}

.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: var(--cui-form-valid-color);
}

.form-check-inline .form-check-input ~ .valid-feedback {
  margin-inline-start: 0.5em;
}

.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,
.was-validated .input-group > .form-select:not(:focus):valid,
.input-group > .form-select:not(:focus).is-valid,
.was-validated .input-group > .form-floating:not(:focus-within):valid,
.input-group > .form-floating:not(:focus-within).is-valid {
  z-index: 3;
}

.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--cui-form-invalid-color);
}

.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  color: #fff;
  background-color: var(--cui-danger);
  border-radius: var(--cui-border-radius);
}

.was-validated :invalid ~ .invalid-feedback,
.was-validated :invalid ~ .invalid-tooltip,
.is-invalid ~ .invalid-feedback,
.is-invalid ~ .invalid-tooltip {
  display: block;
}

.was-validated .form-control:invalid, .form-control.is-invalid {
  border-color: var(--cui-form-invalid-border-color);
  padding-inline-end: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 12%27 width=%2712%27 height=%2712%27 fill=%27none%27 stroke=%27%23e55353%27%3e%3ccircle cx=%276%27 cy=%276%27 r=%274.5%27/%3e%3cpath stroke-linejoin=%27round%27 d=%27M5.8 3.6h.4L6 6.5z%27/%3e%3ccircle cx=%276%27 cy=%278.2%27 r=%27.6%27 fill=%27%23e55353%27 stroke=%27none%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
  border-color: var(--cui-form-invalid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--cui-danger-rgb), 0.25);
}

.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
  padding-inline-end: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.was-validated .form-select:invalid, .form-select.is-invalid {
  border-color: var(--cui-form-invalid-border-color);
}

.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] {
  --cui-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 12%27 width=%2712%27 height=%2712%27 fill=%27none%27 stroke=%27%23e55353%27%3e%3ccircle cx=%276%27 cy=%276%27 r=%274.5%27/%3e%3cpath stroke-linejoin=%27round%27 d=%27M5.8 3.6h.4L6 6.5z%27/%3e%3ccircle cx=%276%27 cy=%278.2%27 r=%27.6%27 fill=%27%23e55353%27 stroke=%27none%27/%3e%3c/svg%3e");
  padding-inline-end: 4.125rem;
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
  border-color: var(--cui-form-invalid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--cui-danger-rgb), 0.25);
}

.was-validated .form-control-color:invalid, .form-control-color.is-invalid {
  width: calc(3rem + calc(1.5em + 0.75rem));
}

.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
  border-color: var(--cui-form-invalid-border-color);
}

.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
  background-color: var(--cui-form-invalid-color);
}

.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--cui-danger-rgb), 0.25);
}

.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: var(--cui-form-invalid-color);
}

.form-check-inline .form-check-input ~ .invalid-feedback {
  margin-inline-start: 0.5em;
}

.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,
.was-validated .input-group > .form-select:not(:focus):invalid,
.input-group > .form-select:not(:focus).is-invalid,
.was-validated .input-group > .form-floating:not(:focus-within):invalid,
.input-group > .form-floating:not(:focus-within).is-invalid {
  z-index: 4;
}

.btn {
  --cui-btn-padding-x: 0.75rem;
  --cui-btn-padding-y: 0.375rem;
  --cui-btn-font-family: ;
  --cui-btn-font-size: 1rem;
  --cui-btn-font-weight: 400;
  --cui-btn-line-height: 1.5;
  --cui-btn-color: var(--cui-body-color);
  --cui-btn-bg: transparent;
  --cui-btn-border-width: var(--cui-border-width);
  --cui-btn-border-color: transparent;
  --cui-btn-border-radius: var(--cui-border-radius);
  --cui-btn-hover-border-color: transparent;
  --cui-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(8, 10, 12, 0.075);
  --cui-btn-disabled-opacity: 0.65;
  --cui-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--cui-btn-focus-shadow-rgb), .5);
  display: inline-block;
  padding: var(--cui-btn-padding-y) var(--cui-btn-padding-x);
  font-family: var(--cui-btn-font-family);
  font-size: var(--cui-btn-font-size);
  font-weight: var(--cui-btn-font-weight);
  line-height: var(--cui-btn-line-height);
  color: var(--cui-btn-color);
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  border: var(--cui-btn-border-width) solid var(--cui-btn-border-color);
  border-radius: var(--cui-btn-border-radius);
  background-color: var(--cui-btn-bg);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .btn {
    transition: none;
  }
}
.btn:hover {
  color: var(--cui-btn-hover-color);
  background-color: var(--cui-btn-hover-bg);
  border-color: var(--cui-btn-hover-border-color);
}

.btn-check + .btn:hover {
  color: var(--cui-btn-color);
  background-color: var(--cui-btn-bg);
  border-color: var(--cui-btn-border-color);
}

.btn:focus-visible {
  color: var(--cui-btn-hover-color);
  background-color: var(--cui-btn-hover-bg);
  border-color: var(--cui-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--cui-btn-focus-box-shadow);
}

.btn-check:focus-visible + .btn {
  border-color: var(--cui-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--cui-btn-focus-box-shadow);
}

.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {
  color: var(--cui-btn-active-color);
  background-color: var(--cui-btn-active-bg);
  border-color: var(--cui-btn-active-border-color);
}

.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible {
  box-shadow: var(--cui-btn-focus-box-shadow);
}

.btn-check:checked:focus-visible + .btn {
  box-shadow: var(--cui-btn-focus-box-shadow);
}

.btn:disabled, .btn.disabled, fieldset:disabled .btn {
  color: var(--cui-btn-disabled-color);
  pointer-events: none;
  background-color: var(--cui-btn-disabled-bg);
  border-color: var(--cui-btn-disabled-border-color);
  opacity: var(--cui-btn-disabled-opacity);
}

.btn-ghost {
  --cui-btn-color: var(--cui-secondary-color);
  --cui-btn-border-color: transparent;
  --cui-btn-active-color: var(--cui-body-color);
  --cui-btn-active-bg: var(--cui-tertiary-bg);
  --cui-btn-active-border-color: var(--cui-tertiary-bg);
  --cui-btn-disabled-color: var(--cui-secondary-color);
  --cui-btn-disabled-border-color: transparent;
  --cui-btn-hover-color: var(--cui-body-color);
  --cui-btn-hover-bg: var(--cui-tertiary-bg);
  --cui-btn-hover-border-color: var(--cui-tertiary-bg);
  --cui-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--cui-tertiary-bg-rgb), .5);
}

.btn-outline {
  --cui-btn-color: var(--cui-secondary-color);
  --cui-btn-border-color: var(--cui-border-color);
  --cui-btn-active-color: var(--cui-body-color);
  --cui-btn-active-bg: var(--cui-tertiary-bg);
  --cui-btn-active-border-color: var(--cui-border-color);
  --cui-btn-disabled-color: var(--cui-secondary-color);
  --cui-btn-disabled-border-color: var(--cui-border-color);
  --cui-btn-hover-color: var(--cui-body-color);
  --cui-btn-hover-bg: var(--cui-tertiary-bg);
  --cui-btn-hover-border-color: var(--cui-border-color);
  --cui-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--cui-tertiary-bg-rgb), .5);
}

.btn-transparent {
  --cui-btn-active-border-color: transparent;
  --cui-btn-disabled-border-color: transparent;
  --cui-btn-hover-border-color: transparent;
}

.btn-primary {
  --cui-btn-color: #fff;
  --cui-btn-bg: #5856d6;
  --cui-btn-border-color: #5856d6;
  --cui-btn-hover-color: #fff;
  --cui-btn-hover-bg: rgb(74.8, 73.1, 181.9);
  --cui-btn-hover-border-color: rgb(70.4, 68.8, 171.2);
  --cui-btn-focus-shadow-rgb: 113.05, 111.35, 220.15;
  --cui-btn-active-color: #fff;
  --cui-btn-active-bg: rgb(70.4, 68.8, 171.2);
  --cui-btn-active-border-color: rgb(66, 64.5, 160.5);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #fff;
  --cui-btn-disabled-bg: #5856d6;
  --cui-btn-disabled-border-color: #5856d6;
}

.btn-secondary {
  --cui-btn-color: #fff;
  --cui-btn-bg: #6b7785;
  --cui-btn-border-color: #6b7785;
  --cui-btn-hover-color: #fff;
  --cui-btn-hover-bg: rgb(90.95, 101.15, 113.05);
  --cui-btn-hover-border-color: rgb(85.6, 95.2, 106.4);
  --cui-btn-focus-shadow-rgb: 129.2, 139.4, 151.3;
  --cui-btn-active-color: #fff;
  --cui-btn-active-bg: rgb(85.6, 95.2, 106.4);
  --cui-btn-active-border-color: rgb(80.25, 89.25, 99.75);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #fff;
  --cui-btn-disabled-bg: #6b7785;
  --cui-btn-disabled-border-color: #6b7785;
}

.btn-success {
  --cui-btn-color: #080a0c;
  --cui-btn-bg: #1b9e3e;
  --cui-btn-border-color: #1b9e3e;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: rgb(61.2, 172.55, 90.95);
  --cui-btn-hover-border-color: rgb(49.8, 167.7, 81.3);
  --cui-btn-focus-shadow-rgb: 24.15, 135.8, 54.5;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: rgb(72.6, 177.4, 100.6);
  --cui-btn-active-border-color: rgb(49.8, 167.7, 81.3);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #080a0c;
  --cui-btn-disabled-bg: #1b9e3e;
  --cui-btn-disabled-border-color: #1b9e3e;
}

.btn-info {
  --cui-btn-color: #080a0c;
  --cui-btn-bg: #39f;
  --cui-btn-border-color: #39f;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: rgb(81.6, 168.3, 255);
  --cui-btn-hover-border-color: rgb(71.4, 163.2, 255);
  --cui-btn-focus-shadow-rgb: 44.55, 131.55, 218.55;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: rgb(91.8, 173.4, 255);
  --cui-btn-active-border-color: rgb(71.4, 163.2, 255);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #080a0c;
  --cui-btn-disabled-bg: #39f;
  --cui-btn-disabled-border-color: #39f;
}

.btn-warning {
  --cui-btn-color: #080a0c;
  --cui-btn-bg: #f9b115;
  --cui-btn-border-color: #f9b115;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: rgb(249.9, 188.7, 56.1);
  --cui-btn-hover-border-color: rgb(249.6, 184.8, 44.4);
  --cui-btn-focus-shadow-rgb: 212.85, 151.95, 19.65;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: rgb(250.2, 192.6, 67.8);
  --cui-btn-active-border-color: rgb(249.6, 184.8, 44.4);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #080a0c;
  --cui-btn-disabled-bg: #f9b115;
  --cui-btn-disabled-border-color: #f9b115;
}

.btn-danger {
  --cui-btn-color: #080a0c;
  --cui-btn-bg: #e55353;
  --cui-btn-border-color: #e55353;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: rgb(232.9, 108.8, 108.8);
  --cui-btn-hover-border-color: rgb(231.6, 100.2, 100.2);
  --cui-btn-focus-shadow-rgb: 195.85, 72.05, 72.35;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: rgb(234.2, 117.4, 117.4);
  --cui-btn-active-border-color: rgb(231.6, 100.2, 100.2);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #080a0c;
  --cui-btn-disabled-bg: #e55353;
  --cui-btn-disabled-border-color: #e55353;
}

.btn-light {
  --cui-btn-color: #080a0c;
  --cui-btn-bg: #f3f4f7;
  --cui-btn-border-color: #f3f4f7;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: rgb(206.55, 207.4, 209.95);
  --cui-btn-hover-border-color: rgb(194.4, 195.2, 197.6);
  --cui-btn-focus-shadow-rgb: 207.75, 208.9, 211.75;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: rgb(194.4, 195.2, 197.6);
  --cui-btn-active-border-color: rgb(182.25, 183, 185.25);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #080a0c;
  --cui-btn-disabled-bg: #f3f4f7;
  --cui-btn-disabled-border-color: #f3f4f7;
}

.btn-dark {
  --cui-btn-color: #fff;
  --cui-btn-bg: #212631;
  --cui-btn-border-color: #212631;
  --cui-btn-hover-color: #fff;
  --cui-btn-hover-bg: rgb(66.3, 70.55, 79.9);
  --cui-btn-hover-border-color: rgb(55.2, 59.7, 69.6);
  --cui-btn-focus-shadow-rgb: 66.3, 70.55, 79.9;
  --cui-btn-active-color: #fff;
  --cui-btn-active-bg: rgb(77.4, 81.4, 90.2);
  --cui-btn-active-border-color: rgb(55.2, 59.7, 69.6);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #fff;
  --cui-btn-disabled-bg: #212631;
  --cui-btn-disabled-border-color: #212631;
}

.btn-outline-primary {
  --cui-btn-color: #5856d6;
  --cui-btn-border-color: #5856d6;
  --cui-btn-hover-color: #fff;
  --cui-btn-hover-bg: #5856d6;
  --cui-btn-hover-border-color: #5856d6;
  --cui-btn-focus-shadow-rgb: 88, 86, 214;
  --cui-btn-active-color: #fff;
  --cui-btn-active-bg: #5856d6;
  --cui-btn-active-border-color: #5856d6;
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #5856d6;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: #5856d6;
  --cui-gradient: none;
}

.btn-outline-secondary {
  --cui-btn-color: #6b7785;
  --cui-btn-border-color: #6b7785;
  --cui-btn-hover-color: #fff;
  --cui-btn-hover-bg: #6b7785;
  --cui-btn-hover-border-color: #6b7785;
  --cui-btn-focus-shadow-rgb: 107, 119, 133;
  --cui-btn-active-color: #fff;
  --cui-btn-active-bg: #6b7785;
  --cui-btn-active-border-color: #6b7785;
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #6b7785;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: #6b7785;
  --cui-gradient: none;
}

.btn-outline-success {
  --cui-btn-color: #1b9e3e;
  --cui-btn-border-color: #1b9e3e;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: #1b9e3e;
  --cui-btn-hover-border-color: #1b9e3e;
  --cui-btn-focus-shadow-rgb: 27, 158, 62;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: #1b9e3e;
  --cui-btn-active-border-color: #1b9e3e;
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #1b9e3e;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: #1b9e3e;
  --cui-gradient: none;
}

.btn-outline-info {
  --cui-btn-color: #39f;
  --cui-btn-border-color: #39f;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: #39f;
  --cui-btn-hover-border-color: #39f;
  --cui-btn-focus-shadow-rgb: 51, 153, 255;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: #39f;
  --cui-btn-active-border-color: #39f;
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #39f;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: #39f;
  --cui-gradient: none;
}

.btn-outline-warning {
  --cui-btn-color: #f9b115;
  --cui-btn-border-color: #f9b115;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: #f9b115;
  --cui-btn-hover-border-color: #f9b115;
  --cui-btn-focus-shadow-rgb: 249, 177, 21;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: #f9b115;
  --cui-btn-active-border-color: #f9b115;
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #f9b115;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: #f9b115;
  --cui-gradient: none;
}

.btn-outline-danger {
  --cui-btn-color: #e55353;
  --cui-btn-border-color: #e55353;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: #e55353;
  --cui-btn-hover-border-color: #e55353;
  --cui-btn-focus-shadow-rgb: 229, 83, 83;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: #e55353;
  --cui-btn-active-border-color: #e55353;
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #e55353;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: #e55353;
  --cui-gradient: none;
}

.btn-outline-light {
  --cui-btn-color: #f3f4f7;
  --cui-btn-border-color: #f3f4f7;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: #f3f4f7;
  --cui-btn-hover-border-color: #f3f4f7;
  --cui-btn-focus-shadow-rgb: 243, 244, 247;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: #f3f4f7;
  --cui-btn-active-border-color: #f3f4f7;
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #f3f4f7;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: #f3f4f7;
  --cui-gradient: none;
}

.btn-outline-dark {
  --cui-btn-color: #212631;
  --cui-btn-border-color: #212631;
  --cui-btn-hover-color: #fff;
  --cui-btn-hover-bg: #212631;
  --cui-btn-hover-border-color: #212631;
  --cui-btn-focus-shadow-rgb: 33, 38, 49;
  --cui-btn-active-color: #fff;
  --cui-btn-active-bg: #212631;
  --cui-btn-active-border-color: #212631;
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #212631;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: #212631;
  --cui-gradient: none;
}

.btn-ghost-primary {
  --cui-btn-color: #5856d6;
  --cui-btn-border-color: transparent;
  --cui-btn-hover-bg: #5856d6;
  --cui-btn-hover-border-color: #5856d6;
  --cui-btn-hover-color: #fff;
  --cui-btn-active-bg: #5856d6;
  --cui-btn-active-border-color: #5856d6;
  --cui-btn-active-color: #fff;
  --cui-btn-disabled-color: #5856d6;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: transparent;
}

.btn-ghost-secondary {
  --cui-btn-color: #6b7785;
  --cui-btn-border-color: transparent;
  --cui-btn-hover-bg: #6b7785;
  --cui-btn-hover-border-color: #6b7785;
  --cui-btn-hover-color: #fff;
  --cui-btn-active-bg: #6b7785;
  --cui-btn-active-border-color: #6b7785;
  --cui-btn-active-color: #fff;
  --cui-btn-disabled-color: #6b7785;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: transparent;
}

.btn-ghost-success {
  --cui-btn-color: #1b9e3e;
  --cui-btn-border-color: transparent;
  --cui-btn-hover-bg: #1b9e3e;
  --cui-btn-hover-border-color: #1b9e3e;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-active-bg: #1b9e3e;
  --cui-btn-active-border-color: #1b9e3e;
  --cui-btn-active-color: #080a0c;
  --cui-btn-disabled-color: #1b9e3e;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: transparent;
}

.btn-ghost-info {
  --cui-btn-color: #39f;
  --cui-btn-border-color: transparent;
  --cui-btn-hover-bg: #39f;
  --cui-btn-hover-border-color: #39f;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-active-bg: #39f;
  --cui-btn-active-border-color: #39f;
  --cui-btn-active-color: #080a0c;
  --cui-btn-disabled-color: #39f;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: transparent;
}

.btn-ghost-warning {
  --cui-btn-color: #f9b115;
  --cui-btn-border-color: transparent;
  --cui-btn-hover-bg: #f9b115;
  --cui-btn-hover-border-color: #f9b115;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-active-bg: #f9b115;
  --cui-btn-active-border-color: #f9b115;
  --cui-btn-active-color: #080a0c;
  --cui-btn-disabled-color: #f9b115;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: transparent;
}

.btn-ghost-danger {
  --cui-btn-color: #e55353;
  --cui-btn-border-color: transparent;
  --cui-btn-hover-bg: #e55353;
  --cui-btn-hover-border-color: #e55353;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-active-bg: #e55353;
  --cui-btn-active-border-color: #e55353;
  --cui-btn-active-color: #080a0c;
  --cui-btn-disabled-color: #e55353;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: transparent;
}

.btn-ghost-light {
  --cui-btn-color: #f3f4f7;
  --cui-btn-border-color: transparent;
  --cui-btn-hover-bg: #f3f4f7;
  --cui-btn-hover-border-color: #f3f4f7;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-active-bg: #f3f4f7;
  --cui-btn-active-border-color: #f3f4f7;
  --cui-btn-active-color: #080a0c;
  --cui-btn-disabled-color: #f3f4f7;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: transparent;
}

.btn-ghost-dark {
  --cui-btn-color: #212631;
  --cui-btn-border-color: transparent;
  --cui-btn-hover-bg: #212631;
  --cui-btn-hover-border-color: #212631;
  --cui-btn-hover-color: #fff;
  --cui-btn-active-bg: #212631;
  --cui-btn-active-border-color: #212631;
  --cui-btn-active-color: #fff;
  --cui-btn-disabled-color: #212631;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: transparent;
}

.btn-link {
  --cui-btn-font-weight: 400;
  --cui-btn-color: var(--cui-link-color);
  --cui-btn-bg: transparent;
  --cui-btn-border-color: transparent;
  --cui-btn-hover-color: var(--cui-link-hover-color);
  --cui-btn-hover-border-color: transparent;
  --cui-btn-active-border-color: transparent;
  --cui-btn-disabled-color: #6d7d9c;
  --cui-btn-disabled-border-color: transparent;
  --cui-btn-box-shadow: none;
  --cui-btn-focus-shadow-rgb: 113.05, 111.35, 220.15;
  text-decoration: underline;
}

.btn-link:focus-visible {
  color: var(--cui-btn-color);
}

.btn-lg, .btn-group-lg > .btn {
  --cui-btn-padding-y: 0.5rem;
  --cui-btn-padding-x: 1rem;
  --cui-btn-font-size: 1.25rem;
  --cui-btn-border-radius: var(--cui-border-radius-lg);
}

.btn-sm, .btn-group-sm > .btn {
  --cui-btn-padding-y: 0.25rem;
  --cui-btn-padding-x: 0.5rem;
  --cui-btn-font-size: 0.875rem;
  --cui-btn-border-radius: var(--cui-border-radius-sm);
}

[data-coreui-theme=dark] .btn-primary {
  --cui-btn-color: #fff;
  --cui-btn-bg: rgb(94.2, 92.4, 207.6);
  --cui-btn-border-color: rgb(94.2, 92.4, 207.6);
  --cui-btn-hover-color: #fff;
  --cui-btn-hover-bg: rgb(80.07, 78.54, 176.46);
  --cui-btn-hover-border-color: rgb(75.36, 73.92, 166.08);
  --cui-btn-focus-shadow-rgb: 118.32, 116.79, 214.71;
  --cui-btn-active-color: #fff;
  --cui-btn-active-bg: rgb(75.36, 73.92, 166.08);
  --cui-btn-active-border-color: rgb(70.65, 69.3, 155.7);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #fff;
  --cui-btn-disabled-bg: rgb(94.2, 92.4, 207.6);
  --cui-btn-disabled-border-color: rgb(94.2, 92.4, 207.6);
}

[data-coreui-theme=dark] .btn-secondary {
  --cui-btn-color: #fff;
  --cui-btn-bg: #6b7785;
  --cui-btn-border-color: #6b7785;
  --cui-btn-hover-color: #fff;
  --cui-btn-hover-bg: rgb(90.95, 101.15, 113.05);
  --cui-btn-hover-border-color: rgb(85.6, 95.2, 106.4);
  --cui-btn-focus-shadow-rgb: 129.2, 139.4, 151.3;
  --cui-btn-active-color: #fff;
  --cui-btn-active-bg: rgb(85.6, 95.2, 106.4);
  --cui-btn-active-border-color: rgb(80.25, 89.25, 99.75);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #fff;
  --cui-btn-disabled-bg: #6b7785;
  --cui-btn-disabled-border-color: #6b7785;
}

[data-coreui-theme=dark] .btn-success {
  --cui-btn-color: #080a0c;
  --cui-btn-bg: rgb(33.55, 151.45, 65.05);
  --cui-btn-border-color: rgb(33.55, 151.45, 65.05);
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: rgb(66.7675, 166.9825, 93.5425);
  --cui-btn-hover-border-color: rgb(55.695, 161.805, 84.045);
  --cui-btn-focus-shadow-rgb: 29.7175, 130.2325, 57.0925;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: rgb(77.84, 172.16, 103.04);
  --cui-btn-active-border-color: rgb(55.695, 161.805, 84.045);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #080a0c;
  --cui-btn-disabled-bg: rgb(33.55, 151.45, 65.05);
  --cui-btn-disabled-border-color: rgb(33.55, 151.45, 65.05);
}

[data-coreui-theme=dark] .btn-info {
  --cui-btn-color: #080a0c;
  --cui-btn-bg: rgb(61.2, 153, 244.8);
  --cui-btn-border-color: rgb(61.2, 153, 244.8);
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: rgb(90.27, 168.3, 246.33);
  --cui-btn-hover-border-color: rgb(80.58, 163.2, 245.82);
  --cui-btn-focus-shadow-rgb: 53.22, 131.55, 209.88;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: rgb(99.96, 173.4, 246.84);
  --cui-btn-active-border-color: rgb(80.58, 163.2, 245.82);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #080a0c;
  --cui-btn-disabled-bg: rgb(61.2, 153, 244.8);
  --cui-btn-disabled-border-color: rgb(61.2, 153, 244.8);
}

[data-coreui-theme=dark] .btn-warning {
  --cui-btn-color: #080a0c;
  --cui-btn-bg: rgb(237.6, 172.8, 32.4);
  --cui-btn-border-color: rgb(237.6, 172.8, 32.4);
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: rgb(240.21, 185.13, 65.79);
  --cui-btn-hover-border-color: rgb(239.34, 181.02, 54.66);
  --cui-btn-focus-shadow-rgb: 203.16, 148.38, 29.34;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: rgb(241.08, 189.24, 76.92);
  --cui-btn-active-border-color: rgb(239.34, 181.02, 54.66);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #080a0c;
  --cui-btn-disabled-bg: rgb(237.6, 172.8, 32.4);
  --cui-btn-disabled-border-color: rgb(237.6, 172.8, 32.4);
}

[data-coreui-theme=dark] .btn-danger {
  --cui-btn-color: #080a0c;
  --cui-btn-bg: rgb(221.7, 90.3, 90.3);
  --cui-btn-border-color: rgb(221.7, 90.3, 90.3);
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: rgb(226.695, 115.005, 115.005);
  --cui-btn-hover-border-color: rgb(225.03, 106.77, 106.77);
  --cui-btn-focus-shadow-rgb: 189.645, 78.255, 78.555;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: rgb(228.36, 123.24, 123.24);
  --cui-btn-active-border-color: rgb(225.03, 106.77, 106.77);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #080a0c;
  --cui-btn-disabled-bg: rgb(221.7, 90.3, 90.3);
  --cui-btn-disabled-border-color: rgb(221.7, 90.3, 90.3);
}

[data-coreui-theme=dark] .btn-light {
  --cui-btn-color: #080a0c;
  --cui-btn-bg: #f3f4f7;
  --cui-btn-border-color: #f3f4f7;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: rgb(244.8, 245.65, 248.2);
  --cui-btn-hover-border-color: rgb(244.2, 245.1, 247.8);
  --cui-btn-focus-shadow-rgb: 207.75, 208.9, 211.75;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: rgb(245.4, 246.2, 248.6);
  --cui-btn-active-border-color: rgb(244.2, 245.1, 247.8);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #080a0c;
  --cui-btn-disabled-bg: #f3f4f7;
  --cui-btn-disabled-border-color: #f3f4f7;
}

[data-coreui-theme=dark] .btn-dark {
  --cui-btn-color: #fff;
  --cui-btn-bg: #212631;
  --cui-btn-border-color: #212631;
  --cui-btn-hover-color: #fff;
  --cui-btn-hover-bg: rgb(28.05, 32.3, 41.65);
  --cui-btn-hover-border-color: rgb(26.4, 30.4, 39.2);
  --cui-btn-focus-shadow-rgb: 66.3, 70.55, 79.9;
  --cui-btn-active-color: #fff;
  --cui-btn-active-bg: rgb(26.4, 30.4, 39.2);
  --cui-btn-active-border-color: rgb(24.75, 28.5, 36.75);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #fff;
  --cui-btn-disabled-bg: #212631;
  --cui-btn-disabled-border-color: #212631;
}

[data-coreui-theme=dark] .btn-outline-primary {
  --cui-btn-color: rgb(94.2, 92.4, 207.6);
  --cui-btn-border-color: rgb(94.2, 92.4, 207.6);
  --cui-btn-hover-color: #fff;
  --cui-btn-hover-bg: rgb(94.2, 92.4, 207.6);
  --cui-btn-hover-border-color: rgb(94.2, 92.4, 207.6);
  --cui-btn-focus-shadow-rgb: 94.2, 92.4, 207.6;
  --cui-btn-active-color: #fff;
  --cui-btn-active-bg: rgb(94.2, 92.4, 207.6);
  --cui-btn-active-border-color: rgb(94.2, 92.4, 207.6);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: rgb(94.2, 92.4, 207.6);
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: rgb(94.2, 92.4, 207.6);
  --cui-gradient: none;
}

[data-coreui-theme=dark] .btn-outline-secondary {
  --cui-btn-color: #6b7785;
  --cui-btn-border-color: #6b7785;
  --cui-btn-hover-color: #fff;
  --cui-btn-hover-bg: #6b7785;
  --cui-btn-hover-border-color: #6b7785;
  --cui-btn-focus-shadow-rgb: 107, 119, 133;
  --cui-btn-active-color: #fff;
  --cui-btn-active-bg: #6b7785;
  --cui-btn-active-border-color: #6b7785;
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #6b7785;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: #6b7785;
  --cui-gradient: none;
}

[data-coreui-theme=dark] .btn-outline-success {
  --cui-btn-color: rgb(33.55, 151.45, 65.05);
  --cui-btn-border-color: rgb(33.55, 151.45, 65.05);
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: rgb(33.55, 151.45, 65.05);
  --cui-btn-hover-border-color: rgb(33.55, 151.45, 65.05);
  --cui-btn-focus-shadow-rgb: 33.55, 151.45, 65.05;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: rgb(33.55, 151.45, 65.05);
  --cui-btn-active-border-color: rgb(33.55, 151.45, 65.05);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: rgb(33.55, 151.45, 65.05);
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: rgb(33.55, 151.45, 65.05);
  --cui-gradient: none;
}

[data-coreui-theme=dark] .btn-outline-info {
  --cui-btn-color: rgb(61.2, 153, 244.8);
  --cui-btn-border-color: rgb(61.2, 153, 244.8);
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: rgb(61.2, 153, 244.8);
  --cui-btn-hover-border-color: rgb(61.2, 153, 244.8);
  --cui-btn-focus-shadow-rgb: 61.2, 153, 244.8;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: rgb(61.2, 153, 244.8);
  --cui-btn-active-border-color: rgb(61.2, 153, 244.8);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: rgb(61.2, 153, 244.8);
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: rgb(61.2, 153, 244.8);
  --cui-gradient: none;
}

[data-coreui-theme=dark] .btn-outline-warning {
  --cui-btn-color: rgb(237.6, 172.8, 32.4);
  --cui-btn-border-color: rgb(237.6, 172.8, 32.4);
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: rgb(237.6, 172.8, 32.4);
  --cui-btn-hover-border-color: rgb(237.6, 172.8, 32.4);
  --cui-btn-focus-shadow-rgb: 237.6, 172.8, 32.4;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: rgb(237.6, 172.8, 32.4);
  --cui-btn-active-border-color: rgb(237.6, 172.8, 32.4);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: rgb(237.6, 172.8, 32.4);
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: rgb(237.6, 172.8, 32.4);
  --cui-gradient: none;
}

[data-coreui-theme=dark] .btn-outline-danger {
  --cui-btn-color: rgb(221.7, 90.3, 90.3);
  --cui-btn-border-color: rgb(221.7, 90.3, 90.3);
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: rgb(221.7, 90.3, 90.3);
  --cui-btn-hover-border-color: rgb(221.7, 90.3, 90.3);
  --cui-btn-focus-shadow-rgb: 221.7, 90.3, 90.3;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: rgb(221.7, 90.3, 90.3);
  --cui-btn-active-border-color: rgb(221.7, 90.3, 90.3);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: rgb(221.7, 90.3, 90.3);
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: rgb(221.7, 90.3, 90.3);
  --cui-gradient: none;
}

[data-coreui-theme=dark] .btn-outline-light {
  --cui-btn-color: #f3f4f7;
  --cui-btn-border-color: #f3f4f7;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: #f3f4f7;
  --cui-btn-hover-border-color: #f3f4f7;
  --cui-btn-focus-shadow-rgb: 243, 244, 247;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: #f3f4f7;
  --cui-btn-active-border-color: #f3f4f7;
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #f3f4f7;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: #f3f4f7;
  --cui-gradient: none;
}

[data-coreui-theme=dark] .btn-outline-dark {
  --cui-btn-color: #212631;
  --cui-btn-border-color: #212631;
  --cui-btn-hover-color: #fff;
  --cui-btn-hover-bg: #212631;
  --cui-btn-hover-border-color: #212631;
  --cui-btn-focus-shadow-rgb: 33, 38, 49;
  --cui-btn-active-color: #fff;
  --cui-btn-active-bg: #212631;
  --cui-btn-active-border-color: #212631;
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #212631;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: #212631;
  --cui-gradient: none;
}

[data-coreui-theme=dark] .btn-ghost-primary {
  --cui-btn-color: rgb(94.2, 92.4, 207.6);
  --cui-btn-border-color: transparent;
  --cui-btn-hover-bg: rgb(94.2, 92.4, 207.6);
  --cui-btn-hover-border-color: rgb(94.2, 92.4, 207.6);
  --cui-btn-hover-color: #fff;
  --cui-btn-active-bg: rgb(94.2, 92.4, 207.6);
  --cui-btn-active-border-color: rgb(94.2, 92.4, 207.6);
  --cui-btn-active-color: #fff;
  --cui-btn-disabled-color: rgb(94.2, 92.4, 207.6);
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: transparent;
}

[data-coreui-theme=dark] .btn-ghost-secondary {
  --cui-btn-color: #6b7785;
  --cui-btn-border-color: transparent;
  --cui-btn-hover-bg: #6b7785;
  --cui-btn-hover-border-color: #6b7785;
  --cui-btn-hover-color: #fff;
  --cui-btn-active-bg: #6b7785;
  --cui-btn-active-border-color: #6b7785;
  --cui-btn-active-color: #fff;
  --cui-btn-disabled-color: #6b7785;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: transparent;
}

[data-coreui-theme=dark] .btn-ghost-success {
  --cui-btn-color: rgb(33.55, 151.45, 65.05);
  --cui-btn-border-color: transparent;
  --cui-btn-hover-bg: rgb(33.55, 151.45, 65.05);
  --cui-btn-hover-border-color: rgb(33.55, 151.45, 65.05);
  --cui-btn-hover-color: #080a0c;
  --cui-btn-active-bg: rgb(33.55, 151.45, 65.05);
  --cui-btn-active-border-color: rgb(33.55, 151.45, 65.05);
  --cui-btn-active-color: #080a0c;
  --cui-btn-disabled-color: rgb(33.55, 151.45, 65.05);
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: transparent;
}

[data-coreui-theme=dark] .btn-ghost-info {
  --cui-btn-color: rgb(61.2, 153, 244.8);
  --cui-btn-border-color: transparent;
  --cui-btn-hover-bg: rgb(61.2, 153, 244.8);
  --cui-btn-hover-border-color: rgb(61.2, 153, 244.8);
  --cui-btn-hover-color: #080a0c;
  --cui-btn-active-bg: rgb(61.2, 153, 244.8);
  --cui-btn-active-border-color: rgb(61.2, 153, 244.8);
  --cui-btn-active-color: #080a0c;
  --cui-btn-disabled-color: rgb(61.2, 153, 244.8);
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: transparent;
}

[data-coreui-theme=dark] .btn-ghost-warning {
  --cui-btn-color: rgb(237.6, 172.8, 32.4);
  --cui-btn-border-color: transparent;
  --cui-btn-hover-bg: rgb(237.6, 172.8, 32.4);
  --cui-btn-hover-border-color: rgb(237.6, 172.8, 32.4);
  --cui-btn-hover-color: #080a0c;
  --cui-btn-active-bg: rgb(237.6, 172.8, 32.4);
  --cui-btn-active-border-color: rgb(237.6, 172.8, 32.4);
  --cui-btn-active-color: #080a0c;
  --cui-btn-disabled-color: rgb(237.6, 172.8, 32.4);
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: transparent;
}

[data-coreui-theme=dark] .btn-ghost-danger {
  --cui-btn-color: rgb(221.7, 90.3, 90.3);
  --cui-btn-border-color: transparent;
  --cui-btn-hover-bg: rgb(221.7, 90.3, 90.3);
  --cui-btn-hover-border-color: rgb(221.7, 90.3, 90.3);
  --cui-btn-hover-color: #080a0c;
  --cui-btn-active-bg: rgb(221.7, 90.3, 90.3);
  --cui-btn-active-border-color: rgb(221.7, 90.3, 90.3);
  --cui-btn-active-color: #080a0c;
  --cui-btn-disabled-color: rgb(221.7, 90.3, 90.3);
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: transparent;
}

[data-coreui-theme=dark] .btn-ghost-light {
  --cui-btn-color: #f3f4f7;
  --cui-btn-border-color: transparent;
  --cui-btn-hover-bg: #f3f4f7;
  --cui-btn-hover-border-color: #f3f4f7;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-active-bg: #f3f4f7;
  --cui-btn-active-border-color: #f3f4f7;
  --cui-btn-active-color: #080a0c;
  --cui-btn-disabled-color: #f3f4f7;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: transparent;
}

[data-coreui-theme=dark] .btn-ghost-dark {
  --cui-btn-color: #212631;
  --cui-btn-border-color: transparent;
  --cui-btn-hover-bg: #212631;
  --cui-btn-hover-border-color: #212631;
  --cui-btn-hover-color: #fff;
  --cui-btn-active-bg: #212631;
  --cui-btn-active-border-color: #212631;
  --cui-btn-active-color: #fff;
  --cui-btn-disabled-color: #212631;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: transparent;
}

.fade {
  transition: opacity 0.15s linear;
}

@media (prefers-reduced-motion: reduce) {
  .fade {
    transition: none;
  }
}
.fade:not(.show) {
  opacity: 0;
}

.collapse:not(.show) {
  display: none;
}

.collapsing {
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}

@media (prefers-reduced-motion: reduce) {
  .collapsing {
    transition: none;
  }
}
.collapsing.collapse-horizontal {
  width: 0;
  height: auto;
  transition: width 0.35s ease;
}

@media (prefers-reduced-motion: reduce) {
  .collapsing.collapse-horizontal {
    transition: none;
  }
}
.dropup,
.dropend,
.dropdown,
.dropstart,
.dropup-center,
.dropdown-center {
  position: relative;
}

.dropdown-toggle {
  white-space: nowrap;
}

.dropdown-toggle::after {
  display: inline-block;
  margin-inline-start: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-bottom: 0;
  border-left: 0.3em solid transparent;
}

.dropdown-toggle:empty::after {
  margin-inline-start: 0;
}

.dropdown-menu {
  --cui-dropdown-zindex: 1000;
  --cui-dropdown-min-width: 10rem;
  --cui-dropdown-padding-x: 0;
  --cui-dropdown-padding-y: 0.5rem;
  --cui-dropdown-spacer: 0.125rem;
  --cui-dropdown-font-size: 1rem;
  --cui-dropdown-color: var(--cui-body-color);
  --cui-dropdown-bg: var(--cui-body-bg);
  --cui-dropdown-border-color: var(--cui-border-color-translucent);
  --cui-dropdown-border-radius: var(--cui-border-radius);
  --cui-dropdown-border-width: var(--cui-border-width);
  --cui-dropdown-inner-border-radius: calc(var(--cui-border-radius) - var(--cui-border-width));
  --cui-dropdown-divider-bg: var(--cui-border-color-translucent);
  --cui-dropdown-divider-margin-y: 0.5rem;
  --cui-dropdown-box-shadow: var(--cui-box-shadow);
  --cui-dropdown-link-color: var(--cui-body-color);
  --cui-dropdown-link-hover-color: var(--cui-body-color);
  --cui-dropdown-link-hover-bg: var(--cui-tertiary-bg);
  --cui-dropdown-link-active-color: rgba(255, 255, 255, 0.87);
  --cui-dropdown-link-active-bg: var(--cui-primary);
  --cui-dropdown-link-disabled-color: var(--cui-tertiary-color);
  --cui-dropdown-item-padding-x: 1rem;
  --cui-dropdown-item-padding-y: 0.25rem;
  --cui-dropdown-header-color: #6d7d9c;
  --cui-dropdown-header-padding-x: 1rem;
  --cui-dropdown-header-padding-y: 0.5rem;
  position: absolute;
  z-index: var(--cui-dropdown-zindex);
  display: none;
  min-width: var(--cui-dropdown-min-width);
  padding: var(--cui-dropdown-padding-y) var(--cui-dropdown-padding-x);
  margin: 0;
  font-size: var(--cui-dropdown-font-size);
  color: var(--cui-dropdown-color);
  text-align: start;
  list-style: none;
  background-color: var(--cui-dropdown-bg);
  background-clip: padding-box;
  border: var(--cui-dropdown-border-width) solid var(--cui-dropdown-border-color);
  border-radius: var(--cui-dropdown-border-radius);
}

.dropdown-menu[data-coreui-popper] {
  inset-inline-start: 0;
  top: 100%;
  margin-top: var(--cui-dropdown-spacer);
}

.dropdown-menu-start {
  --cui-position: start;
}

.dropdown-menu-start[data-coreui-popper] {
  inset-inline-start: 0;
  inset-inline-end: auto;
}

.dropdown-menu-end {
  --cui-position: end;
}

.dropdown-menu-end[data-coreui-popper] {
  inset-inline-start: auto;
  inset-inline-end: 0;
}

@media (min-width: 576px) {
  .dropdown-menu-sm-start {
    --cui-position: start;
  }
  .dropdown-menu-sm-start[data-coreui-popper] {
    inset-inline-start: 0;
    inset-inline-end: auto;
  }
  .dropdown-menu-sm-end {
    --cui-position: end;
  }
  .dropdown-menu-sm-end[data-coreui-popper] {
    inset-inline-start: auto;
    inset-inline-end: 0;
  }
}
@media (min-width: 768px) {
  .dropdown-menu-md-start {
    --cui-position: start;
  }
  .dropdown-menu-md-start[data-coreui-popper] {
    inset-inline-start: 0;
    inset-inline-end: auto;
  }
  .dropdown-menu-md-end {
    --cui-position: end;
  }
  .dropdown-menu-md-end[data-coreui-popper] {
    inset-inline-start: auto;
    inset-inline-end: 0;
  }
}
@media (min-width: 992px) {
  .dropdown-menu-lg-start {
    --cui-position: start;
  }
  .dropdown-menu-lg-start[data-coreui-popper] {
    inset-inline-start: 0;
    inset-inline-end: auto;
  }
  .dropdown-menu-lg-end {
    --cui-position: end;
  }
  .dropdown-menu-lg-end[data-coreui-popper] {
    inset-inline-start: auto;
    inset-inline-end: 0;
  }
}
@media (min-width: 1200px) {
  .dropdown-menu-xl-start {
    --cui-position: start;
  }
  .dropdown-menu-xl-start[data-coreui-popper] {
    inset-inline-start: 0;
    inset-inline-end: auto;
  }
  .dropdown-menu-xl-end {
    --cui-position: end;
  }
  .dropdown-menu-xl-end[data-coreui-popper] {
    inset-inline-start: auto;
    inset-inline-end: 0;
  }
}
@media (min-width: 1400px) {
  .dropdown-menu-xxl-start {
    --cui-position: start;
  }
  .dropdown-menu-xxl-start[data-coreui-popper] {
    inset-inline-start: 0;
    inset-inline-end: auto;
  }
  .dropdown-menu-xxl-end {
    --cui-position: end;
  }
  .dropdown-menu-xxl-end[data-coreui-popper] {
    inset-inline-start: auto;
    inset-inline-end: 0;
  }
}
.dropup .dropdown-menu[data-coreui-popper] {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: var(--cui-dropdown-spacer);
}

.dropup .dropdown-toggle::after {
  display: inline-block;
  margin-inline-start: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0;
  border-right: 0.3em solid transparent;
  border-bottom: 0.3em solid;
  border-left: 0.3em solid transparent;
}

.dropup .dropdown-toggle:empty::after {
  margin-inline-start: 0;
}

.dropend .dropdown-menu[data-coreui-popper] {
  inset-inline-start: 100%;
  inset-inline-end: auto;
  top: 0;
  margin-inline-start: var(--cui-dropdown-spacer);
  margin-top: 0;
}

.dropend .dropdown-toggle::after {
  display: inline-block;
  margin-inline-start: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0;
  border-bottom: 0.3em solid transparent;
  border-left: 0.3em solid;
}

.dropend .dropdown-toggle:empty::after {
  margin-inline-start: 0;
}

.dropend .dropdown-toggle::after {
  vertical-align: 0;
}

.dropstart .dropdown-menu[data-coreui-popper] {
  inset-inline-start: auto;
  inset-inline-end: 100%;
  top: 0;
  margin-inline-end: var(--cui-dropdown-spacer);
  margin-top: 0;
}

.dropstart .dropdown-toggle::after {
  display: inline-block;
  margin-inline-start: 0.255em;
  vertical-align: 0.255em;
  content: "";
}

.dropstart .dropdown-toggle::after {
  display: none;
}

.dropstart .dropdown-toggle::before {
  display: inline-block;
  margin-inline-end: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0.3em solid;
  border-bottom: 0.3em solid transparent;
}

.dropstart .dropdown-toggle:empty::after {
  margin-inline-start: 0;
}

.dropstart .dropdown-toggle::before {
  vertical-align: 0;
}

.dropdown-divider {
  height: 0;
  margin: var(--cui-dropdown-divider-margin-y) 0;
  overflow: hidden;
  border-top: 1px solid var(--cui-dropdown-divider-bg);
  opacity: 1;
}

.dropdown-item {
  display: block;
  width: 100%;
  padding: var(--cui-dropdown-item-padding-y) var(--cui-dropdown-item-padding-x);
  clear: both;
  font-weight: 400;
  color: var(--cui-dropdown-link-color);
  text-align: inherit;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
  border-radius: var(--cui-dropdown-item-border-radius, 0);
}

.dropdown-item:hover, .dropdown-item:focus {
  color: var(--cui-dropdown-link-hover-color);
  background-color: var(--cui-dropdown-link-hover-bg);
}

.dropdown-item.active, .dropdown-item:active {
  color: var(--cui-dropdown-link-active-color);
  text-decoration: none;
  background-color: var(--cui-dropdown-link-active-bg);
}

.dropdown-item.disabled, .dropdown-item:disabled {
  color: var(--cui-dropdown-link-disabled-color);
  pointer-events: none;
  background-color: transparent;
}

.dropdown-menu.show {
  display: block;
}

.dropdown-header {
  display: block;
  padding: var(--cui-dropdown-header-padding-y) var(--cui-dropdown-header-padding-x);
  margin-bottom: 0;
  font-size: 0.875rem;
  color: var(--cui-dropdown-header-color);
  white-space: nowrap;
}

.dropdown-item-text {
  display: block;
  padding: var(--cui-dropdown-item-padding-y) var(--cui-dropdown-item-padding-x);
  color: var(--cui-dropdown-link-color);
}

.dropdown-menu-dark {
  --cui-dropdown-color: #dbdfe6;
  --cui-dropdown-bg: #323a49;
  --cui-dropdown-border-color: var(--cui-border-color-translucent);
  --cui-dropdown-box-shadow: ;
  --cui-dropdown-link-color: #dbdfe6;
  --cui-dropdown-link-hover-color: #fff;
  --cui-dropdown-divider-bg: var(--cui-border-color-translucent);
  --cui-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);
  --cui-dropdown-link-active-color: rgba(255, 255, 255, 0.87);
  --cui-dropdown-link-active-bg: var(--cui-primary);
  --cui-dropdown-link-disabled-color: #aab3c5;
  --cui-dropdown-header-color: #aab3c5;
}

.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}

.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  flex: 1 1 auto;
}

.btn-group > .btn-check:checked + .btn,
.btn-group > .btn-check:focus + .btn,
.btn-group > .btn:hover,
.btn-group > .btn:focus,
.btn-group > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn-check:checked + .btn,
.btn-group-vertical > .btn-check:focus + .btn,
.btn-group-vertical > .btn:hover,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
  z-index: 1;
}

.btn-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.btn-toolbar .input-group {
  width: auto;
}

.btn-group {
  border-radius: var(--cui-border-radius);
}

.btn-group > :not(.btn-check:first-child) + .btn,
.btn-group > .btn-group:not(:first-child) {
  margin-inline-start: calc(-1 * var(--cui-border-width));
}

.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn.dropdown-toggle-split:first-child,
.btn-group > .btn-group:not(:last-child) > .btn {
  border-start-end-radius: 0;
  border-end-end-radius: 0;
}

.btn-group > .btn:nth-child(n+3),
.btn-group > :not(.btn-check) + .btn,
.btn-group > .btn-group:not(:first-child) > .btn {
  border-start-start-radius: 0;
  border-end-start-radius: 0;
}

.dropdown-toggle-split {
  padding-right: 0.5625rem;
  padding-left: 0.5625rem;
}

.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {
  margin-inline-start: 0;
}

.dropstart .dropdown-toggle-split::before {
  margin-inline-end: 0;
}

.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
  padding-right: 0.375rem;
  padding-left: 0.375rem;
}

.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
  padding-right: 0.75rem;
  padding-left: 0.75rem;
}

.btn-group-vertical {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group {
  width: 100%;
}

.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) {
  margin-top: calc(-1 * var(--cui-border-width));
}

.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group-vertical > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.btn-group-vertical > .btn:nth-child(n+3),
.btn-group-vertical > :not(.btn-check) + .btn,
.btn-group-vertical > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav {
  --cui-nav-link-padding-x: 1rem;
  --cui-nav-link-padding-y: 0.5rem;
  --cui-nav-link-font-weight: ;
  --cui-nav-link-color: var(--cui-link-color);
  --cui-nav-link-hover-color: var(--cui-link-hover-color);
  --cui-nav-link-disabled-color: var(--cui-secondary-color);
  display: flex;
  flex-wrap: wrap;
  padding-inline-start: 0;
  margin-bottom: 0;
  list-style: none;
}

.nav-link {
  display: block;
  padding: var(--cui-nav-link-padding-y) var(--cui-nav-link-padding-x);
  font-size: var(--cui-nav-link-font-size);
  font-weight: var(--cui-nav-link-font-weight);
  color: var(--cui-nav-link-color);
  text-decoration: none;
  background: none;
  border: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .nav-link {
    transition: none;
  }
}
.nav-link:hover, .nav-link:focus {
  color: var(--cui-nav-link-hover-color);
}

.nav-link:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(88, 86, 214, 0.25);
}

.nav-link.disabled, .nav-link:disabled {
  color: var(--cui-nav-link-disabled-color);
  pointer-events: none;
  cursor: default;
}

.nav-tabs {
  --cui-nav-tabs-border-width: var(--cui-border-width);
  --cui-nav-tabs-border-color: var(--cui-border-color);
  --cui-nav-tabs-border-radius: var(--cui-border-radius);
  --cui-nav-tabs-link-hover-border-color: var(--cui-secondary-bg) var(--cui-secondary-bg) var(--cui-border-color);
  --cui-nav-tabs-link-active-color: var(--cui-emphasis-color);
  --cui-nav-tabs-link-active-bg: var(--cui-body-bg);
  --cui-nav-tabs-link-active-border-color: var(--cui-border-color) var(--cui-border-color) var(--cui-body-bg);
  border-bottom: var(--cui-nav-tabs-border-width) solid var(--cui-nav-tabs-border-color);
}

.nav-tabs .nav-link {
  margin-bottom: calc(-1 * var(--cui-nav-tabs-border-width));
  border: var(--cui-nav-tabs-border-width) solid transparent;
  border-top-left-radius: var(--cui-nav-tabs-border-radius);
  border-top-right-radius: var(--cui-nav-tabs-border-radius);
}

.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  isolation: isolate;
  border-color: var(--cui-nav-tabs-link-hover-border-color);
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: var(--cui-nav-tabs-link-active-color);
  background-color: var(--cui-nav-tabs-link-active-bg);
  border-color: var(--cui-nav-tabs-link-active-border-color);
}

.nav-tabs .dropdown-menu {
  margin-top: calc(-1 * var(--cui-nav-tabs-border-width));
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav-pills {
  --cui-nav-pills-border-radius: var(--cui-border-radius);
  --cui-nav-pills-link-active-color: rgba(255, 255, 255, 0.87);
  --cui-nav-pills-link-active-bg: var(--cui-primary);
}

.nav-pills .nav-link {
  border-radius: var(--cui-nav-pills-border-radius);
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: var(--cui-nav-pills-link-active-color);
  background-color: var(--cui-nav-pills-link-active-bg);
}

.nav-underline {
  --cui-nav-underline-gap: 1rem;
  --cui-nav-underline-border-width: 0.125rem;
  --cui-nav-underline-link-active-color: var(--cui-emphasis-color);
  gap: var(--cui-nav-underline-gap);
}

.nav-underline .nav-link {
  padding-right: 0;
  padding-left: 0;
  border-bottom: var(--cui-nav-underline-border-width) solid transparent;
}

.nav-underline .nav-link:hover, .nav-underline .nav-link:focus {
  border-bottom-color: currentcolor;
}

.nav-underline .nav-link.active,
.nav-underline .show > .nav-link {
  font-weight: 700;
  color: var(--cui-nav-underline-link-active-color);
  border-bottom-color: currentcolor;
}

.nav-underline-border {
  --cui-nav-underline-border-gap: 0.5rem;
  --cui-nav-underline-border-border-color: var(--cui-border-color);
  --cui-nav-underline-border-border-width: 0.125rem;
  --cui-nav-underline-border-link-padding-x: 0.5rem;
  --cui-nav-underline-border-link-padding-y: 0.5rem;
  --cui-nav-underline-border-link-color: var(--cui-secondary-color);
  --cui-nav-underline-border-link-active-color: var(--cui-primary);
  --cui-nav-underline-border-link-disabled-color: var(--cui-tertiary-color);
  --cui-nav-link-color: var(--cui-nav-underline-border-link-color);
  --cui-nav-link-disabled-color: var(--cui-nav-underline-border-link-disabled-color);
  gap: var(--cui-nav-underline-border-gap);
  border-bottom: var(--cui-nav-underline-border-border-width) solid var(--cui-nav-underline-border-border-color);
}

.nav-underline-border .nav-link {
  padding: var(--cui-nav-underline-border-link-padding-y) var(--cui-nav-underline-border-link-padding-x);
  margin-bottom: calc(-1 * var(--cui-nav-underline-border-border-width));
  border-bottom: var(--cui-nav-underline-border-border-width) solid transparent;
}

.nav-underline-border .nav-link:hover, .nav-underline-border .nav-link:focus {
  border-bottom-color: currentcolor;
}

.nav-underline-border .nav-link.active,
.nav-underline-border .show > .nav-link {
  font-weight: 700;
  color: var(--cui-nav-underline-border-link-active-color);
  border-bottom-color: currentcolor;
}

.nav-enclosed {
  --cui-nav-enclosed-padding: 0.125rem;
  --cui-nav-enclosed-bg: var(--cui-tertiary-bg);
  --cui-nav-enclosed-border-radius: 0.5rem;
  --cui-nav-enclosed-link-padding-x: 0.875rem;
  --cui-nav-enclosed-link-padding-y: 0.375rem;
  --cui-nav-enclosed-link-color: var(--cui-body-color);
  --cui-nav-enclosed-link-border-width: 1px;
  --cui-nav-enclosed-link-active-color: var(--cui-body-color);
  --cui-nav-enclosed-link-active-bg: var(--cui-body-bg);
  --cui-nav-enclosed-link-active-border-color: var(--cui-border-color);
  --cui-nav-enclosed-link-hover-box-shadow: var(--cui-box-shadow-sm);
  --cui-nav-enclosed-link-disabled-color: var(--cui-secondary-color);
  display: inline-flex;
  padding: var(--cui-nav-enclosed-padding);
  background-color: var(--cui-nav-enclosed-bg);
  border-radius: var(--cui-nav-enclosed-border-radius);
}

.nav-enclosed .nav-link {
  padding: calc(var(--cui-nav-enclosed-link-padding-y) - var(--cui-nav-enclosed-link-border-width)) calc(var(--cui-nav-enclosed-link-padding-x) - var(--cui-nav-enclosed-link-border-width));
  color: var(--cui-nav-enclosed-link-color);
  border: var(--cui-nav-enclosed-link-border-width) solid transparent;
  border-radius: calc(var(--cui-nav-enclosed-border-radius) - var(--cui-nav-enclosed-padding));
}

.nav-enclosed .nav-link.disabled, .nav-enclosed .nav-link:disabled {
  color: var(--cui-nav-enclosed-link-disabled-color);
}

.nav-enclosed .nav-link.active,
.nav-enclosed .show > .nav-link {
  color: var(--cui-nav-enclosed-link-active-color);
  background-color: var(--cui-nav-enclosed-link-active-bg);
  border: 1px solid var(--cui-nav-enclosed-link-active-border-color);
}

.nav-enclosed .nav-link.active:not(:focus-visible),
.nav-enclosed .show > .nav-link:not(:focus-visible) {
  box-shadow: var(--cui-nav-enclosed-link-hover-box-shadow);
}

.nav-enclosed-pills {
  --cui-nav-enclosed-border-radius: 50rem;
}

.nav-fill > .nav-link,
.nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center;
}

.nav-justified > .nav-link,
.nav-justified .nav-item {
  flex-grow: 1;
  flex-basis: 0;
  text-align: center;
}

.nav-fill .nav-item .nav-link,
.nav-justified .nav-item .nav-link {
  width: 100%;
}

.tab-content > .tab-pane {
  display: none;
}

.tab-content > .active {
  display: block;
}

.navbar {
  --cui-navbar-padding-x: 0;
  --cui-navbar-padding-y: 0.5rem;
  --cui-navbar-color: rgba(var(--cui-emphasis-color-rgb), 0.65);
  --cui-navbar-hover-color: rgba(var(--cui-emphasis-color-rgb), 0.8);
  --cui-navbar-disabled-color: rgba(var(--cui-emphasis-color-rgb), 0.3);
  --cui-navbar-active-color: rgba(var(--cui-emphasis-color-rgb), 1);
  --cui-navbar-brand-padding-y: 0.3125rem;
  --cui-navbar-brand-margin-end: 1rem;
  --cui-navbar-brand-font-size: 1.25rem;
  --cui-navbar-brand-color: rgba(var(--cui-emphasis-color-rgb), 1);
  --cui-navbar-brand-hover-color: rgba(var(--cui-emphasis-color-rgb), 1);
  --cui-navbar-nav-link-padding-x: 0.5rem;
  --cui-navbar-toggler-padding-y: 0.25rem;
  --cui-navbar-toggler-padding-x: 0.75rem;
  --cui-navbar-toggler-font-size: 1.25rem;
  --cui-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%2837, 42.92, 54.02, 0.75%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e");
  --cui-navbar-toggler-border-color: rgba(var(--cui-emphasis-color-rgb), 0.15);
  --cui-navbar-toggler-border-radius: var(--cui-border-radius);
  --cui-navbar-toggler-focus-width: 0.25rem;
  --cui-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: var(--cui-navbar-padding-y) var(--cui-navbar-padding-x);
}

.navbar > .container-xxl, .navbar > .container-xl, .navbar > .container-lg, .navbar > .container-md, .navbar > .container-sm, .navbar > .container,
.navbar > .container-fluid {
  display: flex;
  flex-wrap: inherit;
  align-items: center;
  justify-content: space-between;
}

.navbar-brand {
  padding-top: var(--cui-navbar-brand-padding-y);
  padding-bottom: var(--cui-navbar-brand-padding-y);
  margin-inline-end: var(--cui-navbar-brand-margin-end);
  font-size: var(--cui-navbar-brand-font-size);
  color: var(--cui-navbar-brand-color);
  text-decoration: none;
  white-space: nowrap;
}

.navbar-brand:hover, .navbar-brand:focus {
  color: var(--cui-navbar-brand-hover-color);
}

.navbar-nav {
  --cui-nav-link-padding-x: 0;
  --cui-nav-link-padding-y: 0.5rem;
  --cui-nav-link-font-weight: ;
  --cui-nav-link-color: var(--cui-navbar-color);
  --cui-nav-link-hover-color: var(--cui-navbar-hover-color);
  --cui-nav-link-disabled-color: var(--cui-navbar-disabled-color);
  display: flex;
  flex-direction: column;
  padding-inline-start: 0;
  margin-bottom: 0;
  list-style: none;
}

.navbar-nav .nav-link.active, .navbar-nav .nav-link.show {
  color: var(--cui-navbar-active-color);
}

.navbar-nav .dropdown-menu {
  position: static;
}

.navbar-text {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--cui-navbar-color);
}

.navbar-text a,
.navbar-text a:hover,
.navbar-text a:focus {
  color: var(--cui-navbar-active-color);
}

.navbar-collapse {
  flex-grow: 1;
  flex-basis: 100%;
  align-items: center;
}

.navbar-toggler {
  padding: var(--cui-navbar-toggler-padding-y) var(--cui-navbar-toggler-padding-x);
  font-size: var(--cui-navbar-toggler-font-size);
  line-height: 1;
  color: var(--cui-navbar-color);
  background-color: transparent;
  border: var(--cui-border-width) solid var(--cui-navbar-toggler-border-color);
  border-radius: var(--cui-navbar-toggler-border-radius);
  transition: var(--cui-navbar-toggler-transition);
}

@media (prefers-reduced-motion: reduce) {
  .navbar-toggler {
    transition: none;
  }
}
.navbar-toggler:hover {
  text-decoration: none;
}

.navbar-toggler:focus {
  text-decoration: none;
  outline: 0;
  box-shadow: 0 0 0 var(--cui-navbar-toggler-focus-width);
}

.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  background-image: var(--cui-navbar-toggler-icon-bg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}

.navbar-nav-scroll {
  max-height: var(--cui-scroll-height, 75vh);
  overflow-y: auto;
}

@media (min-width: 576px) {
  .navbar-expand-sm {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-sm .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-sm .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-sm .navbar-nav .nav-link {
    padding-right: var(--cui-navbar-nav-link-padding-x);
    padding-left: var(--cui-navbar-nav-link-padding-x);
  }
  .navbar-expand-sm .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-sm .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-sm .navbar-toggler {
    display: none;
  }
  .navbar-expand-sm .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-sm .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-sm .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 768px) {
  .navbar-expand-md {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-md .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-md .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-md .navbar-nav .nav-link {
    padding-right: var(--cui-navbar-nav-link-padding-x);
    padding-left: var(--cui-navbar-nav-link-padding-x);
  }
  .navbar-expand-md .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-md .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-md .navbar-toggler {
    display: none;
  }
  .navbar-expand-md .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-md .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-md .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 992px) {
  .navbar-expand-lg {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-lg .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-lg .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-lg .navbar-nav .nav-link {
    padding-right: var(--cui-navbar-nav-link-padding-x);
    padding-left: var(--cui-navbar-nav-link-padding-x);
  }
  .navbar-expand-lg .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-lg .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-lg .navbar-toggler {
    display: none;
  }
  .navbar-expand-lg .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-lg .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-lg .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 1200px) {
  .navbar-expand-xl {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xl .navbar-nav .nav-link {
    padding-right: var(--cui-navbar-nav-link-padding-x);
    padding-left: var(--cui-navbar-nav-link-padding-x);
  }
  .navbar-expand-xl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xl .navbar-toggler {
    display: none;
  }
  .navbar-expand-xl .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-xl .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-xl .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 1400px) {
  .navbar-expand-xxl {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xxl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xxl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xxl .navbar-nav .nav-link {
    padding-right: var(--cui-navbar-nav-link-padding-x);
    padding-left: var(--cui-navbar-nav-link-padding-x);
  }
  .navbar-expand-xxl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xxl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xxl .navbar-toggler {
    display: none;
  }
  .navbar-expand-xxl .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-xxl .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-xxl .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
.navbar-expand {
  flex-wrap: nowrap;
  justify-content: flex-start;
}

.navbar-expand .navbar-nav {
  flex-direction: row;
}

.navbar-expand .navbar-nav .dropdown-menu {
  position: absolute;
}

.navbar-expand .navbar-nav .nav-link {
  padding-right: var(--cui-navbar-nav-link-padding-x);
  padding-left: var(--cui-navbar-nav-link-padding-x);
}

.navbar-expand .navbar-nav-scroll {
  overflow: visible;
}

.navbar-expand .navbar-collapse {
  display: flex !important;
  flex-basis: auto;
}

.navbar-expand .navbar-toggler {
  display: none;
}

.navbar-expand .offcanvas {
  position: static;
  z-index: auto;
  flex-grow: 1;
  width: auto !important;
  height: auto !important;
  visibility: visible !important;
  background-color: transparent !important;
  border: 0 !important;
  transform: none !important;
  transition: none;
}

.navbar-expand .offcanvas .offcanvas-header {
  display: none;
}

.navbar-expand .offcanvas .offcanvas-body {
  display: flex;
  flex-grow: 0;
  padding: 0;
  overflow-y: visible;
}

.navbar-dark,
.navbar[data-coreui-theme=dark] {
  --cui-navbar-color: rgba(255, 255, 255, 0.55);
  --cui-navbar-hover-color: rgba(255, 255, 255, 0.75);
  --cui-navbar-disabled-color: rgba(255, 255, 255, 0.25);
  --cui-navbar-active-color: #fff;
  --cui-navbar-brand-color: #fff;
  --cui-navbar-brand-hover-color: #fff;
  --cui-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);
  --cui-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%28255, 255, 255, 0.55%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e");
}

[data-coreui-theme=dark] .navbar-toggler-icon {
  --cui-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%28255, 255, 255, 0.55%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e");
}

.card {
  --cui-card-spacer-y: 1rem;
  --cui-card-spacer-x: 1rem;
  --cui-card-title-spacer-y: 0.5rem;
  --cui-card-title-color: ;
  --cui-card-subtitle-color: ;
  --cui-card-border-width: var(--cui-border-width);
  --cui-card-border-color: var(--cui-border-color-translucent);
  --cui-card-border-radius: var(--cui-border-radius);
  --cui-card-box-shadow: ;
  --cui-card-inner-border-radius: calc(var(--cui-border-radius) - (var(--cui-border-width)));
  --cui-card-cap-padding-y: 0.5rem;
  --cui-card-cap-padding-x: 1rem;
  --cui-card-cap-bg: rgba(var(--cui-body-color-rgb), 0.03);
  --cui-card-cap-color: ;
  --cui-card-height: ;
  --cui-card-color: ;
  --cui-card-bg: var(--cui-body-bg);
  --cui-card-img-overlay-padding: 1rem;
  --cui-card-group-margin: 0.75rem;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: var(--cui-card-height);
  color: var(--cui-body-color);
  word-wrap: break-word;
  background-color: var(--cui-card-bg);
  background-clip: border-box;
  border: var(--cui-card-border-width) solid var(--cui-card-border-color);
  border-radius: var(--cui-card-border-radius);
}

.card > hr {
  margin-right: 0;
  margin-left: 0;
}

.card > .list-group {
  border-top: inherit;
  border-bottom: inherit;
}

.card > .list-group:first-child {
  border-top-width: 0;
  border-top-left-radius: var(--cui-card-inner-border-radius);
  border-top-right-radius: var(--cui-card-inner-border-radius);
}

.card > .list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: var(--cui-card-inner-border-radius);
  border-bottom-left-radius: var(--cui-card-inner-border-radius);
}

.card > .card-header + .list-group,
.card > .list-group + .card-footer {
  border-top: 0;
}

.card-body {
  flex: 1 1 auto;
  padding: var(--cui-card-spacer-y) var(--cui-card-spacer-x);
  color: var(--cui-card-color);
}

.card-title {
  margin-bottom: var(--cui-card-title-spacer-y);
  color: var(--cui-card-title-color);
}

.card-subtitle {
  margin-top: calc(-0.5 * var(--cui-card-title-spacer-y));
  margin-bottom: 0;
  color: var(--cui-card-subtitle-color);
}

.card-text:last-child {
  margin-bottom: 0;
}

.card-link + .card-link {
  margin-inline-start: var(--cui-card-spacer-x);
}

.card-header {
  padding: var(--cui-card-cap-padding-y) var(--cui-card-cap-padding-x);
  margin-bottom: 0;
  color: var(--cui-card-cap-color);
  background-color: var(--cui-card-cap-bg);
  border-bottom: var(--cui-card-border-width) solid var(--cui-card-border-color);
}

.card-header:first-child {
  border-radius: var(--cui-card-inner-border-radius) var(--cui-card-inner-border-radius) 0 0;
}

.card-footer {
  padding: var(--cui-card-cap-padding-y) var(--cui-card-cap-padding-x);
  color: var(--cui-card-cap-color);
  background-color: var(--cui-card-cap-bg);
  border-top: var(--cui-card-border-width) solid var(--cui-card-border-color);
}

.card-footer:last-child {
  border-radius: 0 0 var(--cui-card-inner-border-radius) var(--cui-card-inner-border-radius);
}

.card-header-tabs {
  margin-right: calc(-0.5 * var(--cui-card-cap-padding-x));
  margin-bottom: calc(-1 * var(--cui-card-cap-padding-y));
  margin-left: calc(-0.5 * var(--cui-card-cap-padding-x));
  border-bottom: 0;
}

.card-header-tabs .nav-link.active {
  background-color: var(--cui-card-bg);
  border-bottom-color: var(--cui-card-bg);
}

.card-header-pills {
  margin-right: calc(-0.5 * var(--cui-card-cap-padding-x));
  margin-left: calc(-0.5 * var(--cui-card-cap-padding-x));
}

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: var(--cui-card-img-overlay-padding);
  border-radius: var(--cui-card-inner-border-radius);
}

.card-img,
.card-img-top,
.card-img-bottom {
  width: 100%;
}

.card-img,
.card-img-top {
  border-top-left-radius: var(--cui-card-inner-border-radius);
  border-top-right-radius: var(--cui-card-inner-border-radius);
}

.card-img,
.card-img-bottom {
  border-bottom-right-radius: var(--cui-card-inner-border-radius);
  border-bottom-left-radius: var(--cui-card-inner-border-radius);
}

.card-group > .card {
  margin-bottom: var(--cui-card-group-margin);
}

@media (min-width: 576px) {
  .card-group {
    display: flex;
    flex-flow: row wrap;
  }
  .card-group > .card {
    flex: 1 0 0;
    margin-bottom: 0;
  }
  .card-group > .card + .card {
    margin-inline-start: 0;
    border-inline-start: 0;
  }
  .card-group > .card:not(:last-child) {
    border-start-end-radius: 0;
    border-end-end-radius: 0;
  }
  .card-group > .card:not(:last-child) > .card-img-top,
  .card-group > .card:not(:last-child) > .card-header {
    border-top-right-radius: 0;
  }
  .card-group > .card:not(:last-child) > .card-img-bottom,
  .card-group > .card:not(:last-child) > .card-footer {
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:first-child) {
    border-start-start-radius: 0;
    border-end-start-radius: 0;
  }
  .card-group > .card:not(:first-child) > .card-img-top,
  .card-group > .card:not(:first-child) > .card-header {
    border-top-left-radius: 0;
  }
  .card-group > .card:not(:first-child) > .card-img-bottom,
  .card-group > .card:not(:first-child) > card-footer {
    border-bottom-left-radius: 0;
  }
}
.accordion {
  --cui-accordion-color: var(--cui-body-color);
  --cui-accordion-bg: var(--cui-body-bg);
  --cui-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
  --cui-accordion-border-color: var(--cui-border-color);
  --cui-accordion-border-width: var(--cui-border-width);
  --cui-accordion-border-radius: var(--cui-border-radius);
  --cui-accordion-inner-border-radius: calc(var(--cui-border-radius) - (var(--cui-border-width)));
  --cui-accordion-btn-padding-x: 1.25rem;
  --cui-accordion-btn-padding-y: 1rem;
  --cui-accordion-btn-color: var(--cui-body-color);
  --cui-accordion-btn-bg: var(--cui-accordion-bg);
  --cui-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27none%27 stroke=%27rgba%2837, 42.92, 54.02, 0.95%29%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3e%3cpath d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e");
  --cui-accordion-btn-icon-width: 1.25rem;
  --cui-accordion-btn-icon-transform: rotate(-180deg);
  --cui-accordion-btn-icon-transition: transform 0.2s ease-in-out;
  --cui-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27none%27 stroke=%27%233634a3%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3e%3cpath d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e");
  --cui-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(88, 86, 214, 0.25);
  --cui-accordion-body-padding-x: 1.25rem;
  --cui-accordion-body-padding-y: 1rem;
  --cui-accordion-active-color: var(--cui-primary-text-emphasis);
  --cui-accordion-active-bg: var(--cui-primary-bg-subtle);
}

.accordion-button {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: var(--cui-accordion-btn-padding-y) var(--cui-accordion-btn-padding-x);
  font-size: 1rem;
  color: var(--cui-accordion-btn-color);
  text-align: start;
  background-color: var(--cui-accordion-btn-bg);
  border: 0;
  border-radius: 0;
  overflow-anchor: none;
  transition: var(--cui-accordion-transition);
}

@media (prefers-reduced-motion: reduce) {
  .accordion-button {
    transition: none;
  }
}
.accordion-button:not(.collapsed) {
  color: var(--cui-accordion-active-color);
  background-color: var(--cui-accordion-active-bg);
  box-shadow: inset 0 calc(-1 * var(--cui-accordion-border-width)) 0 var(--cui-accordion-border-color);
}

.accordion-button:not(.collapsed)::after {
  background-image: var(--cui-accordion-btn-active-icon);
  transform: var(--cui-accordion-btn-icon-transform);
}

.accordion-button::after {
  flex-shrink: 0;
  width: var(--cui-accordion-btn-icon-width);
  height: var(--cui-accordion-btn-icon-width);
  margin-inline-start: auto;
  content: "";
  background-image: var(--cui-accordion-btn-icon);
  background-repeat: no-repeat;
  background-size: var(--cui-accordion-btn-icon-width);
  transition: var(--cui-accordion-btn-icon-transition);
}

@media (prefers-reduced-motion: reduce) {
  .accordion-button::after {
    transition: none;
  }
}
.accordion-button:hover {
  z-index: 2;
}

.accordion-button:focus {
  z-index: 3;
  outline: 0;
  box-shadow: var(--cui-accordion-btn-focus-box-shadow);
}

.accordion-header {
  margin-bottom: 0;
}

.accordion-item {
  color: var(--cui-accordion-color);
  background-color: var(--cui-accordion-bg);
  border: var(--cui-accordion-border-width) solid var(--cui-accordion-border-color);
}

.accordion-item:first-of-type {
  border-top-left-radius: var(--cui-accordion-border-radius);
  border-top-right-radius: var(--cui-accordion-border-radius);
}

.accordion-item:first-of-type > .accordion-header .accordion-button {
  border-top-left-radius: var(--cui-accordion-inner-border-radius);
  border-top-right-radius: var(--cui-accordion-inner-border-radius);
}

.accordion-item:not(:first-of-type) {
  border-top: 0;
}

.accordion-item:last-of-type {
  border-bottom-right-radius: var(--cui-accordion-border-radius);
  border-bottom-left-radius: var(--cui-accordion-border-radius);
}

.accordion-item:last-of-type > .accordion-header .accordion-button.collapsed {
  border-bottom-right-radius: var(--cui-accordion-inner-border-radius);
  border-bottom-left-radius: var(--cui-accordion-inner-border-radius);
}

.accordion-item:last-of-type > .accordion-collapse {
  border-bottom-right-radius: var(--cui-accordion-border-radius);
  border-bottom-left-radius: var(--cui-accordion-border-radius);
}

.accordion-body {
  padding: var(--cui-accordion-body-padding-y) var(--cui-accordion-body-padding-x);
}

.accordion-flush > .accordion-item {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}

.accordion-flush > .accordion-item:first-child {
  border-top: 0;
}

.accordion-flush > .accordion-item:last-child {
  border-bottom: 0;
}

.accordion-flush > .accordion-item > .accordion-collapse,
.accordion-flush > .accordion-item > .accordion-header .accordion-button,
.accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed {
  border-radius: 0;
}

[data-coreui-theme=dark] .accordion-button::after {
  --cui-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27rgba%28255, 255, 255, 0.87%29%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708%27/%3e%3c/svg%3e");
  --cui-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27rgb%2859.35, 57.55, 157.45%29%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708%27/%3e%3c/svg%3e");
}

.breadcrumb {
  --cui-breadcrumb-padding-x: 0;
  --cui-breadcrumb-padding-y: 0;
  --cui-breadcrumb-margin-bottom: 1rem;
  --cui-breadcrumb-bg: ;
  --cui-breadcrumb-border-radius: ;
  --cui-breadcrumb-divider-color: var(--cui-secondary-color);
  --cui-breadcrumb-item-padding-x: 0.5rem;
  --cui-breadcrumb-item-active-color: var(--cui-secondary-color);
  display: flex;
  flex-wrap: wrap;
  padding: var(--cui-breadcrumb-padding-y) var(--cui-breadcrumb-padding-x);
  margin-bottom: var(--cui-breadcrumb-margin-bottom);
  font-size: var(--cui-breadcrumb-font-size);
  list-style: none;
  background-color: var(--cui-breadcrumb-bg);
  border-radius: var(--cui-breadcrumb-border-radius);
}

.breadcrumb-item + .breadcrumb-item {
  padding-inline-start: var(--cui-breadcrumb-item-padding-x);
}

.breadcrumb-item + .breadcrumb-item::before {
  float: inline-start;
  padding-inline-end: var(--cui-breadcrumb-item-padding-x);
  color: var(--cui-breadcrumb-divider-color);
  content: var(--cui-breadcrumb-divider, "/");
}

.breadcrumb-item.active {
  color: var(--cui-breadcrumb-item-active-color);
}

.pagination {
  --cui-pagination-padding-x: 0.75rem;
  --cui-pagination-padding-y: 0.375rem;
  --cui-pagination-font-size: 1rem;
  --cui-pagination-color: var(--cui-link-color);
  --cui-pagination-bg: var(--cui-body-bg);
  --cui-pagination-border-width: var(--cui-border-width);
  --cui-pagination-border-color: var(--cui-border-color);
  --cui-pagination-border-radius: var(--cui-border-radius);
  --cui-pagination-hover-color: var(--cui-link-hover-color);
  --cui-pagination-hover-bg: var(--cui-tertiary-bg);
  --cui-pagination-hover-border-color: var(--cui-border-color);
  --cui-pagination-focus-color: var(--cui-link-hover-color);
  --cui-pagination-focus-bg: var(--cui-secondary-bg);
  --cui-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(88, 86, 214, 0.25);
  --cui-pagination-active-color: rgba(255, 255, 255, 0.87);
  --cui-pagination-active-bg: var(--cui-primary);
  --cui-pagination-active-border-color: var(--cui-primary);
  --cui-pagination-disabled-color: var(--cui-secondary-color);
  --cui-pagination-disabled-bg: var(--cui-secondary-bg);
  --cui-pagination-disabled-border-color: var(--cui-border-color);
  display: flex;
  padding-inline-start: 0;
  list-style: none;
}

.page-link {
  position: relative;
  display: block;
  padding: var(--cui-pagination-padding-y) var(--cui-pagination-padding-x);
  font-size: var(--cui-pagination-font-size);
  color: var(--cui-pagination-color);
  text-decoration: none;
  background-color: var(--cui-pagination-bg);
  border: var(--cui-pagination-border-width) solid var(--cui-pagination-border-color);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .page-link {
    transition: none;
  }
}
.page-link:hover {
  z-index: 2;
  color: var(--cui-pagination-hover-color);
  background-color: var(--cui-pagination-hover-bg);
  border-color: var(--cui-pagination-hover-border-color);
}

.page-link:focus {
  z-index: 3;
  color: var(--cui-pagination-focus-color);
  background-color: var(--cui-pagination-focus-bg);
  outline: 0;
  box-shadow: var(--cui-pagination-focus-box-shadow);
}

.page-link.active, .active > .page-link {
  z-index: 3;
  color: var(--cui-pagination-active-color);
  background-color: var(--cui-pagination-active-bg);
  border-color: var(--cui-pagination-active-border-color);
}

.page-link.disabled, .disabled > .page-link {
  color: var(--cui-pagination-disabled-color);
  pointer-events: none;
  background-color: var(--cui-pagination-disabled-bg);
  border-color: var(--cui-pagination-disabled-border-color);
}

.page-item:not(:first-child) .page-link {
  margin-inline-start: calc(-1 * var(--cui-border-width));
}

.page-item:first-child .page-link {
  border-start-start-radius: var(--cui-pagination-border-radius);
  border-end-start-radius: var(--cui-pagination-border-radius);
}

.page-item:last-child .page-link {
  border-start-end-radius: var(--cui-pagination-border-radius);
  border-end-end-radius: var(--cui-pagination-border-radius);
}

.pagination-lg {
  --cui-pagination-padding-x: 1.5rem;
  --cui-pagination-padding-y: 0.75rem;
  --cui-pagination-font-size: 1.25rem;
  --cui-pagination-border-radius: var(--cui-border-radius-lg);
}

.pagination-sm {
  --cui-pagination-padding-x: 0.5rem;
  --cui-pagination-padding-y: 0.25rem;
  --cui-pagination-font-size: 0.875rem;
  --cui-pagination-border-radius: var(--cui-border-radius-sm);
}

.badge {
  --cui-badge-padding-x: 0.65em;
  --cui-badge-padding-y: 0.35em;
  --cui-badge-font-size: 0.75em;
  --cui-badge-font-weight: 700;
  --cui-badge-color: #fff;
  --cui-badge-border-radius: var(--cui-border-radius);
  display: inline-block;
  padding: var(--cui-badge-padding-y) var(--cui-badge-padding-x);
  font-size: var(--cui-badge-font-size);
  font-weight: var(--cui-badge-font-weight);
  line-height: 1;
  color: var(--cui-badge-color);
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: var(--cui-badge-border-radius, 0);
}

.badge:empty {
  display: none;
}

.btn .badge {
  position: relative;
  top: -1px;
}

.badge-sm {
  --cui-badge-padding-x: 0.5em;
  --cui-badge-padding-y: 0.3em;
  font-size: 0.65em;
}

.alert {
  --cui-alert-bg: transparent;
  --cui-alert-padding-x: 1rem;
  --cui-alert-padding-y: 1rem;
  --cui-alert-margin-bottom: 1rem;
  --cui-alert-color: inherit;
  --cui-alert-border-color: transparent;
  --cui-alert-border: var(--cui-border-width) solid var(--cui-alert-border-color);
  --cui-alert-border-radius: var(--cui-border-radius);
  --cui-alert-link-color: inherit;
  position: relative;
  padding: var(--cui-alert-padding-y) var(--cui-alert-padding-x);
  margin-bottom: var(--cui-alert-margin-bottom);
  color: var(--cui-alert-color);
  background-color: var(--cui-alert-bg);
  border: var(--cui-alert-border);
  border-radius: var(--cui-alert-border-radius);
}

.alert-heading {
  color: inherit;
}

.alert-link {
  font-weight: 700;
  color: var(--cui-alert-link-color);
}

.alert-dismissible {
  padding-inline-end: 3rem;
}

.alert-dismissible .btn-close {
  position: absolute;
  inset-inline-end: 0;
  top: 0;
  z-index: 2;
  padding: 1.25rem 1rem;
}

.alert-primary {
  --cui-alert-color: var(--cui-primary-text-emphasis);
  --cui-alert-bg: var(--cui-primary-bg-subtle);
  --cui-alert-border-color: var(--cui-primary-border-subtle);
  --cui-alert-link-color: var(--cui-primary-text-emphasis);
}

.alert-secondary {
  --cui-alert-color: var(--cui-secondary-text-emphasis);
  --cui-alert-bg: var(--cui-secondary-bg-subtle);
  --cui-alert-border-color: var(--cui-secondary-border-subtle);
  --cui-alert-link-color: var(--cui-secondary-text-emphasis);
}

.alert-success {
  --cui-alert-color: var(--cui-success-text-emphasis);
  --cui-alert-bg: var(--cui-success-bg-subtle);
  --cui-alert-border-color: var(--cui-success-border-subtle);
  --cui-alert-link-color: var(--cui-success-text-emphasis);
}

.alert-info {
  --cui-alert-color: var(--cui-info-text-emphasis);
  --cui-alert-bg: var(--cui-info-bg-subtle);
  --cui-alert-border-color: var(--cui-info-border-subtle);
  --cui-alert-link-color: var(--cui-info-text-emphasis);
}

.alert-warning {
  --cui-alert-color: var(--cui-warning-text-emphasis);
  --cui-alert-bg: var(--cui-warning-bg-subtle);
  --cui-alert-border-color: var(--cui-warning-border-subtle);
  --cui-alert-link-color: var(--cui-warning-text-emphasis);
}

.alert-danger {
  --cui-alert-color: var(--cui-danger-text-emphasis);
  --cui-alert-bg: var(--cui-danger-bg-subtle);
  --cui-alert-border-color: var(--cui-danger-border-subtle);
  --cui-alert-link-color: var(--cui-danger-text-emphasis);
}

.alert-light {
  --cui-alert-color: var(--cui-light-text-emphasis);
  --cui-alert-bg: var(--cui-light-bg-subtle);
  --cui-alert-border-color: var(--cui-light-border-subtle);
  --cui-alert-link-color: var(--cui-light-text-emphasis);
}

.alert-dark {
  --cui-alert-color: var(--cui-dark-text-emphasis);
  --cui-alert-bg: var(--cui-dark-bg-subtle);
  --cui-alert-border-color: var(--cui-dark-border-subtle);
  --cui-alert-link-color: var(--cui-dark-text-emphasis);
}

@keyframes progress-bar-stripes {
  0% {
    background-position-x: var(--cui-progress-height);
  }
}
.progress,
.progress-stacked {
  --cui-progress-height: 1rem;
  --cui-progress-font-size: 0.75rem;
  --cui-progress-bg: var(--cui-secondary-bg);
  --cui-progress-border-radius: var(--cui-border-radius);
  --cui-progress-box-shadow: var(--cui-box-shadow-inset);
  --cui-progress-bar-color: #fff;
  --cui-progress-bar-bg: var(--cui-primary);
  --cui-progress-bar-transition: width 0.6s ease;
  display: flex;
  height: var(--cui-progress-height);
  overflow: hidden;
  font-size: var(--cui-progress-font-size);
  background-color: var(--cui-progress-bg);
  border-radius: var(--cui-progress-border-radius);
}

.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: var(--cui-progress-bar-color);
  text-align: center;
  white-space: nowrap;
  background-color: var(--cui-progress-bar-bg);
  transition: var(--cui-progress-bar-transition);
}

@media (prefers-reduced-motion: reduce) {
  .progress-bar {
    transition: none;
  }
}
.progress-bar-striped {
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: var(--cui-progress-height) var(--cui-progress-height);
}

.progress-stacked > .progress {
  overflow: visible;
}

.progress-stacked > .progress > .progress-bar {
  width: 100%;
}

.progress-bar-animated {
  animation: 1s linear infinite progress-bar-stripes;
}

@media (prefers-reduced-motion: reduce) {
  .progress-bar-animated {
    animation: none;
  }
}
.progress-thin {
  height: 4px;
}

.progress.progress-white {
  background-color: rgba(255, 255, 255, 0.2);
}

.progress.progress-white .progress-bar {
  background-color: #fff;
}

.progress-group {
  display: flex;
  flex-flow: row wrap;
  margin-bottom: 1rem;
}

.progress-group-prepend {
  flex: 0 0 100px;
  align-self: center;
}

.progress-group-header {
  display: flex;
  flex-basis: 100%;
  align-items: center;
  margin-bottom: 0.25rem;
}

.progress-group-bars {
  flex-grow: 1;
  align-self: center;
}

.progress-group-bars .progress:not(:last-child) {
  margin-bottom: 2px;
}

.progress-group-header + .progress-group-bars {
  flex-basis: 100%;
}

.list-group {
  --cui-list-group-color: var(--cui-body-color);
  --cui-list-group-bg: var(--cui-body-bg);
  --cui-list-group-border-color: var(--cui-border-color);
  --cui-list-group-border-width: var(--cui-border-width);
  --cui-list-group-border-radius: var(--cui-border-radius);
  --cui-list-group-item-padding-x: 1rem;
  --cui-list-group-item-padding-y: 0.5rem;
  --cui-list-group-action-color: var(--cui-secondary-color);
  --cui-list-group-action-hover-color: var(--cui-emphasis-color);
  --cui-list-group-action-hover-bg: var(--cui-tertiary-bg);
  --cui-list-group-action-active-color: var(--cui-body-color);
  --cui-list-group-action-active-bg: var(--cui-secondary-bg);
  --cui-list-group-disabled-color: var(--cui-secondary-color);
  --cui-list-group-disabled-bg: var(--cui-body-bg);
  --cui-list-group-active-color: rgba(255, 255, 255, 0.87);
  --cui-list-group-active-bg: var(--cui-primary);
  --cui-list-group-active-border-color: var(--cui-primary);
  display: flex;
  flex-direction: column;
  padding-inline-start: 0;
  margin-bottom: 0;
  border-radius: var(--cui-list-group-border-radius);
}

.list-group-numbered {
  list-style-type: none;
  counter-reset: section;
}

.list-group-numbered > .list-group-item::before {
  content: counters(section, ".") ". ";
  counter-increment: section;
}

.list-group-item {
  position: relative;
  display: block;
  padding: var(--cui-list-group-item-padding-y) var(--cui-list-group-item-padding-x);
  color: var(--cui-list-group-color);
  text-decoration: none;
  background-color: var(--cui-list-group-bg);
  border: var(--cui-list-group-border-width) solid var(--cui-list-group-border-color);
}

.list-group-item:first-child {
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}

.list-group-item:last-child {
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
}

.list-group-item.disabled, .list-group-item:disabled {
  color: var(--cui-list-group-disabled-color);
  pointer-events: none;
  background-color: var(--cui-list-group-disabled-bg);
}

.list-group-item.active {
  z-index: 2;
  color: var(--cui-list-group-active-color);
  background-color: var(--cui-list-group-active-bg);
  border-color: var(--cui-list-group-active-border-color);
}

.list-group-item + .list-group-item {
  border-top-width: 0;
}

.list-group-item + .list-group-item.active {
  margin-top: calc(-1 * var(--cui-list-group-border-width));
  border-top-width: var(--cui-list-group-border-width);
}

.list-group-item-action {
  width: 100%;
  color: var(--cui-list-group-action-color);
  text-align: inherit;
}

.list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):focus {
  z-index: 1;
  color: var(--cui-list-group-action-hover-color);
  text-decoration: none;
  background-color: var(--cui-list-group-action-hover-bg);
}

.list-group-item-action:not(.active):active {
  color: var(--cui-list-group-action-active-color);
  background-color: var(--cui-list-group-action-active-bg);
}

.list-group-horizontal {
  flex-direction: row;
}

.list-group-horizontal > .list-group-item:first-child:not(:last-child) {
  border-end-start-radius: var(--cui-list-group-border-radius);
  border-start-end-radius: 0;
}

.list-group-horizontal > .list-group-item:last-child:not(:first-child) {
  border-start-end-radius: var(--cui-list-group-border-radius);
  border-end-start-radius: 0;
}

.list-group-horizontal > .list-group-item.active {
  margin-top: 0;
}

.list-group-horizontal > .list-group-item + .list-group-item {
  border-inline-start-width: 0;
  border-top-width: var(--cui-list-group-border-width);
}

.list-group-horizontal > .list-group-item + .list-group-item.active {
  margin-inline-start: calc(-1 * var(--cui-list-group-border-width));
  border-inline-start-width: var(--cui-list-group-border-width);
}

@media (min-width: 576px) {
  .list-group-horizontal-sm {
    flex-direction: row;
  }
  .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {
    border-end-start-radius: var(--cui-list-group-border-radius);
    border-start-end-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {
    border-start-end-radius: var(--cui-list-group-border-radius);
    border-end-start-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item {
    border-inline-start-width: 0;
    border-top-width: var(--cui-list-group-border-width);
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
    margin-inline-start: calc(-1 * var(--cui-list-group-border-width));
    border-inline-start-width: var(--cui-list-group-border-width);
  }
}
@media (min-width: 768px) {
  .list-group-horizontal-md {
    flex-direction: row;
  }
  .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {
    border-end-start-radius: var(--cui-list-group-border-radius);
    border-start-end-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {
    border-start-end-radius: var(--cui-list-group-border-radius);
    border-end-start-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item {
    border-inline-start-width: 0;
    border-top-width: var(--cui-list-group-border-width);
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item.active {
    margin-inline-start: calc(-1 * var(--cui-list-group-border-width));
    border-inline-start-width: var(--cui-list-group-border-width);
  }
}
@media (min-width: 992px) {
  .list-group-horizontal-lg {
    flex-direction: row;
  }
  .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {
    border-end-start-radius: var(--cui-list-group-border-radius);
    border-start-end-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {
    border-start-end-radius: var(--cui-list-group-border-radius);
    border-end-start-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item {
    border-inline-start-width: 0;
    border-top-width: var(--cui-list-group-border-width);
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
    margin-inline-start: calc(-1 * var(--cui-list-group-border-width));
    border-inline-start-width: var(--cui-list-group-border-width);
  }
}
@media (min-width: 1200px) {
  .list-group-horizontal-xl {
    flex-direction: row;
  }
  .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {
    border-end-start-radius: var(--cui-list-group-border-radius);
    border-start-end-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {
    border-start-end-radius: var(--cui-list-group-border-radius);
    border-end-start-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item {
    border-inline-start-width: 0;
    border-top-width: var(--cui-list-group-border-width);
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
    margin-inline-start: calc(-1 * var(--cui-list-group-border-width));
    border-inline-start-width: var(--cui-list-group-border-width);
  }
}
@media (min-width: 1400px) {
  .list-group-horizontal-xxl {
    flex-direction: row;
  }
  .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {
    border-end-start-radius: var(--cui-list-group-border-radius);
    border-start-end-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {
    border-start-end-radius: var(--cui-list-group-border-radius);
    border-end-start-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item {
    border-inline-start-width: 0;
    border-top-width: var(--cui-list-group-border-width);
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {
    margin-inline-start: calc(-1 * var(--cui-list-group-border-width));
    border-inline-start-width: var(--cui-list-group-border-width);
  }
}
.list-group-flush {
  border-radius: 0;
}

.list-group-flush > .list-group-item {
  border-width: 0 0 var(--cui-list-group-border-width);
}

.list-group-flush > .list-group-item:last-child {
  border-bottom-width: 0;
}

.list-group-item-primary {
  --cui-list-group-color: var(--cui-primary-text-emphasis);
  --cui-list-group-bg: var(--cui-primary-bg-subtle);
  --cui-list-group-border-color: var(--cui-primary-border-subtle);
  --cui-list-group-action-hover-color: var(--cui-emphasis-color);
  --cui-list-group-action-hover-bg: var(--cui-primary-border-subtle);
  --cui-list-group-action-active-color: var(--cui-emphasis-color);
  --cui-list-group-action-active-bg: var(--cui-primary-border-subtle);
  --cui-list-group-active-color: var(--cui-primary-bg-subtle);
  --cui-list-group-active-bg: var(--cui-primary-text-emphasis);
  --cui-list-group-active-border-color: var(--cui-primary-text-emphasis);
}

.list-group-item-secondary {
  --cui-list-group-color: var(--cui-secondary-text-emphasis);
  --cui-list-group-bg: var(--cui-secondary-bg-subtle);
  --cui-list-group-border-color: var(--cui-secondary-border-subtle);
  --cui-list-group-action-hover-color: var(--cui-emphasis-color);
  --cui-list-group-action-hover-bg: var(--cui-secondary-border-subtle);
  --cui-list-group-action-active-color: var(--cui-emphasis-color);
  --cui-list-group-action-active-bg: var(--cui-secondary-border-subtle);
  --cui-list-group-active-color: var(--cui-secondary-bg-subtle);
  --cui-list-group-active-bg: var(--cui-secondary-text-emphasis);
  --cui-list-group-active-border-color: var(--cui-secondary-text-emphasis);
}

.list-group-item-success {
  --cui-list-group-color: var(--cui-success-text-emphasis);
  --cui-list-group-bg: var(--cui-success-bg-subtle);
  --cui-list-group-border-color: var(--cui-success-border-subtle);
  --cui-list-group-action-hover-color: var(--cui-emphasis-color);
  --cui-list-group-action-hover-bg: var(--cui-success-border-subtle);
  --cui-list-group-action-active-color: var(--cui-emphasis-color);
  --cui-list-group-action-active-bg: var(--cui-success-border-subtle);
  --cui-list-group-active-color: var(--cui-success-bg-subtle);
  --cui-list-group-active-bg: var(--cui-success-text-emphasis);
  --cui-list-group-active-border-color: var(--cui-success-text-emphasis);
}

.list-group-item-info {
  --cui-list-group-color: var(--cui-info-text-emphasis);
  --cui-list-group-bg: var(--cui-info-bg-subtle);
  --cui-list-group-border-color: var(--cui-info-border-subtle);
  --cui-list-group-action-hover-color: var(--cui-emphasis-color);
  --cui-list-group-action-hover-bg: var(--cui-info-border-subtle);
  --cui-list-group-action-active-color: var(--cui-emphasis-color);
  --cui-list-group-action-active-bg: var(--cui-info-border-subtle);
  --cui-list-group-active-color: var(--cui-info-bg-subtle);
  --cui-list-group-active-bg: var(--cui-info-text-emphasis);
  --cui-list-group-active-border-color: var(--cui-info-text-emphasis);
}

.list-group-item-warning {
  --cui-list-group-color: var(--cui-warning-text-emphasis);
  --cui-list-group-bg: var(--cui-warning-bg-subtle);
  --cui-list-group-border-color: var(--cui-warning-border-subtle);
  --cui-list-group-action-hover-color: var(--cui-emphasis-color);
  --cui-list-group-action-hover-bg: var(--cui-warning-border-subtle);
  --cui-list-group-action-active-color: var(--cui-emphasis-color);
  --cui-list-group-action-active-bg: var(--cui-warning-border-subtle);
  --cui-list-group-active-color: var(--cui-warning-bg-subtle);
  --cui-list-group-active-bg: var(--cui-warning-text-emphasis);
  --cui-list-group-active-border-color: var(--cui-warning-text-emphasis);
}

.list-group-item-danger {
  --cui-list-group-color: var(--cui-danger-text-emphasis);
  --cui-list-group-bg: var(--cui-danger-bg-subtle);
  --cui-list-group-border-color: var(--cui-danger-border-subtle);
  --cui-list-group-action-hover-color: var(--cui-emphasis-color);
  --cui-list-group-action-hover-bg: var(--cui-danger-border-subtle);
  --cui-list-group-action-active-color: var(--cui-emphasis-color);
  --cui-list-group-action-active-bg: var(--cui-danger-border-subtle);
  --cui-list-group-active-color: var(--cui-danger-bg-subtle);
  --cui-list-group-active-bg: var(--cui-danger-text-emphasis);
  --cui-list-group-active-border-color: var(--cui-danger-text-emphasis);
}

.list-group-item-light {
  --cui-list-group-color: var(--cui-light-text-emphasis);
  --cui-list-group-bg: var(--cui-light-bg-subtle);
  --cui-list-group-border-color: var(--cui-light-border-subtle);
  --cui-list-group-action-hover-color: var(--cui-emphasis-color);
  --cui-list-group-action-hover-bg: var(--cui-light-border-subtle);
  --cui-list-group-action-active-color: var(--cui-emphasis-color);
  --cui-list-group-action-active-bg: var(--cui-light-border-subtle);
  --cui-list-group-active-color: var(--cui-light-bg-subtle);
  --cui-list-group-active-bg: var(--cui-light-text-emphasis);
  --cui-list-group-active-border-color: var(--cui-light-text-emphasis);
}

.list-group-item-dark {
  --cui-list-group-color: var(--cui-dark-text-emphasis);
  --cui-list-group-bg: var(--cui-dark-bg-subtle);
  --cui-list-group-border-color: var(--cui-dark-border-subtle);
  --cui-list-group-action-hover-color: var(--cui-emphasis-color);
  --cui-list-group-action-hover-bg: var(--cui-dark-border-subtle);
  --cui-list-group-action-active-color: var(--cui-emphasis-color);
  --cui-list-group-action-active-bg: var(--cui-dark-border-subtle);
  --cui-list-group-active-color: var(--cui-dark-bg-subtle);
  --cui-list-group-active-bg: var(--cui-dark-text-emphasis);
  --cui-list-group-active-border-color: var(--cui-dark-text-emphasis);
}

.btn-close {
  --cui-btn-close-color: #080a0c;
  --cui-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23080a0c%27%3e%3cpath d=%27M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414%27/%3e%3c/svg%3e");
  --cui-btn-close-opacity: 0.5;
  --cui-btn-close-hover-opacity: 0.75;
  --cui-btn-close-focus-shadow: 0 0 0 0.25rem rgba(88, 86, 214, 0.25);
  --cui-btn-close-focus-opacity: 1;
  --cui-btn-close-disabled-opacity: 0.25;
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  padding: 0.25em 0.25em;
  color: var(--cui-btn-close-color);
  background: transparent var(--cui-btn-close-bg) center/1em auto no-repeat;
  filter: var(--cui-btn-close-filter);
  border: 0;
  border-radius: 0.375rem;
  opacity: var(--cui-btn-close-opacity);
}

.btn-close:hover {
  color: var(--cui-btn-close-color);
  text-decoration: none;
  opacity: var(--cui-btn-close-hover-opacity);
}

.btn-close:focus {
  outline: 0;
  box-shadow: var(--cui-btn-close-focus-shadow);
  opacity: var(--cui-btn-close-focus-opacity);
}

.btn-close:disabled, .btn-close.disabled {
  pointer-events: none;
  user-select: none;
  opacity: var(--cui-btn-close-disabled-opacity);
}

.btn-close-white {
  --cui-btn-close-filter: invert(1) grayscale(100%) brightness(200%);
}

:root,
[data-coreui-theme=light] {
  --cui-btn-close-filter: ;
}

[data-coreui-theme=dark] {
  --cui-btn-close-filter: invert(1) grayscale(100%) brightness(200%);
}

.toast {
  --cui-toast-zindex: 1090;
  --cui-toast-padding-x: 0.75rem;
  --cui-toast-padding-y: 0.5rem;
  --cui-toast-spacing: 1.5rem;
  --cui-toast-max-width: 350px;
  --cui-toast-font-size: 0.875rem;
  --cui-toast-color: ;
  --cui-toast-bg: rgba(var(--cui-body-bg-rgb), 0.85);
  --cui-toast-border-width: var(--cui-border-width);
  --cui-toast-border-color: var(--cui-border-color-translucent);
  --cui-toast-border-radius: var(--cui-border-radius);
  --cui-toast-box-shadow: var(--cui-box-shadow);
  --cui-toast-header-color: var(--cui-secondary-color);
  --cui-toast-header-bg: rgba(var(--cui-body-bg-rgb), 0.85);
  --cui-toast-header-border-color: var(--cui-border-color-translucent);
  width: var(--cui-toast-max-width);
  max-width: 100%;
  font-size: var(--cui-toast-font-size);
  color: var(--cui-toast-color);
  pointer-events: auto;
  background-color: var(--cui-toast-bg);
  background-clip: padding-box;
  border: var(--cui-toast-border-width) solid var(--cui-toast-border-color);
  box-shadow: var(--cui-toast-box-shadow);
  border-radius: var(--cui-toast-border-radius);
}

.toast.showing {
  opacity: 0;
}

.toast:not(.show) {
  display: none;
}

.toast-container {
  --cui-toast-zindex: 1090;
  position: absolute;
  z-index: var(--cui-toast-zindex);
  width: max-content;
  max-width: 100%;
  pointer-events: none;
}

.toast-container > :not(:last-child) {
  margin-bottom: var(--cui-toast-spacing);
}

.toast-header {
  display: flex;
  align-items: center;
  padding: var(--cui-toast-padding-y) var(--cui-toast-padding-x);
  color: var(--cui-toast-header-color);
  background-color: var(--cui-toast-header-bg);
  background-clip: padding-box;
  border-bottom: var(--cui-toast-border-width) solid var(--cui-toast-header-border-color);
  border-top-left-radius: calc(var(--cui-toast-border-radius) - var(--cui-toast-border-width));
  border-top-right-radius: calc(var(--cui-toast-border-radius) - var(--cui-toast-border-width));
}

.toast-header .btn-close {
  margin-inline: var(--cui-toast-padding-x) calc(-0.5 * var(--cui-toast-padding-x));
}

.toast-body {
  padding: var(--cui-toast-padding-x);
  word-wrap: break-word;
}

.modal {
  --cui-modal-zindex: 1055;
  --cui-modal-width: 500px;
  --cui-modal-padding: 1rem;
  --cui-modal-margin: 0.5rem;
  --cui-modal-color: var(--cui-body-color);
  --cui-modal-bg: var(--cui-body-bg);
  --cui-modal-border-color: var(--cui-border-color-translucent);
  --cui-modal-border-width: var(--cui-border-width);
  --cui-modal-border-radius: var(--cui-border-radius-lg);
  --cui-modal-box-shadow: var(--cui-box-shadow-sm);
  --cui-modal-inner-border-radius: calc(var(--cui-border-radius-lg) - (var(--cui-border-width)));
  --cui-modal-header-padding-x: 1rem;
  --cui-modal-header-padding-y: 1rem;
  --cui-modal-header-padding: 1rem 1rem;
  --cui-modal-header-border-color: var(--cui-border-color);
  --cui-modal-header-border-width: var(--cui-border-width);
  --cui-modal-title-line-height: 1.5;
  --cui-modal-footer-gap: 0.5rem;
  --cui-modal-footer-bg: ;
  --cui-modal-footer-border-color: var(--cui-border-color);
  --cui-modal-footer-border-width: var(--cui-border-width);
  position: fixed;
  inset-inline-start: 0;
  top: 0;
  z-index: var(--cui-modal-zindex);
  display: none;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  outline: 0;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: var(--cui-modal-margin);
  pointer-events: none;
}

.modal.fade .modal-dialog {
  transform: translate(0, -50px);
  transition: transform 0.3s ease-out;
}

@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}
.modal.show .modal-dialog {
  transform: none;
}

.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}

.modal-dialog-scrollable {
  height: calc(100% - var(--cui-modal-margin) * 2);
}

.modal-dialog-scrollable .modal-content {
  max-height: 100%;
  overflow: hidden;
}

.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - var(--cui-modal-margin) * 2);
}

.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  color: var(--cui-modal-color);
  pointer-events: auto;
  background-color: var(--cui-modal-bg);
  background-clip: padding-box;
  border: var(--cui-modal-border-width) solid var(--cui-modal-border-color);
  border-radius: var(--cui-modal-border-radius);
  outline: 0;
}

.modal-backdrop {
  --cui-backdrop-zindex: 1050;
  --cui-backdrop-bg: #080a0c;
  --cui-backdrop-opacity: 0.5;
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--cui-backdrop-zindex);
  width: 100vw;
  height: 100vh;
  background-color: var(--cui-backdrop-bg);
}

.modal-backdrop.fade {
  opacity: 0;
}

.modal-backdrop.show {
  opacity: var(--cui-backdrop-opacity);
}

.modal-header {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  padding: var(--cui-modal-header-padding);
  border-bottom: var(--cui-modal-header-border-width) solid var(--cui-modal-header-border-color);
  border-top-left-radius: var(--cui-modal-inner-border-radius);
  border-top-right-radius: var(--cui-modal-inner-border-radius);
}

.modal-header .btn-close {
  padding: calc(var(--cui-modal-header-padding-y) * 0.5) calc(var(--cui-modal-header-padding-x) * 0.5);
  margin-inline-start: auto;
  margin-inline-end: calc(-0.5 * var(--cui-modal-header-padding-x));
  margin-top: calc(-0.5 * var(--cui-modal-header-padding-y));
  margin-bottom: calc(-0.5 * var(--cui-modal-header-padding-y));
}

.modal-title {
  margin-bottom: 0;
  line-height: var(--cui-modal-title-line-height);
}

.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: var(--cui-modal-padding);
}

.modal-footer {
  display: flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: calc(var(--cui-modal-padding) - var(--cui-modal-footer-gap) * 0.5);
  background-color: var(--cui-modal-footer-bg);
  border-top: var(--cui-modal-footer-border-width) solid var(--cui-modal-footer-border-color);
  border-bottom-right-radius: var(--cui-modal-inner-border-radius);
  border-bottom-left-radius: var(--cui-modal-inner-border-radius);
}

.modal-footer > * {
  margin: calc(var(--cui-modal-footer-gap) * 0.5);
}

@media (min-width: 576px) {
  .modal {
    --cui-modal-margin: 1.75rem;
    --cui-modal-box-shadow: var(--cui-box-shadow);
  }
  .modal-dialog {
    max-width: var(--cui-modal-width);
    margin-right: auto;
    margin-left: auto;
  }
  .modal-sm {
    --cui-modal-width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg,
  .modal-xl {
    --cui-modal-width: 800px;
  }
}
@media (min-width: 1200px) {
  .modal-xl {
    --cui-modal-width: 1140px;
  }
}
.modal-fullscreen {
  width: 100vw;
  max-width: none;
  height: 100%;
  margin: 0;
}

.modal-fullscreen .modal-content {
  height: 100%;
  border: 0;
  border-radius: 0;
}

.modal-fullscreen .modal-header,
.modal-fullscreen .modal-footer {
  border-radius: 0;
}

.modal-fullscreen .modal-body {
  overflow-y: auto;
}

@media (max-width: 575.98px) {
  .modal-fullscreen-sm-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-sm-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-header,
  .modal-fullscreen-sm-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 767.98px) {
  .modal-fullscreen-md-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-md-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-header,
  .modal-fullscreen-md-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 991.98px) {
  .modal-fullscreen-lg-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-lg-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-header,
  .modal-fullscreen-lg-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1199.98px) {
  .modal-fullscreen-xl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-header,
  .modal-fullscreen-xl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1399.98px) {
  .modal-fullscreen-xxl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xxl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-header,
  .modal-fullscreen-xxl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-body {
    overflow-y: auto;
  }
}
.tooltip {
  --cui-tooltip-zindex: 1080;
  --cui-tooltip-max-width: 200px;
  --cui-tooltip-padding-x: 0.5rem;
  --cui-tooltip-padding-y: 0.25rem;
  --cui-tooltip-margin: ;
  --cui-tooltip-font-size: 0.875rem;
  --cui-tooltip-color: var(--cui-body-bg);
  --cui-tooltip-bg: var(--cui-emphasis-color);
  --cui-tooltip-border-radius: var(--cui-border-radius);
  --cui-tooltip-opacity: 0.9;
  --cui-tooltip-arrow-width: 0.8rem;
  --cui-tooltip-arrow-height: 0.4rem;
  z-index: var(--cui-tooltip-zindex);
  display: block;
  margin: var(--cui-tooltip-margin);
  font-family: var(--cui-font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: var(--cui-tooltip-font-size);
  word-wrap: break-word;
  opacity: 0;
}

.tooltip.show {
  opacity: var(--cui-tooltip-opacity);
}

.tooltip .tooltip-arrow {
  display: block;
  width: var(--cui-tooltip-arrow-width);
  height: var(--cui-tooltip-arrow-height);
}

.tooltip .tooltip-arrow::before {
  position: absolute;
  content: "";
  border-color: transparent;
  border-style: solid;
}

.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {
  bottom: calc(-1 * var(--cui-tooltip-arrow-height));
}

.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {
  top: -1px;
  border-width: var(--cui-tooltip-arrow-height) calc(var(--cui-tooltip-arrow-width) * 0.5) 0;
  border-top-color: var(--cui-tooltip-bg);
}

/* rtl:begin:ignore */
.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {
  left: calc(-1 * var(--cui-tooltip-arrow-height));
  width: var(--cui-tooltip-arrow-height);
  height: var(--cui-tooltip-arrow-width);
}

.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {
  right: -1px;
  border-width: calc(var(--cui-tooltip-arrow-width) * 0.5) var(--cui-tooltip-arrow-height) calc(var(--cui-tooltip-arrow-width) * 0.5) 0;
  border-right-color: var(--cui-tooltip-bg);
}

/* rtl:end:ignore */
.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {
  top: calc(-1 * var(--cui-tooltip-arrow-height));
}

.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {
  bottom: -1px;
  border-width: 0 calc(var(--cui-tooltip-arrow-width) * 0.5) var(--cui-tooltip-arrow-height);
  border-bottom-color: var(--cui-tooltip-bg);
}

/* rtl:begin:ignore */
.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {
  right: calc(-1 * var(--cui-tooltip-arrow-height));
  width: var(--cui-tooltip-arrow-height);
  height: var(--cui-tooltip-arrow-width);
}

.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {
  left: -1px;
  border-width: calc(var(--cui-tooltip-arrow-width) * 0.5) 0 calc(var(--cui-tooltip-arrow-width) * 0.5) var(--cui-tooltip-arrow-height);
  border-left-color: var(--cui-tooltip-bg);
}

/* rtl:end:ignore */
.tooltip-inner {
  max-width: var(--cui-tooltip-max-width);
  padding: var(--cui-tooltip-padding-y) var(--cui-tooltip-padding-x);
  color: var(--cui-tooltip-color);
  text-align: center;
  background-color: var(--cui-tooltip-bg);
  border-radius: var(--cui-tooltip-border-radius);
}

.popover {
  --cui-popover-zindex: 1070;
  --cui-popover-max-width: 276px;
  --cui-popover-font-size: 0.875rem;
  --cui-popover-bg: var(--cui-body-bg);
  --cui-popover-border-width: var(--cui-border-width);
  --cui-popover-border-color: var(--cui-border-color-translucent);
  --cui-popover-border-radius: var(--cui-border-radius-lg);
  --cui-popover-inner-border-radius: calc(var(--cui-border-radius-lg) - var(--cui-border-width));
  --cui-popover-box-shadow: var(--cui-box-shadow);
  --cui-popover-header-padding-x: 1rem;
  --cui-popover-header-padding-y: 0.5rem;
  --cui-popover-header-font-size: 1rem;
  --cui-popover-header-color: inherit;
  --cui-popover-header-bg: var(--cui-secondary-bg);
  --cui-popover-body-padding-x: 1rem;
  --cui-popover-body-padding-y: 1rem;
  --cui-popover-body-color: var(--cui-body-color);
  --cui-popover-arrow-width: 1rem;
  --cui-popover-arrow-height: 0.5rem;
  --cui-popover-arrow-border: var(--cui-popover-border-color);
  z-index: var(--cui-popover-zindex);
  display: block;
  max-width: var(--cui-popover-max-width);
  font-family: var(--cui-font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: var(--cui-popover-font-size);
  word-wrap: break-word;
  background-color: var(--cui-popover-bg);
  background-clip: padding-box;
  border: var(--cui-popover-border-width) solid var(--cui-popover-border-color);
  border-radius: var(--cui-popover-border-radius);
}

.popover .popover-arrow {
  display: block;
  width: var(--cui-popover-arrow-width);
  height: var(--cui-popover-arrow-height);
}

.popover .popover-arrow::before, .popover .popover-arrow::after {
  position: absolute;
  display: block;
  content: "";
  border-color: transparent;
  border-style: solid;
  border-width: 0;
}

.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {
  bottom: calc(-1 * (var(--cui-popover-arrow-height)) - var(--cui-popover-border-width));
}

.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
  border-width: var(--cui-popover-arrow-height) calc(var(--cui-popover-arrow-width) * 0.5) 0;
}

.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before {
  bottom: 0;
  border-top-color: var(--cui-popover-arrow-border);
}

.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
  bottom: var(--cui-popover-border-width);
  border-top-color: var(--cui-popover-bg);
}

/* rtl:begin:ignore */
.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {
  left: calc(-1 * (var(--cui-popover-arrow-height)) - var(--cui-popover-border-width));
  width: var(--cui-popover-arrow-height);
  height: var(--cui-popover-arrow-width);
}

.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
  border-width: calc(var(--cui-popover-arrow-width) * 0.5) var(--cui-popover-arrow-height) calc(var(--cui-popover-arrow-width) * 0.5) 0;
}

.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {
  left: 0;
  border-right-color: var(--cui-popover-arrow-border);
}

.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
  left: var(--cui-popover-border-width);
  border-right-color: var(--cui-popover-bg);
}

/* rtl:end:ignore */
.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {
  top: calc(-1 * (var(--cui-popover-arrow-height)) - var(--cui-popover-border-width));
}

.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
  border-width: 0 calc(var(--cui-popover-arrow-width) * 0.5) var(--cui-popover-arrow-height);
}

.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before {
  top: 0;
  border-bottom-color: var(--cui-popover-arrow-border);
}

.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
  top: var(--cui-popover-border-width);
  border-bottom-color: var(--cui-popover-bg);
}

.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: var(--cui-popover-arrow-width);
  margin-left: calc(-0.5 * var(--cui-popover-arrow-width));
  content: "";
  border-bottom: var(--cui-popover-border-width) solid var(--cui-popover-header-bg);
}

/* rtl:begin:ignore */
.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {
  right: calc(-1 * (var(--cui-popover-arrow-height)) - var(--cui-popover-border-width));
  width: var(--cui-popover-arrow-height);
  height: var(--cui-popover-arrow-width);
}

.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
  border-width: calc(var(--cui-popover-arrow-width) * 0.5) 0 calc(var(--cui-popover-arrow-width) * 0.5) var(--cui-popover-arrow-height);
}

.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {
  right: 0;
  border-left-color: var(--cui-popover-arrow-border);
}

.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
  right: var(--cui-popover-border-width);
  border-left-color: var(--cui-popover-bg);
}

/* rtl:end:ignore */
.popover-header {
  padding: var(--cui-popover-header-padding-y) var(--cui-popover-header-padding-x);
  margin-bottom: 0;
  font-size: var(--cui-popover-header-font-size);
  color: var(--cui-popover-header-color);
  background-color: var(--cui-popover-header-bg);
  border-bottom: var(--cui-popover-border-width) solid var(--cui-popover-border-color);
  border-top-left-radius: var(--cui-popover-inner-border-radius);
  border-top-right-radius: var(--cui-popover-inner-border-radius);
}

.popover-header:empty {
  display: none;
}

.popover-body {
  padding: var(--cui-popover-body-padding-y) var(--cui-popover-body-padding-x);
  color: var(--cui-popover-body-color);
}

.carousel {
  position: relative;
}

.carousel.pointer-event {
  touch-action: pan-y;
}

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.carousel-inner::after {
  display: block;
  clear: both;
  content: "";
}

.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  backface-visibility: hidden;
  transition: transform 0.6s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-item {
    transition: none;
  }
}
.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block;
}

.carousel-item-next:not(.carousel-item-start),
.active.carousel-item-end {
  transform: translateX(100%);
}

.carousel-item-prev:not(.carousel-item-end),
.active.carousel-item-start {
  transform: translateX(-100%);
}

.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  transform: none;
}

.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-start,
.carousel-fade .carousel-item-prev.carousel-item-end {
  z-index: 1;
  opacity: 1;
}

.carousel-fade .active.carousel-item-start,
.carousel-fade .active.carousel-item-end {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-fade .active.carousel-item-start,
  .carousel-fade .active.carousel-item-end {
    transition: none;
  }
}
.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  padding: 0;
  color: #fff;
  text-align: center;
  background: none;
  filter: var(--cui-carousel-control-icon-filter);
  border: 0;
  opacity: 0.5;
  transition: opacity 0.15s ease;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-control-prev,
  .carousel-control-next {
    transition: none;
  }
}
.carousel-control-prev:hover, .carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  opacity: 0.9;
}

.carousel-control-prev {
  left: 0;
}

.carousel-control-next {
  right: 0;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 100% 100%;
}

.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23fff%27%3e%3cpath d=%27M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0%27/%3e%3c/svg%3e");
}

.carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23fff%27%3e%3cpath d=%27M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708%27/%3e%3c/svg%3e");
}

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: flex;
  justify-content: center;
  padding: 0;
  margin-right: 15%;
  margin-bottom: 1rem;
  margin-left: 15%;
}

.carousel-indicators [data-coreui-target] {
  box-sizing: content-box;
  flex: 0 1 auto;
  width: 30px;
  height: 3px;
  padding: 0;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: #fff;
  background-clip: padding-box;
  border: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: 0.5;
  transition: opacity 0.6s ease;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-indicators [data-coreui-target] {
    transition: none;
  }
}
.carousel-indicators .active {
  opacity: 1;
}

.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 1.25rem;
  left: 15%;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  color: var(--cui-carousel-caption-color);
  text-align: center;
}

.carousel-dark {
  --cui-carousel-indicator-active-bg: #080a0c;
  --cui-carousel-caption-color: #080a0c;
  --cui-carousel-control-icon-filter: invert(1) grayscale(100);
}

:root,
[data-coreui-theme=light] {
  --cui-carousel-indicator-active-bg: #fff;
  --cui-carousel-caption-color: #fff;
  --cui-carousel-control-icon-filter: ;
}

[data-coreui-theme=dark] {
  --cui-carousel-indicator-active-bg: #080a0c;
  --cui-carousel-caption-color: #080a0c;
  --cui-carousel-control-icon-filter: invert(1) grayscale(100);
}

.spinner-grow,
.spinner-border {
  display: inline-block;
  width: var(--cui-spinner-width);
  height: var(--cui-spinner-height);
  vertical-align: var(--cui-spinner-vertical-align);
  border-radius: 50%;
  animation: var(--cui-spinner-animation-speed) linear infinite var(--cui-spinner-animation-name);
}

@keyframes spinner-border {
  to {
    transform: rotate(360deg) /* rtl:ignore */;
  }
}
.spinner-border {
  --cui-spinner-width: 2rem;
  --cui-spinner-height: 2rem;
  --cui-spinner-vertical-align: -0.125em;
  --cui-spinner-border-width: 0.25em;
  --cui-spinner-animation-speed: 0.75s;
  --cui-spinner-animation-name: spinner-border;
  border: var(--cui-spinner-border-width) solid currentcolor;
  border-right-color: transparent;
}

.spinner-border-sm {
  --cui-spinner-width: 1rem;
  --cui-spinner-height: 1rem;
  --cui-spinner-border-width: 0.2em;
}

@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: none;
  }
}
.spinner-grow {
  --cui-spinner-width: 2rem;
  --cui-spinner-height: 2rem;
  --cui-spinner-vertical-align: -0.125em;
  --cui-spinner-animation-speed: 0.75s;
  --cui-spinner-animation-name: spinner-grow;
  background-color: currentcolor;
  opacity: 0;
}

.spinner-grow-sm {
  --cui-spinner-width: 1rem;
  --cui-spinner-height: 1rem;
}

@media (prefers-reduced-motion: reduce) {
  .spinner-border,
  .spinner-grow {
    --cui-spinner-animation-speed: 1.5s;
  }
}
.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {
  --cui-offcanvas-zindex: 1045;
  --cui-offcanvas-width: 400px;
  --cui-offcanvas-height: 30vh;
  --cui-offcanvas-padding-x: 1rem;
  --cui-offcanvas-padding-y: 1rem;
  --cui-offcanvas-color: var(--cui-body-color);
  --cui-offcanvas-bg: var(--cui-body-bg);
  --cui-offcanvas-border-width: var(--cui-border-width);
  --cui-offcanvas-border-color: var(--cui-border-color-translucent);
  --cui-offcanvas-box-shadow: var(--cui-box-shadow-sm);
  --cui-offcanvas-transition: transform 0.3s ease-in-out;
  --cui-offcanvas-title-line-height: 1.5;
}

@media (max-width: 575.98px) {
  .offcanvas-sm {
    position: fixed;
    bottom: 0;
    z-index: var(--cui-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--cui-offcanvas-color);
    visibility: hidden;
    background-color: var(--cui-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--cui-offcanvas-transition);
  }
}
@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-sm {
    transition: none;
  }
}
@media (max-width: 575.98px) {
  .offcanvas-sm.offcanvas-start {
    inset-inline-start: 0;
    top: 0;
    width: var(--cui-offcanvas-width);
    border-inline-end: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-sm.offcanvas-end {
    inset-inline-end: 0;
    top: 0;
    width: var(--cui-offcanvas-width);
    border-inline-start: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-sm.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--cui-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-sm.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--cui-offcanvas-height);
    max-height: 100%;
    border-top: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {
    transform: none !important;
  }
  .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {
    visibility: visible;
  }
}
@media (min-width: 576px) {
  .offcanvas-sm {
    --cui-offcanvas-height: auto;
    --cui-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-sm .offcanvas-header {
    display: none;
  }
  .offcanvas-sm .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}
@media (max-width: 767.98px) {
  .offcanvas-md {
    position: fixed;
    bottom: 0;
    z-index: var(--cui-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--cui-offcanvas-color);
    visibility: hidden;
    background-color: var(--cui-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--cui-offcanvas-transition);
  }
}
@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-md {
    transition: none;
  }
}
@media (max-width: 767.98px) {
  .offcanvas-md.offcanvas-start {
    inset-inline-start: 0;
    top: 0;
    width: var(--cui-offcanvas-width);
    border-inline-end: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-md.offcanvas-end {
    inset-inline-end: 0;
    top: 0;
    width: var(--cui-offcanvas-width);
    border-inline-start: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-md.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--cui-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-md.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--cui-offcanvas-height);
    max-height: 100%;
    border-top: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {
    transform: none !important;
  }
  .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {
    visibility: visible;
  }
}
@media (min-width: 768px) {
  .offcanvas-md {
    --cui-offcanvas-height: auto;
    --cui-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-md .offcanvas-header {
    display: none;
  }
  .offcanvas-md .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}
@media (max-width: 991.98px) {
  .offcanvas-lg {
    position: fixed;
    bottom: 0;
    z-index: var(--cui-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--cui-offcanvas-color);
    visibility: hidden;
    background-color: var(--cui-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--cui-offcanvas-transition);
  }
}
@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-lg {
    transition: none;
  }
}
@media (max-width: 991.98px) {
  .offcanvas-lg.offcanvas-start {
    inset-inline-start: 0;
    top: 0;
    width: var(--cui-offcanvas-width);
    border-inline-end: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-lg.offcanvas-end {
    inset-inline-end: 0;
    top: 0;
    width: var(--cui-offcanvas-width);
    border-inline-start: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-lg.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--cui-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-lg.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--cui-offcanvas-height);
    max-height: 100%;
    border-top: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {
    transform: none !important;
  }
  .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {
    visibility: visible;
  }
}
@media (min-width: 992px) {
  .offcanvas-lg {
    --cui-offcanvas-height: auto;
    --cui-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-lg .offcanvas-header {
    display: none;
  }
  .offcanvas-lg .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}
@media (max-width: 1199.98px) {
  .offcanvas-xl {
    position: fixed;
    bottom: 0;
    z-index: var(--cui-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--cui-offcanvas-color);
    visibility: hidden;
    background-color: var(--cui-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--cui-offcanvas-transition);
  }
}
@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-xl {
    transition: none;
  }
}
@media (max-width: 1199.98px) {
  .offcanvas-xl.offcanvas-start {
    inset-inline-start: 0;
    top: 0;
    width: var(--cui-offcanvas-width);
    border-inline-end: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-xl.offcanvas-end {
    inset-inline-end: 0;
    top: 0;
    width: var(--cui-offcanvas-width);
    border-inline-start: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-xl.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--cui-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-xl.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--cui-offcanvas-height);
    max-height: 100%;
    border-top: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {
    transform: none !important;
  }
  .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {
    visibility: visible;
  }
}
@media (min-width: 1200px) {
  .offcanvas-xl {
    --cui-offcanvas-height: auto;
    --cui-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-xl .offcanvas-header {
    display: none;
  }
  .offcanvas-xl .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}
@media (max-width: 1399.98px) {
  .offcanvas-xxl {
    position: fixed;
    bottom: 0;
    z-index: var(--cui-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--cui-offcanvas-color);
    visibility: hidden;
    background-color: var(--cui-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--cui-offcanvas-transition);
  }
}
@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-xxl {
    transition: none;
  }
}
@media (max-width: 1399.98px) {
  .offcanvas-xxl.offcanvas-start {
    inset-inline-start: 0;
    top: 0;
    width: var(--cui-offcanvas-width);
    border-inline-end: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-xxl.offcanvas-end {
    inset-inline-end: 0;
    top: 0;
    width: var(--cui-offcanvas-width);
    border-inline-start: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-xxl.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--cui-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-xxl.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--cui-offcanvas-height);
    max-height: 100%;
    border-top: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {
    transform: none !important;
  }
  .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show {
    visibility: visible;
  }
}
@media (min-width: 1400px) {
  .offcanvas-xxl {
    --cui-offcanvas-height: auto;
    --cui-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-xxl .offcanvas-header {
    display: none;
  }
  .offcanvas-xxl .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}
.offcanvas {
  position: fixed;
  bottom: 0;
  z-index: var(--cui-offcanvas-zindex);
  display: flex;
  flex-direction: column;
  max-width: 100%;
  color: var(--cui-offcanvas-color);
  visibility: hidden;
  background-color: var(--cui-offcanvas-bg);
  background-clip: padding-box;
  outline: 0;
  transition: var(--cui-offcanvas-transition);
}

@media (prefers-reduced-motion: reduce) {
  .offcanvas {
    transition: none;
  }
}
.offcanvas.offcanvas-start {
  inset-inline-start: 0;
  top: 0;
  width: var(--cui-offcanvas-width);
  border-inline-end: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
  transform: translateX(-100%);
}

.offcanvas.offcanvas-end {
  inset-inline-end: 0;
  top: 0;
  width: var(--cui-offcanvas-width);
  border-inline-start: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
  transform: translateX(100%);
}

.offcanvas.offcanvas-top {
  top: 0;
  right: 0;
  left: 0;
  height: var(--cui-offcanvas-height);
  max-height: 100%;
  border-bottom: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
  transform: translateY(-100%);
}

.offcanvas.offcanvas-bottom {
  right: 0;
  left: 0;
  height: var(--cui-offcanvas-height);
  max-height: 100%;
  border-top: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
  transform: translateY(100%);
}

.offcanvas.showing, .offcanvas.show:not(.hiding) {
  transform: none !important;
}

.offcanvas.showing, .offcanvas.hiding, .offcanvas.show {
  visibility: visible;
}

.offcanvas-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  width: 100vw;
  height: 100vh;
  background-color: var(--cui-offcanvas-backdrop-bg, #080a0c);
}

.offcanvas-backdrop.fade {
  opacity: 0;
}

.offcanvas-backdrop.show {
  opacity: 0.5;
}

.offcanvas-header {
  display: flex;
  align-items: center;
  padding: var(--cui-offcanvas-padding-y) var(--cui-offcanvas-padding-x);
}

.offcanvas-header .btn-close {
  padding: calc(var(--cui-offcanvas-padding-y) * 0.5) calc(var(--cui-offcanvas-padding-x) * 0.5);
  margin-inline-start: auto;
  margin-inline-end: calc(-0.5 * var(--cui-offcanvas-padding-x));
  margin-top: calc(-0.5 * var(--cui-offcanvas-padding-y));
  margin-bottom: calc(-0.5 * var(--cui-offcanvas-padding-y));
}

.offcanvas-title {
  margin-bottom: 0;
  line-height: var(--cui-offcanvas-title-line-height);
}

.offcanvas-body {
  flex-grow: 1;
  padding: var(--cui-offcanvas-padding-y) var(--cui-offcanvas-padding-x);
  overflow-y: auto;
}

.placeholder {
  display: inline-block;
  min-height: 1em;
  vertical-align: middle;
  cursor: wait;
  background-color: currentcolor;
  opacity: 0.5;
}

.placeholder.btn::before {
  display: inline-block;
  content: "";
}

.placeholder-xs {
  min-height: 0.6em;
}

.placeholder-sm {
  min-height: 0.8em;
}

.placeholder-lg {
  min-height: 1.2em;
}

.placeholder-glow .placeholder {
  animation: placeholder-glow 2s ease-in-out infinite;
}

@keyframes placeholder-glow {
  50% {
    opacity: 0.2;
  }
}
.placeholder-wave {
  mask-image: linear-gradient(130deg, #080a0c 55%, rgba(0, 0, 0, 0.8) 75%, #080a0c 95%);
  mask-size: 200% 100%;
  animation: placeholder-wave 2s linear infinite;
}

@keyframes placeholder-wave {
  100% {
    mask-position: -200% 0%;
  }
}
.avatar {
  --cui-avatar-width: 2rem;
  --cui-avatar-height: 2rem;
  --cui-avatar-font-size: 0.8rem;
  --cui-avatar-border-radius: 50em;
  --cui-avatar-status-width: 0.5rem;
  --cui-avatar-status-height: 0.5rem;
  --cui-avatar-status-border-radius: 50em;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--cui-avatar-width);
  height: var(--cui-avatar-height);
  font-size: var(--cui-avatar-font-size);
  vertical-align: middle;
  border-radius: var(--cui-avatar-border-radius);
  transition: margin 0.15s;
}

@media (prefers-reduced-motion: reduce) {
  .avatar {
    transition: none;
  }
}
.avatar-img {
  width: 100%;
  height: auto;
  border-radius: var(--cui-avatar-border-radius);
}

.avatar-status {
  position: absolute;
  inset-inline-end: 0;
  bottom: 0;
  display: block;
  width: var(--cui-avatar-status-width);
  height: var(--cui-avatar-status-height);
  border: 1px solid #fff;
  border-radius: var(--cui-avatar-status-border-radius);
}

.avatar-sm {
  --cui-avatar-width: 1.5rem;
  --cui-avatar-height: 1.5rem;
  --cui-avatar-font-size: 0.6rem;
  --cui-avatar-status-width: 0.4rem;
  --cui-avatar-status-height: 0.4rem;
}

.avatar-md {
  --cui-avatar-width: 2.5rem;
  --cui-avatar-height: 2.5rem;
  --cui-avatar-font-size: 1rem;
  --cui-avatar-status-width: 0.7rem;
  --cui-avatar-status-height: 0.7rem;
}

.avatar-lg {
  --cui-avatar-width: 3rem;
  --cui-avatar-height: 3rem;
  --cui-avatar-font-size: 1.2rem;
  --cui-avatar-status-width: 0.8rem;
  --cui-avatar-status-height: 0.8rem;
}

.avatar-xl {
  --cui-avatar-width: 4rem;
  --cui-avatar-height: 4rem;
  --cui-avatar-font-size: 1.6rem;
  --cui-avatar-status-width: 1rem;
  --cui-avatar-status-height: 1rem;
}

.avatars-stack {
  display: flex;
}

.avatars-stack .avatar {
  margin-inline-end: calc(-0.4 * var(--cui-avatar-width));
}

.avatars-stack .avatar:hover {
  margin-inline-end: 0;
}

.callout {
  --cui-callout-padding-x: 1rem;
  --cui-callout-padding-y: 1rem;
  --cui-callout-margin-x: 0;
  --cui-callout-margin-y: 1rem;
  --cui-callout-border-width: var(--cui-border-width);
  --cui-callout-border-color: var(--cui-border-color);
  --cui-callout-border-left-width: calc(var(--cui-border-width) * 4);
  --cui-callout-border-radius: var(--cui-border-radius);
  padding: var(--cui-callout-padding-y) var(--cui-callout-padding-x);
  margin: var(--cui-callout-margin-y) var(--cui-callout-margin-x);
  border: var(--cui-callout-border-width) solid var(--cui-callout-border-color);
  border-inline-start-color: var(--cui-callout-border-left-color);
  border-inline-start-width: var(--cui-callout-border-left-width);
  border-radius: var(--cui-callout-border-radius);
}

.callout-primary {
  --cui-callout-border-left-color: #5856d6;
}

.callout-secondary {
  --cui-callout-border-left-color: #6b7785;
}

.callout-success {
  --cui-callout-border-left-color: #1b9e3e;
}

.callout-danger {
  --cui-callout-border-left-color: #e55353;
}

.callout-warning {
  --cui-callout-border-left-color: #f9b115;
}

.callout-info {
  --cui-callout-border-left-color: #39f;
}

.callout-light {
  --cui-callout-border-left-color: #f3f4f7;
}

.callout-dark {
  --cui-callout-border-left-color: #212631;
}

.footer {
  --cui-footer-min-height: 3rem;
  --cui-footer-padding-x: 1rem;
  --cui-footer-padding-y: 0.5rem;
  --cui-footer-color: var(--cui-body-color);
  --cui-footer-bg: var(--cui-tertiary-bg);
  --cui-footer-border-color: var(--cui-border-color);
  --cui-footer-border: var(--cui-border-width) solid var(--cui-footer-border-color);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  min-height: var(--cui-footer-min-height);
  padding: var(--cui-footer-padding-y) var(--cui-footer-padding-x);
  color: var(--cui-footer-color);
  background: var(--cui-footer-bg);
  border-top: var(--cui-footer-border);
}

.footer-fixed {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}

.footer-sticky {
  position: sticky;
  bottom: 0;
  z-index: 1030;
}

.header {
  --cui-header-padding-x: 0.5rem;
  --cui-header-padding-y: 0.5rem;
  --cui-header-bg: var(--cui-body-bg);
  --cui-header-color: rgba(var(--cui-emphasis-color-rgb), 0.65);
  --cui-header-border-color: var(--cui-border-color);
  --cui-header-border: var(--cui-border-width) solid var(--cui-header-border-color);
  --cui-header-hover-color: rgba(var(--cui-emphasis-color-rgb), 0.8);
  --cui-header-disabled-color: rgba(var(--cui-emphasis-color-rgb), 0.3);
  --cui-header-active-color: rgba(var(--cui-emphasis-color-rgb), 1);
  --cui-header-transition: box-shadow 0.15s ease-in-out;
  --cui-header-brand-padding-y: 0.3125rem;
  --cui-header-brand-color: #212631;
  --cui-header-brand-hover-color: rgb(29.7, 34.2, 44.1);
  --cui-header-toggler-padding-x: 0.75rem;
  --cui-header-toggler-padding-y: 0.25rem;
  --cui-header-toggler-bg: transparent;
  --cui-header-toggler-color: rgba(var(--cui-emphasis-color-rgb), 0.65);
  --cui-header-toggler-border-radius: var(--cui-border-radius);
  --cui-header-toggler-hover-color: rgba(var(--cui-emphasis-color-rgb), 1);
  --cui-header-toggler-icon-bg: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox=%270 0 30 30%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath stroke=%27rgba%28var%28--cui-emphasis-color-rgb%29, 0.65%29%27 stroke-width=%272.25%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3E%3C/svg%3E");
  --cui-header-toggler-hover-icon-bg: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox=%270 0 30 30%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath stroke=%27rgba%28var%28--cui-emphasis-color-rgb%29, 0.8%29%27 stroke-width=%272.25%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3E%3C/svg%3E");
  --cui-header-nav-link-padding-x: 0.5rem;
  --cui-header-nav-link-padding-y: 0.5rem;
  --cui-header-divider-border-color: var(--cui-border-color);
  --cui-header-divider-border: var(--cui-border-width) solid var(--cui-header-divider-border-color);
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: var(--cui-header-padding-y) var(--cui-header-padding-x);
  background: var(--cui-header-bg);
  border-bottom: var(--cui-header-border);
  transition: var(--cui-header-transition);
}

@media (prefers-reduced-motion: reduce) {
  .header {
    transition: none;
  }
}
.header > .container-xxl, .header > .container-xl, .header > .container-lg, .header > .container-md, .header > .container-sm, .header > .container,
.header > .container-fluid {
  display: flex;
  flex-wrap: inherit;
  align-items: center;
  justify-content: space-between;
}

.header.header-sticky {
  position: sticky;
  top: 0;
  z-index: 1020;
}

.header-divider {
  flex-basis: calc(100% + 2 * var(--cui-header-padding-x));
  height: 0;
  margin: var(--cui-header-padding-y) calc(-1 * var(--cui-header-padding-x));
  border-top: var(--cui-header-divider-border);
}

.header-brand {
  padding-top: var(--cui-header-brand-padding-y);
  padding-bottom: var(--cui-header-brand-padding-y);
  margin-inline-end: 1rem;
  font-size: 1.25rem;
  color: var(--cui-header-brand-color);
  text-decoration: none;
  white-space: nowrap;
}

.header-brand:hover, .header-brand:focus {
  color: var(--cui-header-brand-hover-color);
}

.header-nav {
  display: flex;
  flex-direction: row;
  padding-inline-start: 0;
  margin-bottom: 0;
  list-style: none;
}

.header-nav .nav-link {
  padding: var(--cui-header-nav-link-padding-y) var(--cui-header-nav-link-padding-x);
  color: var(--cui-header-color);
}

.header-nav .nav-link:hover, .header-nav .nav-link:focus {
  color: var(--cui-header-hover-color);
}

.header-nav .nav-link.disabled {
  color: var(--cui-header-disabled-color);
}

.header-nav .show > .nav-link,
.header-nav .nav-link.active {
  color: var(--cui-header-active-color);
}

.header-nav .dropdown-menu {
  position: absolute;
}

.header-text {
  padding-top: var(--cui-header-nav-link-padding-y);
  padding-bottom: var(--cui-header-nav-link-padding-y);
  color: var(--cui-header-color);
}

.header-text a {
  color: var(--cui-header-active-color);
}

.header-text a:hover, .header-text a:focus {
  color: var(--cui-header-active-color);
}

.header-toggler {
  padding: var(--cui-header-toggler-padding-y) var(--cui-header-toggler-padding-x);
  font-size: 1.25rem;
  color: var(--cui-header-toggler-color);
  background-color: var(--cui-header-toggler-bg);
  border: 0;
  border-radius: var(--cui-header-toggler-border-radius);
}

.header-toggler:hover {
  color: var(--cui-header-toggler-hover-color);
  text-decoration: none;
}

.header-toggler:focus {
  outline: 0;
}

.header-toggler:not(:disabled) {
  cursor: pointer;
}

.header-toggler-icon {
  display: block;
  height: 1.5625rem;
  background-image: var(--cui-header-toggler-icon-bg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
}

.header-toggler-icon:hover {
  background-image: var(--cui-header-toggler-hover-icon-bg);
}

.icon {
  display: inline-block;
  color: inherit;
  text-align: center;
  vertical-align: -0.125rem;
  fill: currentcolor;
}

.icon:not(.icon-c-s):not(.icon-custom-size) {
  width: 1rem;
  height: 1rem;
  font-size: 1rem;
}

.icon:not(.icon-c-s):not(.icon-custom-size).icon-xxl {
  width: 2rem;
  height: 2rem;
  font-size: 2rem;
}

.icon:not(.icon-c-s):not(.icon-custom-size).icon-xl {
  width: 1.5rem;
  height: 1.5rem;
  font-size: 1.5rem;
}

.icon:not(.icon-c-s):not(.icon-custom-size).icon-lg {
  width: 1.25rem;
  height: 1.25rem;
  font-size: 1.25rem;
}

.icon:not(.icon-c-s):not(.icon-custom-size).icon-sm {
  width: 0.875rem;
  height: 0.875rem;
  font-size: 0.875rem;
}

.icon:not(.icon-c-s):not(.icon-custom-size).icon-3xl {
  width: 3rem;
  height: 3rem;
  font-size: 3rem;
}

.icon:not(.icon-c-s):not(.icon-custom-size).icon-4xl {
  width: 4rem;
  height: 4rem;
  font-size: 4rem;
}

.icon:not(.icon-c-s):not(.icon-custom-size).icon-5xl {
  width: 5rem;
  height: 5rem;
  font-size: 5rem;
}

.icon:not(.icon-c-s):not(.icon-custom-size).icon-6xl {
  width: 6rem;
  height: 6rem;
  font-size: 6rem;
}

.icon:not(.icon-c-s):not(.icon-custom-size).icon-7xl {
  width: 7rem;
  height: 7rem;
  font-size: 7rem;
}

.icon:not(.icon-c-s):not(.icon-custom-size).icon-8xl {
  width: 8rem;
  height: 8rem;
  font-size: 8rem;
}

.icon:not(.icon-c-s):not(.icon-custom-size).icon-9xl {
  width: 9rem;
  height: 9rem;
  font-size: 9rem;
}

.sidebar {
  --cui-sidebar-zindex: 1035;
  --cui-sidebar-width: 16rem;
  --cui-sidebar-bg: var(--cui-body-bg);
  --cui-sidebar-padding-x: 1rem;
  --cui-sidebar-padding-y: 1rem;
  --cui-sidebar-color: var(--cui-body-color);
  --cui-sidebar-brand-color: var(--cui-body-color);
  --cui-sidebar-brand-bg: rgba(8, 10, 12, 0.2);
  position: relative;
  display: flex;
  flex: 0 0 var(--cui-sidebar-width);
  flex-direction: column;
  order: -1;
  width: var(--cui-sidebar-width);
  color: var(--cui-sidebar-color);
  background: var(--cui-sidebar-bg);
  box-shadow: none;
  transition: margin-left 0.15s, margin-right 0.15s, box-shadow 0.075s, transform 0.15s, width 0.15s, z-index 0s ease 0.15s;
}

@media (prefers-reduced-motion: reduce) {
  .sidebar {
    transition: none;
  }
}
.sidebar:not(.sidebar-end) {
  margin-inline-start: 0;
}

.sidebar.sidebar-end {
  order: 99;
  margin-inline-end: 0;
}

@media (min-width: 992px) {
  .sidebar:not(.hide):not(.sidebar-narrow):not(.sidebar-narrow-unfoldable):not(.sidebar-overlaid):not(.sidebar-end) ~ * {
    --cui-sidebar-occupy-start: 16rem;
  }
  .sidebar:not(.hide):not(.sidebar-narrow):not(.sidebar-narrow-unfoldable):not(.sidebar-overlaid).sidebar-end ~ * {
    --cui-sidebar-occupy-end: 16rem;
  }
  .sidebar.hide:not(.sidebar-end) {
    margin-inline-start: calc(-1 * var(--cui-sidebar-width));
  }
  .sidebar.hide.sidebar-end {
    margin-inline-end: calc(-1 * var(--cui-sidebar-width));
  }
}
@media (max-width: 991.98px) {
  .sidebar {
    --cui-is-mobile: true;
    position: fixed;
    top: 0;
    bottom: 0;
    z-index: var(--cui-sidebar-zindex);
  }
  .sidebar:not(.sidebar-end) {
    inset-inline-start: 0;
  }
  .sidebar:not(.sidebar-end):not(.show) {
    margin-inline-start: calc(-1 * var(--cui-sidebar-width));
  }
  .sidebar.sidebar-end {
    inset-inline-end: 0;
  }
  .sidebar.sidebar-end:not(.show) {
    margin-inline-end: calc(-1 * var(--cui-sidebar-width));
  }
}
.sidebar-fixed, .sidebar-narrow-unfoldable, .sidebar-overlaid {
  position: fixed;
  top: 0;
  bottom: 0;
  z-index: var(--cui-sidebar-zindex);
}

.sidebar-fixed:not(.sidebar-end), .sidebar-narrow-unfoldable:not(.sidebar-end), .sidebar-overlaid:not(.sidebar-end) {
  inset-inline-start: 0;
}

.sidebar-fixed.sidebar-end, .sidebar-end.sidebar-narrow-unfoldable, .sidebar-end.sidebar-overlaid {
  inset-inline-end: 0;
}

.sidebar-overlaid {
  --cui-sidebar-overlaid-box-shadow: var(--cui-box-shadow);
}

.sidebar-overlaid:not(.sidebar-end) {
  margin-inline-start: calc(-1 * var(--cui-sidebar-width));
}

.sidebar-overlaid.sidebar-end {
  margin-inline-end: calc(-1 * var(--cui-sidebar-width));
}

.sidebar-overlaid.show {
  box-shadow: var(--cui-sidebar-overlaid-box-shadow);
}

.sidebar-overlaid.show:not(.sidebar-end) {
  margin-inline-start: 0;
}

.sidebar-overlaid.show.sidebar-end {
  margin-inline-end: 0;
}

.sidebar-sm {
  --cui-sidebar-width: 12rem;
}

@media (min-width: 992px) {
  .sidebar-sm:not(.hide):not(.sidebar-narrow):not(.sidebar-narrow-unfoldable):not(.sidebar-overlaid):not(.sidebar-end) ~ * {
    --cui-sidebar-occupy-start: 12rem;
  }
  .sidebar-sm:not(.hide):not(.sidebar-narrow):not(.sidebar-narrow-unfoldable):not(.sidebar-overlaid).sidebar-end ~ * {
    --cui-sidebar-occupy-end: 12rem;
  }
}
.sidebar-lg {
  --cui-sidebar-width: 20rem;
}

@media (min-width: 992px) {
  .sidebar-lg:not(.hide):not(.sidebar-narrow):not(.sidebar-narrow-unfoldable):not(.sidebar-overlaid):not(.sidebar-end) ~ * {
    --cui-sidebar-occupy-start: 20rem;
  }
  .sidebar-lg:not(.hide):not(.sidebar-narrow):not(.sidebar-narrow-unfoldable):not(.sidebar-overlaid).sidebar-end ~ * {
    --cui-sidebar-occupy-end: 20rem;
  }
}
.sidebar-xl {
  --cui-sidebar-width: 24rem;
}

@media (min-width: 992px) {
  .sidebar-xl:not(.hide):not(.sidebar-narrow):not(.sidebar-narrow-unfoldable):not(.sidebar-overlaid):not(.sidebar-end) ~ * {
    --cui-sidebar-occupy-start: 24rem;
  }
  .sidebar-xl:not(.hide):not(.sidebar-narrow):not(.sidebar-narrow-unfoldable):not(.sidebar-overlaid).sidebar-end ~ * {
    --cui-sidebar-occupy-end: 24rem;
  }
}
.sidebar-brand {
  color: var(--cui-sidebar-brand-color);
  white-space: nowrap;
}

.sidebar-brand .sidebar-brand-narrow {
  display: none;
}

.sidebar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--cui-sidebar-padding-y) var(--cui-sidebar-padding-x);
}

.sidebar-header .btn-close {
  padding: calc(var(--cui-sidebar-padding-y) * 0.5) calc(var(--cui-sidebar-padding-x) * 0.5);
  margin-inline-end: calc(-0.5 * var(--cui-sidebar-padding-x));
  margin-top: calc(-0.5 * var(--cui-sidebar-padding-y));
  margin-bottom: calc(-0.5 * var(--cui-sidebar-padding-y));
}

.sidebar-body {
  padding: var(--cui-sidebar-padding-y) var(--cui-sidebar-padding-x);
}

.sidebar-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--cui-sidebar-padding-y) var(--cui-sidebar-padding-x);
}

.sidebar-toggler {
  --cui-sidebar-toggler-width: 0.5rem;
  --cui-sidebar-toggler-height: 0.5rem;
  --cui-sidebar-toggler-bg: transparent;
  --cui-sidebar-toggler-color: var(--cui-tertiary-color);
  --cui-sidebar-toggler-icon: url("data:image/svg+xml,%0A%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 512 512%27%3E%3Cg xmlns=%27http://www.w3.org/2000/svg%27 transform=%27matrix%28-1 0 0 -1 512 512%29%27%3E%3Cpath fill=%27%23000%27 d=%27M472,16H40A24.028,24.028,0,0,0,16,40V200H48V48H464V464H48V304H16V472a24.028,24.028,0,0,0,24,24H472a24.028,24.028,0,0,0,24-24V40A24.028,24.028,0,0,0,472,16Z%27/%3E%3Cpolygon fill=%27%23000%27 points=%27209.377 363.306 232.004 385.933 366.627 251.31 232.004 116.687 209.377 139.313 305.374 235.311 16 235.311 16 267.311 305.372 267.311 209.377 363.306%27/%3E%3C/g%3E%3C/svg%3E");
  --cui-sidebar-toggler-hover-color: var(--cui-secondary-color);
  --cui-sidebar-toggler-focus-shadow: 0 0 0 0.25rem rgba(88, 86, 214, 0.25);
  --cui-sidebar-toggler-focus-color: var(--cui-secondary-color);
  --cui-sidebar-toggler-transition: transform 0.15s;
  position: relative;
  box-sizing: content-box;
  width: var(--cui-sidebar-toggler-width);
  height: var(--cui-sidebar-toggler-height);
  padding: 0.25rem 0.25rem;
  background-color: var(--cui-sidebar-toggler-bg);
  border: 0;
  border-radius: 0.375rem;
}

.sidebar-toggler::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: var(--cui-sidebar-toggler-color);
  mask: var(--cui-sidebar-toggler-icon) no-repeat center;
  transition: var(--cui-sidebar-toggler-transition);
}

@media (prefers-reduced-motion: reduce) {
  .sidebar-toggler::before {
    transition: none;
  }
}
.sidebar-toggler:hover {
  text-decoration: none;
}

.sidebar-toggler:hover::before {
  background-color: var(--cui-sidebar-toggler-hover-color);
}

.sidebar-toggler:focus {
  position: relative;
  outline: 0;
  box-shadow: var(--cui-sidebar-toggler-focus-shadow);
}

.sidebar-toggler:focus::before {
  background-color: var(--cui-sidebar-toggler-focus-color);
}

@media (max-width: 991.98px) {
  .sidebar-toggler {
    display: none;
  }
}
.sidebar-backdrop {
  --cui-backdrop-zindex: 1034;
  --cui-backdrop-bg: #080a0c;
  --cui-backdrop-opacity: 0.5;
}

@media (max-width: 991.98px) {
  .sidebar-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--cui-backdrop-zindex);
    width: 100vw;
    height: 100vh;
    background-color: var(--cui-backdrop-bg);
  }
  .sidebar-backdrop.fade {
    opacity: 0;
  }
  .sidebar-backdrop.show {
    opacity: var(--cui-backdrop-opacity);
  }
}
.sidebar-dark {
  --cui-body-color: rgba(255, 255, 255, 0.87);
  --cui-body-bg: #212631;
  --cui-emphasis-color: #fff;
  --cui-secondary-color: rgba(255, 255, 255, 0.6);
  --cui-secondary-bg: #323a49;
  --cui-tertiary-color: rgba(255, 255, 255, 0.38);
  --cui-tertiary-bg: rgb(41.5, 48, 61);
  --cui-border-color: #323a49;
}

.sidebar-dark .sidebar-toggler {
  filter: var(--cui-sidebar-toggler-white-filter);
}

.sidebar-nav {
  --cui-sidebar-nav-padding-x: 0.5rem;
  --cui-sidebar-nav-padding-y: 0.5rem;
  --cui-sidebar-nav-gap: 1px;
  --cui-sidebar-nav-title-padding-x: 1rem;
  --cui-sidebar-nav-title-padding-y: 0.75rem;
  --cui-sidebar-nav-title-margin-top: 1rem;
  --cui-sidebar-nav-title-color: var(--cui-tertiary-color);
  --cui-sidebar-nav-link-padding-x: 1rem;
  --cui-sidebar-nav-link-padding-y: 0.75rem;
  --cui-sidebar-nav-link-color: var(--cui-body-color);
  --cui-sidebar-nav-link-bg: transparent;
  --cui-sidebar-nav-link-border-color: transparent;
  --cui-sidebar-nav-link-border-radius: var(--cui-border-radius);
  --cui-sidebar-nav-link-border-width: 0;
  --cui-sidebar-nav-link-active-color: var(--cui-emphasis-color);
  --cui-sidebar-nav-link-active-bg: var(--cui-tertiary-bg);
  --cui-sidebar-nav-link-disabled-color: var(--cui-tertiary-color);
  --cui-sidebar-nav-link-hover-color: var(--cui-emphasis-color);
  --cui-sidebar-nav-link-hover-bg: var(--cui-tertiary-bg);
  --cui-sidebar-nav-link-icon-margin: 0.75rem;
  --cui-sidebar-nav-link-icon-color: var(--cui-tertiary-color);
  --cui-sidebar-nav-link-icon-width: 1.25rem;
  --cui-sidebar-nav-link-icon-height: 1.25rem;
  --cui-sidebar-nav-link-icon-font-size: 1.25rem;
  --cui-sidebar-nav-link-active-icon-color: var(--cui-emphasis-color);
  --cui-sidebar-nav-link-disabled-icon-color: var(--cui-tertiary-color);
  --cui-sidebar-nav-link-hover-icon-color: var(--cui-body-color);
  --cui-sidebar-nav-link-icon-bullet-size: 0.3125rem;
  --cui-sidebar-nav-link-icon-bullet-bg: transparent;
  --cui-sidebar-nav-link-icon-bullet-border-width: 1px;
  --cui-sidebar-nav-link-icon-bullet-border-radius: 50rem;
  --cui-sidebar-nav-link-icon-bullet-border-color: var(--cui-tertiary-color);
  --cui-sidebar-nav-link-active-icon-bullet-bg: transparent;
  --cui-sidebar-nav-link-active-icon-bullet-border-color: var(--cui-emphasis-color);
  --cui-sidebar-nav-link-disabled-icon-bullet-bg: transparent;
  --cui-sidebar-nav-link-disabled-icon-bullet-border-color: var(--cui-tertiary-color);
  --cui-sidebar-nav-link-hover-icon-bullet-bg: transparent;
  --cui-sidebar-nav-link-hover-icon-bullet-border-color: var(--cui-body-color);
  --cui-sidebar-nav-group-bg: transparent;
  --cui-sidebar-nav-group-border-width: 0;
  --cui-sidebar-nav-group-border-radius: var(--cui-border-radius);
  --cui-sidebar-nav-group-border-color: transparent;
  --cui-sidebar-nav-group-items-padding-y: 0;
  --cui-sidebar-nav-group-items-padding-x: 0;
  --cui-sidebar-nav-group-indicator-color: var(--cui-tertiary-color);
  --cui-sidebar-nav-group-indicator-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708%27/%3e%3c/svg%3e");
  --cui-sidebar-nav-group-indicator-hover-color: var(--cui-emphasis-color);
  --cui-sidebar-nav-group-indicator-hover-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708%27/%3e%3c/svg%3e");
  --cui-sidebar-nav-group-toggle-show-color: var(--cui-body-color);
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: var(--cui-sidebar-nav-padding-y) var(--cui-sidebar-nav-padding-x);
  margin-bottom: 0;
  overflow-x: hidden;
  overflow-y: auto;
  list-style: none;
}

.sidebar-nav .nav-item + .nav-item,
.sidebar-nav .nav-item + .nav-group,
.sidebar-nav .nav-group + .nav-item {
  margin-top: var(--cui-sidebar-nav-gap);
}

.sidebar-nav .nav-title {
  padding: var(--cui-sidebar-nav-title-padding-y) var(--cui-sidebar-nav-title-padding-x);
  margin-top: var(--cui-sidebar-nav-title-margin-top);
  font-size: 80%;
  font-weight: 700;
  color: var(--cui-sidebar-nav-title-color);
  text-transform: uppercase;
  transition: height 0.15s, margin 0.15s;
}

@media (prefers-reduced-motion: reduce) {
  .sidebar-nav .nav-title {
    transition: none;
  }
}
.sidebar-nav .nav-link {
  display: flex;
  flex: 1;
  align-items: center;
  padding: var(--cui-sidebar-nav-link-padding-y) var(--cui-sidebar-nav-link-padding-x);
  color: var(--cui-sidebar-nav-link-color);
  text-decoration: none;
  white-space: nowrap;
  background: var(--cui-sidebar-nav-link-bg);
  border: var(--cui-sidebar-nav-link-border-width) solid var(--cui-sidebar-nav-link-border-color);
  border-radius: var(--cui-sidebar-nav-link-border-radius);
  transition: background 0.15s ease, color 0.15s ease, gap 0.15s ease;
}

@media (prefers-reduced-motion: reduce) {
  .sidebar-nav .nav-link {
    transition: none;
  }
}
.sidebar-nav .nav-link.active {
  color: var(--cui-sidebar-nav-link-active-color);
  background: var(--cui-sidebar-nav-link-active-bg);
}

.sidebar-nav .nav-link.active .nav-icon {
  color: var(--cui-sidebar-nav-link-active-icon-color);
}

.sidebar-nav .nav-link.active .nav-icon-bullet {
  background: var(--cui-sidebar-link-active-icon-bullet-bg);
  border-color: var(--cui-sidebar-link-active-icon-bullet-border-color);
}

.sidebar-nav .nav-link.disabled {
  color: var(--cui-sidebar-nav-link-disabled-color);
  pointer-events: none;
  cursor: not-allowed;
  background: transparent;
}

.sidebar-nav .nav-link.disabled .nav-icon {
  color: var(--cui-sidebar-nav-link-disabled-icon-color);
}

.sidebar-nav .nav-link.disabled .nav-icon-bullet {
  background: var(--cui-sidebar-link-disabled-icon-bullet-bg);
  border-color: var(--cui-sidebar-link-disabled-icon-bullet-border-color);
}

.sidebar-nav .nav-link.disabled:hover {
  color: var(--cui-sidebar-nav-link-disabled-color);
}

.sidebar-nav .nav-link.disabled:hover .nav-icon {
  color: var(--cui-sidebar-nav-link-disabled-icon-color);
}

.sidebar-nav .nav-link.disabled:hover .nav-icon-bullet {
  background: var(--cui-sidebar-link-disabled-icon-bullet-bg);
  border-color: var(--cui-sidebar-link-disabled-icon-bullet-border-color);
}

.sidebar-nav .nav-link.disabled:hover.nav-dropdown-toggle::after {
  background-color: var(--cui-sidebar-nav-group-indicator-hover-color);
  mask-image: var(--cui-sidebar-nav-group-indicator-hover-icon);
}

@media (hover: hover), (-ms-high-contrast: none) {
  .sidebar-nav .nav-link:hover {
    color: var(--cui-sidebar-nav-link-hover-color);
    text-decoration: none;
    background: var(--cui-sidebar-nav-link-hover-bg);
  }
  .sidebar-nav .nav-link:hover .nav-icon {
    color: var(--cui-sidebar-nav-link-hover-icon-color);
  }
  .sidebar-nav .nav-link:hover .nav-icon-bullet {
    background: var(--cui-sidebar-link-hover-icon-bullet-bg);
    border-color: var(--cui-sidebar-link-hover-icon-bullet-border-color);
  }
  .sidebar-nav .nav-link:hover.nav-group-toggle::after {
    background-color: var(--cui-sidebar-nav-group-indicator-hover-color);
    mask-image: var(--cui-sidebar-nav-group-indicator-hover-icon);
  }
}
.sidebar-nav .nav-icon {
  display: flex;
  flex: 0 0 var(--cui-sidebar-nav-link-icon-width);
  align-items: center;
  justify-content: center;
  height: var(--cui-sidebar-nav-link-icon-height);
  margin-inline-end: var(--cui-sidebar-nav-link-icon-margin);
  font-size: var(--cui-sidebar-nav-link-icon-font-size);
  color: var(--cui-sidebar-nav-link-icon-color);
  text-align: center;
  pointer-events: none;
  fill: currentcolor;
  transition: inherit;
}

@media (prefers-reduced-motion: reduce) {
  .sidebar-nav .nav-icon {
    transition: none;
  }
}
.sidebar-nav .nav-icon-bullet {
  display: inline-block;
  width: var(--cui-sidebar-nav-link-icon-bullet-size);
  height: var(--cui-sidebar-nav-link-icon-bullet-size);
  background: var(--cui-sidebar-nav-link-icon-bullet-bg);
  border: var(--cui-sidebar-nav-link-icon-bullet-border-width) solid var(--cui-sidebar-nav-link-icon-bullet-border-color);
  border-radius: var(--cui-sidebar-nav-link-icon-bullet-border-radius);
}

.sidebar-nav svg.nav-icon {
  overflow: hidden;
}

.sidebar-nav .nav-group {
  position: relative;
  border: var(--cui-sidebar-nav-group-border-width) solid var(--cui-sidebar-nav-group-border-color);
  border-radius: var(--cui-sidebar-nav-group-border-radius);
  transition: background 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .sidebar-nav .nav-group {
    transition: none;
  }
}
.sidebar-nav .nav-group .nav-group-items {
  padding: var(--cui-sidebar-nav-group-items-padding-y) var(--cui-sidebar-nav-group-items-padding-x);
  overflow: hidden;
  transition: height 0.15s ease;
}

@media (prefers-reduced-motion: reduce) {
  .sidebar-nav .nav-group .nav-group-items {
    transition: none;
  }
}
.sidebar-nav .nav-group:not(.show) .nav-group-items {
  display: none;
}

.sidebar-nav .nav-group.show {
  background: var(--cui-sidebar-nav-group-bg);
}

.sidebar-nav .nav-group.show .nav-group-toggle {
  color: var(--cui-sidebar-nav-group-toggle-show-color);
}

.sidebar-nav .nav-group.show > .nav-group-toggle::after {
  transform: rotate(180deg);
}

.sidebar-nav .nav-group.show + .show {
  margin-top: var(--cui-sidebar-nav-gap);
}

.sidebar-nav .nav-group-toggle {
  cursor: pointer;
}

.sidebar-nav .nav-group-toggle::after {
  display: block;
  flex: 0 12px;
  height: 12px;
  margin-inline-start: auto;
  content: "";
  background-color: var(--cui-sidebar-nav-group-indicator-color);
  mask-image: var(--cui-sidebar-nav-group-indicator-icon);
  transition: transform 0.15s;
}

@media (prefers-reduced-motion: reduce) {
  .sidebar-nav .nav-group-toggle::after {
    transition: none;
  }
}
.sidebar-nav .nav-group-items {
  padding: 0;
  list-style: none;
}

.sidebar-nav .nav-group-items .nav-link {
  padding-inline-start: calc(var(--cui-sidebar-nav-link-padding-x) + var(--cui-sidebar-nav-link-icon-width) + var(--cui-sidebar-nav-link-icon-margin));
}

.sidebar-nav .nav-group-items .nav-icon {
  margin-inline-start: calc(-1 * (var(--cui-sidebar-nav-link-icon-width) + var(--cui-sidebar-nav-link-icon-margin)));
}

.sidebar-nav.compact .nav-link,
.sidebar-nav .compact .nav-link {
  --cui-sidebar-nav-link-padding-y: 0.5625rem;
}

.sidebar-narrow, .sidebar-narrow-unfoldable:not(:hover) {
  --cui-sidebar-narrow-width: 4rem;
}

@media (min-width: 992px) {
  .sidebar-narrow, .sidebar-narrow-unfoldable:not(:hover) {
    flex: 0 0 var(--cui-sidebar-narrow-width);
    width: var(--cui-sidebar-narrow-width);
    padding-bottom: var(--cui-sidebar-toggler-height);
    overflow: visible;
  }
  .sidebar-narrow .sidebar-brand-full, .sidebar-narrow-unfoldable:not(:hover) .sidebar-brand-full {
    display: none;
  }
  .sidebar-narrow .sidebar-brand-narrow, .sidebar-narrow-unfoldable:not(:hover) .sidebar-brand-narrow {
    display: block;
  }
  .sidebar-narrow .sidebar-header, .sidebar-narrow-unfoldable:not(:hover) .sidebar-header {
    justify-content: center;
    padding-right: 0;
    padding-left: 0;
  }
  .sidebar-narrow .sidebar-nav, .sidebar-narrow-unfoldable:not(:hover) .sidebar-nav {
    --cui-sidebar-nav-link-padding-x: 0.5rem;
    --cui-sidebar-nav-link-padding-y: 0.75rem;
  }
  .sidebar-narrow .nav-link, .sidebar-narrow-unfoldable:not(:hover) .nav-link {
    overflow: hidden;
  }
  .sidebar-narrow .nav-icon, .sidebar-narrow-unfoldable:not(:hover) .nav-icon {
    flex: 0 0 calc(var(--cui-sidebar-narrow-width) - var(--cui-sidebar-nav-padding-x) * 2 - var(--cui-sidebar-nav-link-padding-x) * 2);
  }
  .sidebar-narrow .d-narrow-none, .sidebar-narrow-unfoldable:not(:hover) .d-narrow-none,
  .sidebar-narrow .nav-label,
  .sidebar-narrow-unfoldable:not(:hover) .nav-label,
  .sidebar-narrow .nav-title,
  .sidebar-narrow-unfoldable:not(:hover) .nav-title,
  .sidebar-narrow .nav-group-items,
  .sidebar-narrow-unfoldable:not(:hover) .nav-group-items,
  .sidebar-narrow .nav-group.show .nav-group-items,
  .sidebar-narrow .sidebar-form,
  .sidebar-narrow-unfoldable:not(:hover) .sidebar-form {
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    visibility: hidden;
    opacity: 0;
  }
  .sidebar-narrow .sidebar-toggler::before, .sidebar-narrow-unfoldable:not(:hover) .sidebar-toggler::before {
    transform: rotate(-180deg);
  }
  .sidebar-narrow.sidebar-end .sidebar-toggler::before, .sidebar-end.sidebar-narrow-unfoldable:not(:hover) .sidebar-toggler::before {
    transform: rotate(0deg);
  }
}
.sidebar-narrow-unfoldable {
  --cui-sidebar-narrow-unfoldable-box-shadow: var(--cui-box-shadow);
}

.sidebar-narrow-unfoldable:hover {
  box-shadow: var(--cui-sidebar-narrow-unfoldable-box-shadow);
  box-shadow: 0 0.5rem 1rem rgba(8, 10, 12, 0.15);
}

.sidebar-narrow-unfoldable:hover .sidebar-toggler::before {
  transform: rotate(-180deg);
}

.sidebar-narrow-unfoldable:hover.sidebar-end .sidebar-toggler::before {
  transform: rotate(0deg);
}

@media (min-width: 992px) {
  .sidebar-narrow:not(.sidebar-end):not(.hide) ~ *,
  .sidebar-narrow-unfoldable:not(.sidebar-end):not(.hide) ~ * {
    --cui-sidebar-occupy-start: 4rem;
  }
  .sidebar-narrow.sidebar-end:not(.hide) ~ *,
  .sidebar-narrow-unfoldable.sidebar-end:not(.hide) ~ * {
    --cui-sidebar-occupy-end: 4rem;
  }
}
.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

.text-bg-primary {
  color: #fff !important;
  background-color: rgba(var(--cui-primary-rgb), var(--cui-bg-opacity, 1)) !important;
}

.text-bg-secondary {
  color: #fff !important;
  background-color: rgba(var(--cui-secondary-rgb), var(--cui-bg-opacity, 1)) !important;
}

.text-bg-success {
  color: #080a0c !important;
  background-color: rgba(var(--cui-success-rgb), var(--cui-bg-opacity, 1)) !important;
}

.text-bg-info {
  color: #080a0c !important;
  background-color: rgba(var(--cui-info-rgb), var(--cui-bg-opacity, 1)) !important;
}

.text-bg-warning {
  color: #080a0c !important;
  background-color: rgba(var(--cui-warning-rgb), var(--cui-bg-opacity, 1)) !important;
}

.text-bg-danger {
  color: #080a0c !important;
  background-color: rgba(var(--cui-danger-rgb), var(--cui-bg-opacity, 1)) !important;
}

.text-bg-light {
  color: #080a0c !important;
  background-color: rgba(var(--cui-light-rgb), var(--cui-bg-opacity, 1)) !important;
}

.text-bg-dark {
  color: #fff !important;
  background-color: rgba(var(--cui-dark-rgb), var(--cui-bg-opacity, 1)) !important;
}

[data-coreui-theme=dark] .text-bg-primary {
  color: #fff !important;
  background-color: rgba(94.2, 92.4, 207.6, var(--cui-bg-opacity, 1)) !important;
}

[data-coreui-theme=dark] .text-bg-secondary {
  color: #fff !important;
  background-color: rgba(107, 119, 133, var(--cui-bg-opacity, 1)) !important;
}

[data-coreui-theme=dark] .text-bg-success {
  color: #080a0c !important;
  background-color: rgba(33.55, 151.45, 65.05, var(--cui-bg-opacity, 1)) !important;
}

[data-coreui-theme=dark] .text-bg-info {
  color: #080a0c !important;
  background-color: rgba(61.2, 153, 244.8, var(--cui-bg-opacity, 1)) !important;
}

[data-coreui-theme=dark] .text-bg-warning {
  color: #080a0c !important;
  background-color: rgba(237.6, 172.8, 32.4, var(--cui-bg-opacity, 1)) !important;
}

[data-coreui-theme=dark] .text-bg-danger {
  color: #080a0c !important;
  background-color: rgba(221.7, 90.3, 90.3, var(--cui-bg-opacity, 1)) !important;
}

[data-coreui-theme=dark] .text-bg-light {
  color: #080a0c !important;
  background-color: rgba(243, 244, 247, var(--cui-bg-opacity, 1)) !important;
}

[data-coreui-theme=dark] .text-bg-dark {
  color: #fff !important;
  background-color: rgba(33, 38, 49, var(--cui-bg-opacity, 1)) !important;
}

.link-primary {
  color: rgba(var(--cui-primary-rgb), var(--cui-link-opacity, 1)) !important;
  text-decoration-color: rgba(var(--cui-primary-rgb), var(--cui-link-underline-opacity, 1)) !important;
}

.link-primary:hover, .link-primary:focus {
  color: rgba(70.4, 68.8, 171.2, var(--cui-link-opacity, 1)) !important;
  text-decoration-color: rgba(70.4, 68.8, 171.2, var(--cui-link-underline-opacity, 1)) !important;
}

.link-secondary {
  color: rgba(var(--cui-secondary-rgb), var(--cui-link-opacity, 1)) !important;
  text-decoration-color: rgba(var(--cui-secondary-rgb), var(--cui-link-underline-opacity, 1)) !important;
}

.link-secondary:hover, .link-secondary:focus {
  color: rgba(85.6, 95.2, 106.4, var(--cui-link-opacity, 1)) !important;
  text-decoration-color: rgba(85.6, 95.2, 106.4, var(--cui-link-underline-opacity, 1)) !important;
}

.link-success {
  color: rgba(var(--cui-success-rgb), var(--cui-link-opacity, 1)) !important;
  text-decoration-color: rgba(var(--cui-success-rgb), var(--cui-link-underline-opacity, 1)) !important;
}

.link-success:hover, .link-success:focus {
  color: rgba(72.6, 177.4, 100.6, var(--cui-link-opacity, 1)) !important;
  text-decoration-color: rgba(72.6, 177.4, 100.6, var(--cui-link-underline-opacity, 1)) !important;
}

.link-info {
  color: rgba(var(--cui-info-rgb), var(--cui-link-opacity, 1)) !important;
  text-decoration-color: rgba(var(--cui-info-rgb), var(--cui-link-underline-opacity, 1)) !important;
}

.link-info:hover, .link-info:focus {
  color: rgba(91.8, 173.4, 255, var(--cui-link-opacity, 1)) !important;
  text-decoration-color: rgba(91.8, 173.4, 255, var(--cui-link-underline-opacity, 1)) !important;
}

.link-warning {
  color: rgba(var(--cui-warning-rgb), var(--cui-link-opacity, 1)) !important;
  text-decoration-color: rgba(var(--cui-warning-rgb), var(--cui-link-underline-opacity, 1)) !important;
}

.link-warning:hover, .link-warning:focus {
  color: rgba(250.2, 192.6, 67.8, var(--cui-link-opacity, 1)) !important;
  text-decoration-color: rgba(250.2, 192.6, 67.8, var(--cui-link-underline-opacity, 1)) !important;
}

.link-danger {
  color: rgba(var(--cui-danger-rgb), var(--cui-link-opacity, 1)) !important;
  text-decoration-color: rgba(var(--cui-danger-rgb), var(--cui-link-underline-opacity, 1)) !important;
}

.link-danger:hover, .link-danger:focus {
  color: rgba(234.2, 117.4, 117.4, var(--cui-link-opacity, 1)) !important;
  text-decoration-color: rgba(234.2, 117.4, 117.4, var(--cui-link-underline-opacity, 1)) !important;
}

.link-light {
  color: rgba(var(--cui-light-rgb), var(--cui-link-opacity, 1)) !important;
  text-decoration-color: rgba(var(--cui-light-rgb), var(--cui-link-underline-opacity, 1)) !important;
}

.link-light:hover, .link-light:focus {
  color: rgba(245.4, 246.2, 248.6, var(--cui-link-opacity, 1)) !important;
  text-decoration-color: rgba(245.4, 246.2, 248.6, var(--cui-link-underline-opacity, 1)) !important;
}

.link-dark {
  color: rgba(var(--cui-dark-rgb), var(--cui-link-opacity, 1)) !important;
  text-decoration-color: rgba(var(--cui-dark-rgb), var(--cui-link-underline-opacity, 1)) !important;
}

.link-dark:hover, .link-dark:focus {
  color: rgba(26.4, 30.4, 39.2, var(--cui-link-opacity, 1)) !important;
  text-decoration-color: rgba(26.4, 30.4, 39.2, var(--cui-link-underline-opacity, 1)) !important;
}

.link-body-emphasis {
  color: rgba(var(--cui-emphasis-color-rgb), var(--cui-link-opacity, 1)) !important;
  text-decoration-color: rgba(var(--cui-emphasis-color-rgb), var(--cui-link-underline-opacity, 1)) !important;
}

.link-body-emphasis:hover, .link-body-emphasis:focus {
  color: rgba(var(--cui-emphasis-color-rgb), var(--cui-link-opacity, 0.75)) !important;
  text-decoration-color: rgba(var(--cui-emphasis-color-rgb), var(--cui-link-underline-opacity, 0.75)) !important;
}

.focus-ring:focus {
  outline: 0;
  box-shadow: var(--cui-focus-ring-x, 0) var(--cui-focus-ring-y, 0) var(--cui-focus-ring-blur, 0) var(--cui-focus-ring-width) var(--cui-focus-ring-color);
}

.icon-link {
  display: inline-flex;
  gap: 0.375rem;
  align-items: center;
  text-decoration-color: rgba(var(--cui-link-color-rgb), var(--cui-link-opacity, 0.5));
  text-underline-offset: 0.25em;
  backface-visibility: hidden;
}

.icon-link > .bi {
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  fill: currentcolor;
  transition: 0.2s ease-in-out transform;
}

@media (prefers-reduced-motion: reduce) {
  .icon-link > .bi {
    transition: none;
  }
}
.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {
  transform: var(--cui-icon-link-transform, translate3d(0.25em, 0, 0));
}

.ratio {
  position: relative;
  width: 100%;
}

.ratio::before {
  display: block;
  padding-top: var(--cui-aspect-ratio);
  content: "";
}

.ratio > * {
  position: absolute;
  inset-inline-start: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.ratio-1x1 {
  --cui-aspect-ratio: 100%;
}

.ratio-4x3 {
  --cui-aspect-ratio: 75%;
}

.ratio-16x9 {
  --cui-aspect-ratio: 56.25%;
}

.ratio-21x9 {
  --cui-aspect-ratio: 42.8571428571%;
}

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}

.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}

.sticky-top {
  position: sticky;
  top: 0;
  z-index: 1020;
}

.sticky-bottom {
  position: sticky;
  bottom: 0;
  z-index: 1020;
}

@media (min-width: 576px) {
  .sticky-sm-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-sm-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 768px) {
  .sticky-md-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-md-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 992px) {
  .sticky-lg-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-lg-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1200px) {
  .sticky-xl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xl-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1400px) {
  .sticky-xxl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xxl-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
.hstack {
  display: flex;
  flex-direction: row;
  align-items: center;
  align-self: stretch;
}

.vstack {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-self: stretch;
}

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.visually-hidden:not(caption),
.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
  position: absolute !important;
}

.visually-hidden *,
.visually-hidden-focusable:not(:focus):not(:focus-within) * {
  overflow: hidden !important;
}

.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  content: "";
}

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vr {
  display: inline-block;
  align-self: stretch;
  width: var(--cui-border-width);
  min-height: 1em;
  padding: 0;
  background-color: currentcolor;
  opacity: 0.25;
}

.align-baseline {
  vertical-align: baseline !important;
}

.align-top {
  vertical-align: top !important;
}

.align-middle {
  vertical-align: middle !important;
}

.align-bottom {
  vertical-align: bottom !important;
}

.align-text-bottom {
  vertical-align: text-bottom !important;
}

.align-text-top {
  vertical-align: text-top !important;
}

.float-start {
  float: inline-start !important;
}

.float-end {
  float: inline-end !important;
}

.float-none {
  float: none !important;
}

.object-fit-contain {
  object-fit: contain !important;
}

.object-fit-cover {
  object-fit: cover !important;
}

.object-fit-fill {
  object-fit: fill !important;
}

.object-fit-scale {
  object-fit: scale-down !important;
}

.object-fit-none {
  object-fit: none !important;
}

.opacity-0 {
  opacity: 0 !important;
}

.opacity-25 {
  opacity: 0.25 !important;
}

.opacity-50 {
  opacity: 0.5 !important;
}

.opacity-75 {
  opacity: 0.75 !important;
}

.opacity-100 {
  opacity: 1 !important;
}

.overflow-auto {
  overflow: auto !important;
}

.overflow-hidden {
  overflow: hidden !important;
}

.overflow-visible {
  overflow: visible !important;
}

.overflow-scroll {
  overflow: scroll !important;
}

.overflow-x-auto {
  overflow-x: auto !important;
}

.overflow-x-hidden {
  overflow-x: hidden !important;
}

.overflow-x-visible {
  overflow-x: visible !important;
}

.overflow-x-scroll {
  overflow-x: scroll !important;
}

.overflow-y-auto {
  overflow-y: auto !important;
}

.overflow-y-hidden {
  overflow-y: hidden !important;
}

.overflow-y-visible {
  overflow-y: visible !important;
}

.overflow-y-scroll {
  overflow-y: scroll !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-grid {
  display: grid !important;
}

.d-inline-grid {
  display: inline-grid !important;
}

.d-table {
  display: table !important;
}

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex {
  display: flex !important;
}

.d-inline-flex {
  display: inline-flex !important;
}

.d-none {
  display: none !important;
}

.shadow {
  box-shadow: var(--cui-box-shadow) !important;
}

.shadow-sm {
  box-shadow: var(--cui-box-shadow-sm) !important;
}

.shadow-lg {
  box-shadow: var(--cui-box-shadow-lg) !important;
}

.shadow-none {
  box-shadow: none !important;
}

.focus-ring-primary {
  --cui-focus-ring-color: rgba(var(--cui-primary-rgb), var(--cui-focus-ring-opacity));
}

.focus-ring-secondary {
  --cui-focus-ring-color: rgba(var(--cui-secondary-rgb), var(--cui-focus-ring-opacity));
}

.focus-ring-success {
  --cui-focus-ring-color: rgba(var(--cui-success-rgb), var(--cui-focus-ring-opacity));
}

.focus-ring-info {
  --cui-focus-ring-color: rgba(var(--cui-info-rgb), var(--cui-focus-ring-opacity));
}

.focus-ring-warning {
  --cui-focus-ring-color: rgba(var(--cui-warning-rgb), var(--cui-focus-ring-opacity));
}

.focus-ring-danger {
  --cui-focus-ring-color: rgba(var(--cui-danger-rgb), var(--cui-focus-ring-opacity));
}

.focus-ring-light {
  --cui-focus-ring-color: rgba(var(--cui-light-rgb), var(--cui-focus-ring-opacity));
}

.focus-ring-dark {
  --cui-focus-ring-color: rgba(var(--cui-dark-rgb), var(--cui-focus-ring-opacity));
}

.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-sticky {
  position: sticky !important;
}

.top-0 {
  top: 0 !important;
}

.top-50 {
  top: 50% !important;
}

.top-100 {
  top: 100% !important;
}

.bottom-0 {
  bottom: 0 !important;
}

.bottom-50 {
  bottom: 50% !important;
}

.bottom-100 {
  bottom: 100% !important;
}

.start-0 {
  inset-inline-start: 0 !important;
}

.start-50 {
  inset-inline-start: 50% !important;
}

.start-100 {
  inset-inline-start: 100% !important;
}

.end-0 {
  inset-inline-end: 0 !important;
}

.end-50 {
  inset-inline-end: 50% !important;
}

.end-100 {
  inset-inline-end: 100% !important;
}

.translate-middle {
  transform: translate(-50%, -50%) !important;
}

.translate-middle-x {
  transform: translateX(-50%) !important;
}

.translate-middle-y {
  transform: translateY(-50%) !important;
}

.border {
  border: var(--cui-border-width) var(--cui-border-style) var(--cui-border-color) !important;
}

.border-0 {
  border: 0 !important;
}

.border-top {
  border-top: var(--cui-border-width) var(--cui-border-style) var(--cui-border-color) !important;
}

.border-top-0 {
  border-top: 0 !important;
}

.border-end {
  border-inline-end: var(--cui-border-width) var(--cui-border-style) var(--cui-border-color) !important;
}

.border-end-0 {
  border-inline-end: 0 !important;
}

.border-bottom {
  border-bottom: var(--cui-border-width) var(--cui-border-style) var(--cui-border-color) !important;
}

.border-bottom-0 {
  border-bottom: 0 !important;
}

.border-start {
  border-inline-start: var(--cui-border-width) var(--cui-border-style) var(--cui-border-color) !important;
}

.border-start-0 {
  border-inline-start: 0 !important;
}

.border-primary {
  --cui-border-opacity: 1;
  border-color: rgba(var(--cui-primary-rgb), var(--cui-border-opacity)) !important;
}

.border-secondary {
  --cui-border-opacity: 1;
  border-color: rgba(var(--cui-secondary-rgb), var(--cui-border-opacity)) !important;
}

.border-success {
  --cui-border-opacity: 1;
  border-color: rgba(var(--cui-success-rgb), var(--cui-border-opacity)) !important;
}

.border-info {
  --cui-border-opacity: 1;
  border-color: rgba(var(--cui-info-rgb), var(--cui-border-opacity)) !important;
}

.border-warning {
  --cui-border-opacity: 1;
  border-color: rgba(var(--cui-warning-rgb), var(--cui-border-opacity)) !important;
}

.border-danger {
  --cui-border-opacity: 1;
  border-color: rgba(var(--cui-danger-rgb), var(--cui-border-opacity)) !important;
}

.border-light {
  --cui-border-opacity: 1;
  border-color: rgba(var(--cui-light-rgb), var(--cui-border-opacity)) !important;
}

.border-dark {
  --cui-border-opacity: 1;
  border-color: rgba(var(--cui-dark-rgb), var(--cui-border-opacity)) !important;
}

.border-black {
  --cui-border-opacity: 1;
  border-color: rgba(var(--cui-black-rgb), var(--cui-border-opacity)) !important;
}

.border-white {
  --cui-border-opacity: 1;
  border-color: rgba(var(--cui-white-rgb), var(--cui-border-opacity)) !important;
}

.border-top-primary {
  border-top-color: #5856d6 !important;
}

.border-top-secondary {
  border-top-color: #6b7785 !important;
}

.border-top-success {
  border-top-color: #1b9e3e !important;
}

.border-top-info {
  border-top-color: #39f !important;
}

.border-top-warning {
  border-top-color: #f9b115 !important;
}

.border-top-danger {
  border-top-color: #e55353 !important;
}

.border-top-light {
  border-top-color: #f3f4f7 !important;
}

.border-top-dark {
  border-top-color: #212631 !important;
}

.border-top-white {
  border-top-color: #fff !important;
}

.border-end-primary {
  border-inline-end-color: #5856d6 !important;
}

.border-end-secondary {
  border-inline-end-color: #6b7785 !important;
}

.border-end-success {
  border-inline-end-color: #1b9e3e !important;
}

.border-end-info {
  border-inline-end-color: #39f !important;
}

.border-end-warning {
  border-inline-end-color: #f9b115 !important;
}

.border-end-danger {
  border-inline-end-color: #e55353 !important;
}

.border-end-light {
  border-inline-end-color: #f3f4f7 !important;
}

.border-end-dark {
  border-inline-end-color: #212631 !important;
}

.border-end-white {
  border-inline-end-color: #fff !important;
}

.border-bottom-primary {
  border-bottom-color: #5856d6 !important;
}

.border-bottom-secondary {
  border-bottom-color: #6b7785 !important;
}

.border-bottom-success {
  border-bottom-color: #1b9e3e !important;
}

.border-bottom-info {
  border-bottom-color: #39f !important;
}

.border-bottom-warning {
  border-bottom-color: #f9b115 !important;
}

.border-bottom-danger {
  border-bottom-color: #e55353 !important;
}

.border-bottom-light {
  border-bottom-color: #f3f4f7 !important;
}

.border-bottom-dark {
  border-bottom-color: #212631 !important;
}

.border-bottom-white {
  border-bottom-color: #fff !important;
}

.border-start-primary {
  border-inline-start-color: #5856d6 !important;
}

.border-start-secondary {
  border-inline-start-color: #6b7785 !important;
}

.border-start-success {
  border-inline-start-color: #1b9e3e !important;
}

.border-start-info {
  border-inline-start-color: #39f !important;
}

.border-start-warning {
  border-inline-start-color: #f9b115 !important;
}

.border-start-danger {
  border-inline-start-color: #e55353 !important;
}

.border-start-light {
  border-inline-start-color: #f3f4f7 !important;
}

.border-start-dark {
  border-inline-start-color: #212631 !important;
}

.border-start-white {
  border-inline-start-color: #fff !important;
}

.border-1 {
  border-width: 1px !important;
}

.border-2 {
  border-width: 2px !important;
}

.border-3 {
  border-width: 3px !important;
}

.border-4 {
  border-width: 4px !important;
}

.border-5 {
  border-width: 5px !important;
}

.border-top-1 {
  border-top-width: 1px !important;
}

.border-top-2 {
  border-top-width: 2px !important;
}

.border-top-3 {
  border-top-width: 3px !important;
}

.border-top-4 {
  border-top-width: 4px !important;
}

.border-top-5 {
  border-top-width: 5px !important;
}

.border-end-1 {
  border-inline-end-width: 1px !important;
}

.border-end-2 {
  border-inline-end-width: 2px !important;
}

.border-end-3 {
  border-inline-end-width: 3px !important;
}

.border-end-4 {
  border-inline-end-width: 4px !important;
}

.border-end-5 {
  border-inline-end-width: 5px !important;
}

.border-bottom-1 {
  border-bottom-width: 1px !important;
}

.border-bottom-2 {
  border-bottom-width: 2px !important;
}

.border-bottom-3 {
  border-bottom-width: 3px !important;
}

.border-bottom-4 {
  border-bottom-width: 4px !important;
}

.border-bottom-5 {
  border-bottom-width: 5px !important;
}

.border-start-1 {
  border-inline-start-width: 1px !important;
}

.border-start-2 {
  border-inline-start-width: 2px !important;
}

.border-start-3 {
  border-inline-start-width: 3px !important;
}

.border-start-4 {
  border-inline-start-width: 4px !important;
}

.border-start-5 {
  border-inline-start-width: 5px !important;
}

.border-primary-subtle {
  border-color: var(--cui-primary-border-subtle) !important;
}

.border-secondary-subtle {
  border-color: var(--cui-secondary-border-subtle) !important;
}

.border-success-subtle {
  border-color: var(--cui-success-border-subtle) !important;
}

.border-info-subtle {
  border-color: var(--cui-info-border-subtle) !important;
}

.border-warning-subtle {
  border-color: var(--cui-warning-border-subtle) !important;
}

.border-danger-subtle {
  border-color: var(--cui-danger-border-subtle) !important;
}

.border-light-subtle {
  border-color: var(--cui-light-border-subtle) !important;
}

.border-dark-subtle {
  border-color: var(--cui-dark-border-subtle) !important;
}

.border-opacity-10 {
  --cui-border-opacity: 0.1;
}

.border-opacity-25 {
  --cui-border-opacity: 0.25;
}

.border-opacity-50 {
  --cui-border-opacity: 0.5;
}

.border-opacity-75 {
  --cui-border-opacity: 0.75;
}

.border-opacity-100 {
  --cui-border-opacity: 1;
}

.w-25 {
  width: 25% !important;
}

.w-50 {
  width: 50% !important;
}

.w-75 {
  width: 75% !important;
}

.w-100 {
  width: 100% !important;
}

.w-auto {
  width: auto !important;
}

.mw-100 {
  max-width: 100% !important;
}

.vw-100 {
  width: 100vw !important;
}

.min-vw-100 {
  min-width: 100vw !important;
}

.h-25 {
  height: 25% !important;
}

.h-50 {
  height: 50% !important;
}

.h-75 {
  height: 75% !important;
}

.h-100 {
  height: 100% !important;
}

.h-auto {
  height: auto !important;
}

.mh-100 {
  max-height: 100% !important;
}

.vh-100 {
  height: 100vh !important;
}

.min-vh-100 {
  min-height: 100vh !important;
}

.flex-fill {
  flex: 1 1 auto !important;
}

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

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

.flex-row-reverse {
  flex-direction: row-reverse !important;
}

.flex-column-reverse {
  flex-direction: column-reverse !important;
}

.flex-grow-0 {
  flex-grow: 0 !important;
}

.flex-grow-1 {
  flex-grow: 1 !important;
}

.flex-shrink-0 {
  flex-shrink: 0 !important;
}

.flex-shrink-1 {
  flex-shrink: 1 !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

.justify-content-start {
  justify-content: flex-start !important;
}

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

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

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

.justify-content-around {
  justify-content: space-around !important;
}

.justify-content-evenly {
  justify-content: space-evenly !important;
}

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

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

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

.align-items-baseline {
  align-items: baseline !important;
}

.align-items-stretch {
  align-items: stretch !important;
}

.align-content-start {
  align-content: flex-start !important;
}

.align-content-end {
  align-content: flex-end !important;
}

.align-content-center {
  align-content: center !important;
}

.align-content-between {
  align-content: space-between !important;
}

.align-content-around {
  align-content: space-around !important;
}

.align-content-stretch {
  align-content: stretch !important;
}

.align-self-auto {
  align-self: auto !important;
}

.align-self-start {
  align-self: flex-start !important;
}

.align-self-end {
  align-self: flex-end !important;
}

.align-self-center {
  align-self: center !important;
}

.align-self-baseline {
  align-self: baseline !important;
}

.align-self-stretch {
  align-self: stretch !important;
}

.order-first {
  order: -1 !important;
}

.order-0 {
  order: 0 !important;
}

.order-1 {
  order: 1 !important;
}

.order-2 {
  order: 2 !important;
}

.order-3 {
  order: 3 !important;
}

.order-4 {
  order: 4 !important;
}

.order-5 {
  order: 5 !important;
}

.order-last {
  order: 6 !important;
}

.m-0 {
  margin: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.m-3 {
  margin: 1rem !important;
}

.m-4 {
  margin: 1.5rem !important;
}

.m-5 {
  margin: 3rem !important;
}

.m-auto {
  margin: auto !important;
}

.mx-0 {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.mx-1 {
  margin-right: 0.25rem !important;
  margin-left: 0.25rem !important;
}

.mx-2 {
  margin-right: 0.5rem !important;
  margin-left: 0.5rem !important;
}

.mx-3 {
  margin-right: 1rem !important;
  margin-left: 1rem !important;
}

.mx-4 {
  margin-right: 1.5rem !important;
  margin-left: 1.5rem !important;
}

.mx-5 {
  margin-right: 3rem !important;
  margin-left: 3rem !important;
}

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

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.my-1 {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}

.my-2 {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

.my-3 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.my-4 {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.my-5 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-1 {
  margin-top: 0.25rem !important;
}

.mt-2 {
  margin-top: 0.5rem !important;
}

.mt-3 {
  margin-top: 1rem !important;
}

.mt-4 {
  margin-top: 1.5rem !important;
}

.mt-5 {
  margin-top: 3rem !important;
}

.mt-auto {
  margin-top: auto !important;
}

.me-0 {
  margin-inline-end: 0 !important;
}

.me-1 {
  margin-inline-end: 0.25rem !important;
}

.me-2 {
  margin-inline-end: 0.5rem !important;
}

.me-3 {
  margin-inline-end: 1rem !important;
}

.me-4 {
  margin-inline-end: 1.5rem !important;
}

.me-5 {
  margin-inline-end: 3rem !important;
}

.me-auto {
  margin-inline-end: auto !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-1 {
  margin-bottom: 0.25rem !important;
}

.mb-2 {
  margin-bottom: 0.5rem !important;
}

.mb-3 {
  margin-bottom: 1rem !important;
}

.mb-4 {
  margin-bottom: 1.5rem !important;
}

.mb-5 {
  margin-bottom: 3rem !important;
}

.mb-auto {
  margin-bottom: auto !important;
}

.ms-0 {
  margin-inline-start: 0 !important;
}

.ms-1 {
  margin-inline-start: 0.25rem !important;
}

.ms-2 {
  margin-inline-start: 0.5rem !important;
}

.ms-3 {
  margin-inline-start: 1rem !important;
}

.ms-4 {
  margin-inline-start: 1.5rem !important;
}

.ms-5 {
  margin-inline-start: 3rem !important;
}

.ms-auto {
  margin-inline-start: auto !important;
}

.p-0 {
  padding: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.p-3 {
  padding: 1rem !important;
}

.p-4 {
  padding: 1.5rem !important;
}

.p-5 {
  padding: 3rem !important;
}

.px-0 {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.px-1 {
  padding-right: 0.25rem !important;
  padding-left: 0.25rem !important;
}

.px-2 {
  padding-right: 0.5rem !important;
  padding-left: 0.5rem !important;
}

.px-3 {
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}

.px-4 {
  padding-right: 1.5rem !important;
  padding-left: 1.5rem !important;
}

.px-5 {
  padding-right: 3rem !important;
  padding-left: 3rem !important;
}

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.py-1 {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

.py-2 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.py-3 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.py-4 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

.py-5 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pt-1 {
  padding-top: 0.25rem !important;
}

.pt-2 {
  padding-top: 0.5rem !important;
}

.pt-3 {
  padding-top: 1rem !important;
}

.pt-4 {
  padding-top: 1.5rem !important;
}

.pt-5 {
  padding-top: 3rem !important;
}

.pe-0 {
  padding-inline-end: 0 !important;
}

.pe-1 {
  padding-inline-end: 0.25rem !important;
}

.pe-2 {
  padding-inline-end: 0.5rem !important;
}

.pe-3 {
  padding-inline-end: 1rem !important;
}

.pe-4 {
  padding-inline-end: 1.5rem !important;
}

.pe-5 {
  padding-inline-end: 3rem !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pb-1 {
  padding-bottom: 0.25rem !important;
}

.pb-2 {
  padding-bottom: 0.5rem !important;
}

.pb-3 {
  padding-bottom: 1rem !important;
}

.pb-4 {
  padding-bottom: 1.5rem !important;
}

.pb-5 {
  padding-bottom: 3rem !important;
}

.ps-0 {
  padding-inline-start: 0 !important;
}

.ps-1 {
  padding-inline-start: 0.25rem !important;
}

.ps-2 {
  padding-inline-start: 0.5rem !important;
}

.ps-3 {
  padding-inline-start: 1rem !important;
}

.ps-4 {
  padding-inline-start: 1.5rem !important;
}

.ps-5 {
  padding-inline-start: 3rem !important;
}

.gap-0 {
  gap: 0 !important;
}

.gap-1 {
  gap: 0.25rem !important;
}

.gap-2 {
  gap: 0.5rem !important;
}

.gap-3 {
  gap: 1rem !important;
}

.gap-4 {
  gap: 1.5rem !important;
}

.gap-5 {
  gap: 3rem !important;
}

.row-gap-0 {
  row-gap: 0 !important;
}

.row-gap-1 {
  row-gap: 0.25rem !important;
}

.row-gap-2 {
  row-gap: 0.5rem !important;
}

.row-gap-3 {
  row-gap: 1rem !important;
}

.row-gap-4 {
  row-gap: 1.5rem !important;
}

.row-gap-5 {
  row-gap: 3rem !important;
}

.column-gap-0 {
  column-gap: 0 !important;
}

.column-gap-1 {
  column-gap: 0.25rem !important;
}

.column-gap-2 {
  column-gap: 0.5rem !important;
}

.column-gap-3 {
  column-gap: 1rem !important;
}

.column-gap-4 {
  column-gap: 1.5rem !important;
}

.column-gap-5 {
  column-gap: 3rem !important;
}

.font-monospace {
  font-family: var(--cui-font-monospace) !important;
}

.fs-1 {
  font-size: calc(1.375rem + 1.5vw) !important;
}

.fs-2 {
  font-size: calc(1.325rem + 0.9vw) !important;
}

.fs-3 {
  font-size: calc(1.3rem + 0.6vw) !important;
}

.fs-4 {
  font-size: calc(1.275rem + 0.3vw) !important;
}

.fs-5 {
  font-size: 1.25rem !important;
}

.fs-6 {
  font-size: 1rem !important;
}

.fst-italic {
  font-style: italic !important;
}

.fst-normal {
  font-style: normal !important;
}

.fw-lighter {
  font-weight: lighter !important;
}

.fw-light {
  font-weight: 300 !important;
}

.fw-normal {
  font-weight: 400 !important;
}

.fw-medium {
  font-weight: 500 !important;
}

.fw-semibold {
  font-weight: 600 !important;
}

.fw-bold {
  font-weight: 700 !important;
}

.fw-bolder {
  font-weight: bolder !important;
}

.lh-1 {
  line-height: 1 !important;
}

.lh-sm {
  line-height: 1.25 !important;
}

.lh-base {
  line-height: 1.5 !important;
}

.lh-lg {
  line-height: 2 !important;
}

.text-start {
  text-align: start !important;
}

.text-end {
  text-align: end !important;
}

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

.text-decoration-none {
  text-decoration: none !important;
}

.text-decoration-underline {
  text-decoration: underline !important;
}

.text-decoration-line-through {
  text-decoration: line-through !important;
}

.text-lowercase {
  text-transform: lowercase !important;
}

.text-uppercase {
  text-transform: uppercase !important;
}

.text-capitalize {
  text-transform: capitalize !important;
}

.text-wrap {
  white-space: normal !important;
}

.text-nowrap {
  white-space: nowrap !important;
}

/* rtl:begin:remove */
.text-break {
  word-wrap: break-word !important;
  word-break: break-word !important;
}

/* rtl:end:remove */
[data-coreui-theme=dark] .dark\:text-primary, [data-coreui-theme=dark] .dark\:text-primary:not([class*="dark:"]),
.text-primary {
  --cui-text-opacity: 1;
  color: rgba(var(--cui-primary-rgb), var(--cui-text-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:text-secondary, [data-coreui-theme=dark] .dark\:text-secondary:not([class*="dark:"]),
.text-secondary {
  --cui-text-opacity: 1;
  color: rgba(var(--cui-secondary-rgb), var(--cui-text-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:text-success, [data-coreui-theme=dark] .dark\:text-success:not([class*="dark:"]),
.text-success {
  --cui-text-opacity: 1;
  color: rgba(var(--cui-success-rgb), var(--cui-text-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:text-info, [data-coreui-theme=dark] .dark\:text-info:not([class*="dark:"]),
.text-info {
  --cui-text-opacity: 1;
  color: rgba(var(--cui-info-rgb), var(--cui-text-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:text-warning, [data-coreui-theme=dark] .dark\:text-warning:not([class*="dark:"]),
.text-warning {
  --cui-text-opacity: 1;
  color: rgba(var(--cui-warning-rgb), var(--cui-text-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:text-danger, [data-coreui-theme=dark] .dark\:text-danger:not([class*="dark:"]),
.text-danger {
  --cui-text-opacity: 1;
  color: rgba(var(--cui-danger-rgb), var(--cui-text-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:text-light, [data-coreui-theme=dark] .dark\:text-light:not([class*="dark:"]),
.text-light {
  --cui-text-opacity: 1;
  color: rgba(var(--cui-light-rgb), var(--cui-text-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:text-dark, [data-coreui-theme=dark] .dark\:text-dark:not([class*="dark:"]),
.text-dark {
  --cui-text-opacity: 1;
  color: rgba(var(--cui-dark-rgb), var(--cui-text-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:text-black, [data-coreui-theme=dark] .dark\:text-black:not([class*="dark:"]),
.text-black {
  --cui-text-opacity: 1;
  color: rgba(var(--cui-black-rgb), var(--cui-text-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:text-white, [data-coreui-theme=dark] .dark\:text-white:not([class*="dark:"]),
.text-white {
  --cui-text-opacity: 1;
  color: rgba(var(--cui-white-rgb), var(--cui-text-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:text-body, [data-coreui-theme=dark] .dark\:text-body:not([class*="dark:"]),
.text-body {
  --cui-text-opacity: 1;
  color: rgba(var(--cui-body-color-rgb), var(--cui-text-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:text-muted, [data-coreui-theme=dark] .dark\:text-muted:not([class*="dark:"]),
.text-muted {
  --cui-text-opacity: 1;
  color: var(--cui-secondary-color) !important;
}

[data-coreui-theme=dark] .dark\:text-black-50, [data-coreui-theme=dark] .dark\:text-black-50:not([class*="dark:"]),
.text-black-50 {
  --cui-text-opacity: 1;
  color: rgba(8, 10, 12, 0.5) !important;
}

[data-coreui-theme=dark] .dark\:text-white-50, [data-coreui-theme=dark] .dark\:text-white-50:not([class*="dark:"]),
.text-white-50 {
  --cui-text-opacity: 1;
  color: rgba(255, 255, 255, 0.5) !important;
}

[data-coreui-theme=dark] .dark\:text-body-secondary, [data-coreui-theme=dark] .dark\:text-body-secondary:not([class*="dark:"]),
.text-body-secondary {
  --cui-text-opacity: 1;
  color: var(--cui-secondary-color) !important;
}

[data-coreui-theme=dark] .dark\:text-body-tertiary, [data-coreui-theme=dark] .dark\:text-body-tertiary:not([class*="dark:"]),
.text-body-tertiary {
  --cui-text-opacity: 1;
  color: var(--cui-tertiary-color) !important;
}

[data-coreui-theme=dark] .dark\:text-body-emphasis, [data-coreui-theme=dark] .dark\:text-body-emphasis:not([class*="dark:"]),
.text-body-emphasis {
  --cui-text-opacity: 1;
  color: var(--cui-emphasis-color) !important;
}

[data-coreui-theme=dark] .dark\:text-reset, [data-coreui-theme=dark] .dark\:text-reset:not([class*="dark:"]),
.text-reset {
  --cui-text-opacity: 1;
  color: inherit !important;
}

[data-coreui-theme=dark] .dark\:text-high-emphasis-inverse, [data-coreui-theme=dark] .dark\:text-high-emphasis-inverse:not([class*="dark:"]),
.text-high-emphasis-inverse {
  --cui-text-opacity: 1;
  color: var(--cui-high-emphasis-inverse) !important;
}

[data-coreui-theme=dark] .dark\:text-medium-emphasis-inverse, [data-coreui-theme=dark] .dark\:text-medium-emphasis-inverse:not([class*="dark:"]),
.text-medium-emphasis-inverse {
  --cui-text-opacity: 1;
  color: var(--cui-medium-emphasis-inverse) !important;
}

[data-coreui-theme=dark] .dark\:text-disabled-inverse, [data-coreui-theme=dark] .dark\:text-disabled-inverse:not([class*="dark:"]),
.text-disabled-inverse {
  --cui-text-opacity: 1;
  color: var(--cui-disabled-inverse) !important;
}

[data-coreui-theme=dark] .dark\:text-high-emphasis, [data-coreui-theme=dark] .dark\:text-high-emphasis:not([class*="dark:"]),
.text-high-emphasis {
  --cui-text-opacity: 1;
  color: var(--cui-high-emphasis) !important;
}

[data-coreui-theme=dark] .dark\:text-medium-emphasis, [data-coreui-theme=dark] .dark\:text-medium-emphasis:not([class*="dark:"]),
.text-medium-emphasis {
  --cui-text-opacity: 1;
  color: var(--cui-medium-emphasis) !important;
}

[data-coreui-theme=dark] .dark\:text-disabled, [data-coreui-theme=dark] .dark\:text-disabled:not([class*="dark:"]),
.text-disabled {
  --cui-text-opacity: 1;
  color: var(--cui-disabled) !important;
}

.text-opacity-25 {
  --cui-text-opacity: 0.25;
}

.text-opacity-50 {
  --cui-text-opacity: 0.5;
}

.text-opacity-75 {
  --cui-text-opacity: 0.75;
}

.text-opacity-100 {
  --cui-text-opacity: 1;
}

.text-primary-emphasis {
  color: var(--cui-primary-text-emphasis) !important;
}

.text-secondary-emphasis {
  color: var(--cui-secondary-text-emphasis) !important;
}

.text-success-emphasis {
  color: var(--cui-success-text-emphasis) !important;
}

.text-info-emphasis {
  color: var(--cui-info-text-emphasis) !important;
}

.text-warning-emphasis {
  color: var(--cui-warning-text-emphasis) !important;
}

.text-danger-emphasis {
  color: var(--cui-danger-text-emphasis) !important;
}

.text-light-emphasis {
  color: var(--cui-light-text-emphasis) !important;
}

.text-dark-emphasis {
  color: var(--cui-dark-text-emphasis) !important;
}

.link-opacity-10 {
  --cui-link-opacity: 0.1;
}

.link-opacity-10-hover:hover {
  --cui-link-opacity: 0.1;
}

.link-opacity-25 {
  --cui-link-opacity: 0.25;
}

.link-opacity-25-hover:hover {
  --cui-link-opacity: 0.25;
}

.link-opacity-50 {
  --cui-link-opacity: 0.5;
}

.link-opacity-50-hover:hover {
  --cui-link-opacity: 0.5;
}

.link-opacity-75 {
  --cui-link-opacity: 0.75;
}

.link-opacity-75-hover:hover {
  --cui-link-opacity: 0.75;
}

.link-opacity-100 {
  --cui-link-opacity: 1;
}

.link-opacity-100-hover:hover {
  --cui-link-opacity: 1;
}

.link-offset-1 {
  text-underline-offset: 0.125em !important;
}

.link-offset-1-hover:hover {
  text-underline-offset: 0.125em !important;
}

.link-offset-2 {
  text-underline-offset: 0.25em !important;
}

.link-offset-2-hover:hover {
  text-underline-offset: 0.25em !important;
}

.link-offset-3 {
  text-underline-offset: 0.375em !important;
}

.link-offset-3-hover:hover {
  text-underline-offset: 0.375em !important;
}

.link-underline-primary {
  --cui-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--cui-primary-rgb), var(--cui-link-underline-opacity)) !important;
}

.link-underline-secondary {
  --cui-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--cui-secondary-rgb), var(--cui-link-underline-opacity)) !important;
}

.link-underline-success {
  --cui-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--cui-success-rgb), var(--cui-link-underline-opacity)) !important;
}

.link-underline-info {
  --cui-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--cui-info-rgb), var(--cui-link-underline-opacity)) !important;
}

.link-underline-warning {
  --cui-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--cui-warning-rgb), var(--cui-link-underline-opacity)) !important;
}

.link-underline-danger {
  --cui-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--cui-danger-rgb), var(--cui-link-underline-opacity)) !important;
}

.link-underline-light {
  --cui-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--cui-light-rgb), var(--cui-link-underline-opacity)) !important;
}

.link-underline-dark {
  --cui-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--cui-dark-rgb), var(--cui-link-underline-opacity)) !important;
}

.link-underline {
  --cui-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--cui-link-color-rgb), var(--cui-link-underline-opacity, 1)) !important;
}

.link-underline-opacity-0 {
  --cui-link-underline-opacity: 0;
}

.link-underline-opacity-0-hover:hover {
  --cui-link-underline-opacity: 0;
}

.link-underline-opacity-10 {
  --cui-link-underline-opacity: 0.1;
}

.link-underline-opacity-10-hover:hover {
  --cui-link-underline-opacity: 0.1;
}

.link-underline-opacity-25 {
  --cui-link-underline-opacity: 0.25;
}

.link-underline-opacity-25-hover:hover {
  --cui-link-underline-opacity: 0.25;
}

.link-underline-opacity-50 {
  --cui-link-underline-opacity: 0.5;
}

.link-underline-opacity-50-hover:hover {
  --cui-link-underline-opacity: 0.5;
}

.link-underline-opacity-75 {
  --cui-link-underline-opacity: 0.75;
}

.link-underline-opacity-75-hover:hover {
  --cui-link-underline-opacity: 0.75;
}

.link-underline-opacity-100 {
  --cui-link-underline-opacity: 1;
}

.link-underline-opacity-100-hover:hover {
  --cui-link-underline-opacity: 1;
}

[data-coreui-theme=dark] .dark\:bg-primary, [data-coreui-theme=dark] .dark\:bg-primary:not([class*="dark:"]),
.bg-primary {
  --cui-bg-opacity: 1;
  background-color: rgba(var(--cui-primary-rgb), var(--cui-bg-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:bg-secondary, [data-coreui-theme=dark] .dark\:bg-secondary:not([class*="dark:"]),
.bg-secondary {
  --cui-bg-opacity: 1;
  background-color: rgba(var(--cui-secondary-rgb), var(--cui-bg-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:bg-success, [data-coreui-theme=dark] .dark\:bg-success:not([class*="dark:"]),
.bg-success {
  --cui-bg-opacity: 1;
  background-color: rgba(var(--cui-success-rgb), var(--cui-bg-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:bg-info, [data-coreui-theme=dark] .dark\:bg-info:not([class*="dark:"]),
.bg-info {
  --cui-bg-opacity: 1;
  background-color: rgba(var(--cui-info-rgb), var(--cui-bg-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:bg-warning, [data-coreui-theme=dark] .dark\:bg-warning:not([class*="dark:"]),
.bg-warning {
  --cui-bg-opacity: 1;
  background-color: rgba(var(--cui-warning-rgb), var(--cui-bg-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:bg-danger, [data-coreui-theme=dark] .dark\:bg-danger:not([class*="dark:"]),
.bg-danger {
  --cui-bg-opacity: 1;
  background-color: rgba(var(--cui-danger-rgb), var(--cui-bg-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:bg-light, [data-coreui-theme=dark] .dark\:bg-light:not([class*="dark:"]),
.bg-light {
  --cui-bg-opacity: 1;
  background-color: rgba(var(--cui-light-rgb), var(--cui-bg-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:bg-dark, [data-coreui-theme=dark] .dark\:bg-dark:not([class*="dark:"]),
.bg-dark {
  --cui-bg-opacity: 1;
  background-color: rgba(var(--cui-dark-rgb), var(--cui-bg-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:bg-black, [data-coreui-theme=dark] .dark\:bg-black:not([class*="dark:"]),
.bg-black {
  --cui-bg-opacity: 1;
  background-color: rgba(var(--cui-black-rgb), var(--cui-bg-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:bg-white, [data-coreui-theme=dark] .dark\:bg-white:not([class*="dark:"]),
.bg-white {
  --cui-bg-opacity: 1;
  background-color: rgba(var(--cui-white-rgb), var(--cui-bg-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:bg-body, [data-coreui-theme=dark] .dark\:bg-body:not([class*="dark:"]),
.bg-body {
  --cui-bg-opacity: 1;
  background-color: rgba(var(--cui-body-bg-rgb), var(--cui-bg-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:bg-transparent, [data-coreui-theme=dark] .dark\:bg-transparent:not([class*="dark:"]),
.bg-transparent {
  --cui-bg-opacity: 1;
  background-color: transparent !important;
}

[data-coreui-theme=dark] .dark\:bg-body-secondary, [data-coreui-theme=dark] .dark\:bg-body-secondary:not([class*="dark:"]),
.bg-body-secondary {
  --cui-bg-opacity: 1;
  background-color: rgba(var(--cui-secondary-bg-rgb), var(--cui-bg-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:bg-body-tertiary, [data-coreui-theme=dark] .dark\:bg-body-tertiary:not([class*="dark:"]),
.bg-body-tertiary {
  --cui-bg-opacity: 1;
  background-color: rgba(var(--cui-tertiary-bg-rgb), var(--cui-bg-opacity)) !important;
}

.bg-opacity-10 {
  --cui-bg-opacity: 0.1;
}

.bg-opacity-25 {
  --cui-bg-opacity: 0.25;
}

.bg-opacity-50 {
  --cui-bg-opacity: 0.5;
}

.bg-opacity-75 {
  --cui-bg-opacity: 0.75;
}

.bg-opacity-100 {
  --cui-bg-opacity: 1;
}

[data-coreui-theme=dark] .dark\:bg-primary-subtle, [data-coreui-theme=dark] .dark\:bg-primary-subtle:not([class*="dark:"]),
.bg-primary-subtle {
  background-color: var(--cui-primary-bg-subtle) !important;
}

[data-coreui-theme=dark] .dark\:bg-secondary-subtle, [data-coreui-theme=dark] .dark\:bg-secondary-subtle:not([class*="dark:"]),
.bg-secondary-subtle {
  background-color: var(--cui-secondary-bg-subtle) !important;
}

[data-coreui-theme=dark] .dark\:bg-success-subtle, [data-coreui-theme=dark] .dark\:bg-success-subtle:not([class*="dark:"]),
.bg-success-subtle {
  background-color: var(--cui-success-bg-subtle) !important;
}

[data-coreui-theme=dark] .dark\:bg-info-subtle, [data-coreui-theme=dark] .dark\:bg-info-subtle:not([class*="dark:"]),
.bg-info-subtle {
  background-color: var(--cui-info-bg-subtle) !important;
}

[data-coreui-theme=dark] .dark\:bg-warning-subtle, [data-coreui-theme=dark] .dark\:bg-warning-subtle:not([class*="dark:"]),
.bg-warning-subtle {
  background-color: var(--cui-warning-bg-subtle) !important;
}

[data-coreui-theme=dark] .dark\:bg-danger-subtle, [data-coreui-theme=dark] .dark\:bg-danger-subtle:not([class*="dark:"]),
.bg-danger-subtle {
  background-color: var(--cui-danger-bg-subtle) !important;
}

[data-coreui-theme=dark] .dark\:bg-light-subtle, [data-coreui-theme=dark] .dark\:bg-light-subtle:not([class*="dark:"]),
.bg-light-subtle {
  background-color: var(--cui-light-bg-subtle) !important;
}

[data-coreui-theme=dark] .dark\:bg-dark-subtle, [data-coreui-theme=dark] .dark\:bg-dark-subtle:not([class*="dark:"]),
.bg-dark-subtle {
  background-color: var(--cui-dark-bg-subtle) !important;
}

.bg-gradient {
  background-image: var(--cui-gradient) !important;
}

.user-select-all {
  user-select: all !important;
}

.user-select-auto {
  user-select: auto !important;
}

.user-select-none {
  user-select: none !important;
}

.pe-none {
  pointer-events: none !important;
}

.pe-auto {
  pointer-events: auto !important;
}

.rounded {
  border-radius: var(--cui-border-radius) !important;
}

.rounded-0 {
  border-radius: 0 !important;
}

.rounded-1 {
  border-radius: var(--cui-border-radius-sm) !important;
}

.rounded-2 {
  border-radius: var(--cui-border-radius) !important;
}

.rounded-3 {
  border-radius: var(--cui-border-radius-lg) !important;
}

.rounded-4 {
  border-radius: var(--cui-border-radius-xl) !important;
}

.rounded-5 {
  border-radius: var(--cui-border-radius-xxl) !important;
}

.rounded-circle {
  border-radius: 50% !important;
}

.rounded-pill {
  border-radius: var(--cui-border-radius-pill) !important;
}

.rounded-top {
  border-top-left-radius: var(--cui-border-radius) !important;
  border-top-right-radius: var(--cui-border-radius) !important;
}

.rounded-top-0 {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

.rounded-top-1 {
  border-top-left-radius: var(--cui-border-radius-sm) !important;
  border-top-right-radius: var(--cui-border-radius-sm) !important;
}

.rounded-top-2 {
  border-top-left-radius: var(--cui-border-radius) !important;
  border-top-right-radius: var(--cui-border-radius) !important;
}

.rounded-top-3 {
  border-top-left-radius: var(--cui-border-radius-lg) !important;
  border-top-right-radius: var(--cui-border-radius-lg) !important;
}

.rounded-top-4 {
  border-top-left-radius: var(--cui-border-radius-xl) !important;
  border-top-right-radius: var(--cui-border-radius-xl) !important;
}

.rounded-top-5 {
  border-top-left-radius: var(--cui-border-radius-xxl) !important;
  border-top-right-radius: var(--cui-border-radius-xxl) !important;
}

.rounded-top-circle {
  border-top-left-radius: 50% !important;
  border-top-right-radius: 50% !important;
}

.rounded-top-pill {
  border-top-left-radius: var(--cui-border-radius-pill) !important;
  border-top-right-radius: var(--cui-border-radius-pill) !important;
}

.rounded-end {
  border-start-end-radius: var(--cui-border-radius) !important;
  border-end-end-radius: var(--cui-border-radius) !important;
}

.rounded-end-0 {
  border-start-end-radius: 0 !important;
  border-end-end-radius: 0 !important;
}

.rounded-end-1 {
  border-start-end-radius: var(--cui-border-radius-sm) !important;
  border-end-end-radius: var(--cui-border-radius-sm) !important;
}

.rounded-end-2 {
  border-start-end-radius: var(--cui-border-radius) !important;
  border-end-end-radius: var(--cui-border-radius) !important;
}

.rounded-end-3 {
  border-start-end-radius: var(--cui-border-radius-lg) !important;
  border-end-end-radius: var(--cui-border-radius-lg) !important;
}

.rounded-end-4 {
  border-start-end-radius: var(--cui-border-radius-xl) !important;
  border-end-end-radius: var(--cui-border-radius-xl) !important;
}

.rounded-end-5 {
  border-start-end-radius: var(--cui-border-radius-xxl) !important;
  border-end-end-radius: var(--cui-border-radius-xxl) !important;
}

.rounded-end-circle {
  border-start-end-radius: 50% !important;
  border-end-end-radius: 50% !important;
}

.rounded-end-pill {
  border-start-end-radius: var(--cui-border-radius-pill) !important;
  border-end-end-radius: var(--cui-border-radius-pill) !important;
}

.rounded-bottom {
  border-bottom-right-radius: var(--cui-border-radius) !important;
  border-bottom-left-radius: var(--cui-border-radius) !important;
}

.rounded-bottom-0 {
  border-bottom-right-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

.rounded-bottom-1 {
  border-bottom-right-radius: var(--cui-border-radius-sm) !important;
  border-bottom-left-radius: var(--cui-border-radius-sm) !important;
}

.rounded-bottom-2 {
  border-bottom-right-radius: var(--cui-border-radius) !important;
  border-bottom-left-radius: var(--cui-border-radius) !important;
}

.rounded-bottom-3 {
  border-bottom-right-radius: var(--cui-border-radius-lg) !important;
  border-bottom-left-radius: var(--cui-border-radius-lg) !important;
}

.rounded-bottom-4 {
  border-bottom-right-radius: var(--cui-border-radius-xl) !important;
  border-bottom-left-radius: var(--cui-border-radius-xl) !important;
}

.rounded-bottom-5 {
  border-bottom-right-radius: var(--cui-border-radius-xxl) !important;
  border-bottom-left-radius: var(--cui-border-radius-xxl) !important;
}

.rounded-bottom-circle {
  border-bottom-right-radius: 50% !important;
  border-bottom-left-radius: 50% !important;
}

.rounded-bottom-pill {
  border-bottom-right-radius: var(--cui-border-radius-pill) !important;
  border-bottom-left-radius: var(--cui-border-radius-pill) !important;
}

.rounded-start {
  border-end-start-radius: var(--cui-border-radius) !important;
  border-start-start-radius: var(--cui-border-radius) !important;
}

.rounded-start-0 {
  border-end-start-radius: 0 !important;
  border-start-start-radius: 0 !important;
}

.rounded-start-1 {
  border-end-start-radius: var(--cui-border-radius-sm) !important;
  border-start-start-radius: var(--cui-border-radius-sm) !important;
}

.rounded-start-2 {
  border-end-start-radius: var(--cui-border-radius) !important;
  border-start-start-radius: var(--cui-border-radius) !important;
}

.rounded-start-3 {
  border-end-start-radius: var(--cui-border-radius-lg) !important;
  border-start-start-radius: var(--cui-border-radius-lg) !important;
}

.rounded-start-4 {
  border-end-start-radius: var(--cui-border-radius-xl) !important;
  border-start-start-radius: var(--cui-border-radius-xl) !important;
}

.rounded-start-5 {
  border-end-start-radius: var(--cui-border-radius-xxl) !important;
  border-start-start-radius: var(--cui-border-radius-xxl) !important;
}

.rounded-start-circle {
  border-end-start-radius: 50% !important;
  border-start-start-radius: 50% !important;
}

.rounded-start-pill {
  border-end-start-radius: var(--cui-border-radius-pill) !important;
  border-start-start-radius: var(--cui-border-radius-pill) !important;
}

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

.z-n1 {
  z-index: -1 !important;
}

.z-0 {
  z-index: 0 !important;
}

.z-1 {
  z-index: 1 !important;
}

.z-2 {
  z-index: 2 !important;
}

.z-3 {
  z-index: 3 !important;
}

@media (min-width: 576px) {
  .float-sm-start {
    float: inline-start !important;
  }
  .float-sm-end {
    float: inline-end !important;
  }
  .float-sm-none {
    float: none !important;
  }
  .object-fit-sm-contain {
    object-fit: contain !important;
  }
  .object-fit-sm-cover {
    object-fit: cover !important;
  }
  .object-fit-sm-fill {
    object-fit: fill !important;
  }
  .object-fit-sm-scale {
    object-fit: scale-down !important;
  }
  .object-fit-sm-none {
    object-fit: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-grid {
    display: grid !important;
  }
  .d-sm-inline-grid {
    display: inline-grid !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
  .d-sm-none {
    display: none !important;
  }
  .flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .flex-sm-row {
    flex-direction: row !important;
  }
  .flex-sm-column {
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .justify-content-sm-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
  .align-content-sm-start {
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    align-content: center !important;
  }
  .align-content-sm-between {
    align-content: space-between !important;
  }
  .align-content-sm-around {
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    align-content: stretch !important;
  }
  .align-self-sm-auto {
    align-self: auto !important;
  }
  .align-self-sm-start {
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    align-self: center !important;
  }
  .align-self-sm-baseline {
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    align-self: stretch !important;
  }
  .order-sm-first {
    order: -1 !important;
  }
  .order-sm-0 {
    order: 0 !important;
  }
  .order-sm-1 {
    order: 1 !important;
  }
  .order-sm-2 {
    order: 2 !important;
  }
  .order-sm-3 {
    order: 3 !important;
  }
  .order-sm-4 {
    order: 4 !important;
  }
  .order-sm-5 {
    order: 5 !important;
  }
  .order-sm-last {
    order: 6 !important;
  }
  .m-sm-0 {
    margin: 0 !important;
  }
  .m-sm-1 {
    margin: 0.25rem !important;
  }
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .m-sm-3 {
    margin: 1rem !important;
  }
  .m-sm-4 {
    margin: 1.5rem !important;
  }
  .m-sm-5 {
    margin: 3rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mx-sm-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-sm-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-sm-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-sm-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-sm-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-sm-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-sm-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-sm-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-sm-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-sm-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-sm-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-sm-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-sm-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-sm-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-sm-0 {
    margin-top: 0 !important;
  }
  .mt-sm-1 {
    margin-top: 0.25rem !important;
  }
  .mt-sm-2 {
    margin-top: 0.5rem !important;
  }
  .mt-sm-3 {
    margin-top: 1rem !important;
  }
  .mt-sm-4 {
    margin-top: 1.5rem !important;
  }
  .mt-sm-5 {
    margin-top: 3rem !important;
  }
  .mt-sm-auto {
    margin-top: auto !important;
  }
  .me-sm-0 {
    margin-inline-end: 0 !important;
  }
  .me-sm-1 {
    margin-inline-end: 0.25rem !important;
  }
  .me-sm-2 {
    margin-inline-end: 0.5rem !important;
  }
  .me-sm-3 {
    margin-inline-end: 1rem !important;
  }
  .me-sm-4 {
    margin-inline-end: 1.5rem !important;
  }
  .me-sm-5 {
    margin-inline-end: 3rem !important;
  }
  .me-sm-auto {
    margin-inline-end: auto !important;
  }
  .mb-sm-0 {
    margin-bottom: 0 !important;
  }
  .mb-sm-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-sm-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-sm-3 {
    margin-bottom: 1rem !important;
  }
  .mb-sm-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-sm-5 {
    margin-bottom: 3rem !important;
  }
  .mb-sm-auto {
    margin-bottom: auto !important;
  }
  .ms-sm-0 {
    margin-inline-start: 0 !important;
  }
  .ms-sm-1 {
    margin-inline-start: 0.25rem !important;
  }
  .ms-sm-2 {
    margin-inline-start: 0.5rem !important;
  }
  .ms-sm-3 {
    margin-inline-start: 1rem !important;
  }
  .ms-sm-4 {
    margin-inline-start: 1.5rem !important;
  }
  .ms-sm-5 {
    margin-inline-start: 3rem !important;
  }
  .ms-sm-auto {
    margin-inline-start: auto !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .p-sm-1 {
    padding: 0.25rem !important;
  }
  .p-sm-2 {
    padding: 0.5rem !important;
  }
  .p-sm-3 {
    padding: 1rem !important;
  }
  .p-sm-4 {
    padding: 1.5rem !important;
  }
  .p-sm-5 {
    padding: 3rem !important;
  }
  .px-sm-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-sm-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-sm-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-sm-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-sm-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-sm-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-sm-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-sm-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-sm-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-sm-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-sm-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-sm-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-sm-0 {
    padding-top: 0 !important;
  }
  .pt-sm-1 {
    padding-top: 0.25rem !important;
  }
  .pt-sm-2 {
    padding-top: 0.5rem !important;
  }
  .pt-sm-3 {
    padding-top: 1rem !important;
  }
  .pt-sm-4 {
    padding-top: 1.5rem !important;
  }
  .pt-sm-5 {
    padding-top: 3rem !important;
  }
  .pe-sm-0 {
    padding-inline-end: 0 !important;
  }
  .pe-sm-1 {
    padding-inline-end: 0.25rem !important;
  }
  .pe-sm-2 {
    padding-inline-end: 0.5rem !important;
  }
  .pe-sm-3 {
    padding-inline-end: 1rem !important;
  }
  .pe-sm-4 {
    padding-inline-end: 1.5rem !important;
  }
  .pe-sm-5 {
    padding-inline-end: 3rem !important;
  }
  .pb-sm-0 {
    padding-bottom: 0 !important;
  }
  .pb-sm-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-sm-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-sm-3 {
    padding-bottom: 1rem !important;
  }
  .pb-sm-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-sm-5 {
    padding-bottom: 3rem !important;
  }
  .ps-sm-0 {
    padding-inline-start: 0 !important;
  }
  .ps-sm-1 {
    padding-inline-start: 0.25rem !important;
  }
  .ps-sm-2 {
    padding-inline-start: 0.5rem !important;
  }
  .ps-sm-3 {
    padding-inline-start: 1rem !important;
  }
  .ps-sm-4 {
    padding-inline-start: 1.5rem !important;
  }
  .ps-sm-5 {
    padding-inline-start: 3rem !important;
  }
  .gap-sm-0 {
    gap: 0 !important;
  }
  .gap-sm-1 {
    gap: 0.25rem !important;
  }
  .gap-sm-2 {
    gap: 0.5rem !important;
  }
  .gap-sm-3 {
    gap: 1rem !important;
  }
  .gap-sm-4 {
    gap: 1.5rem !important;
  }
  .gap-sm-5 {
    gap: 3rem !important;
  }
  .row-gap-sm-0 {
    row-gap: 0 !important;
  }
  .row-gap-sm-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-sm-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-sm-3 {
    row-gap: 1rem !important;
  }
  .row-gap-sm-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-sm-5 {
    row-gap: 3rem !important;
  }
  .column-gap-sm-0 {
    column-gap: 0 !important;
  }
  .column-gap-sm-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-sm-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-sm-3 {
    column-gap: 1rem !important;
  }
  .column-gap-sm-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-sm-5 {
    column-gap: 3rem !important;
  }
  .text-sm-start {
    text-align: start !important;
  }
  .text-sm-end {
    text-align: end !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
}
@media (min-width: 768px) {
  .float-md-start {
    float: inline-start !important;
  }
  .float-md-end {
    float: inline-end !important;
  }
  .float-md-none {
    float: none !important;
  }
  .object-fit-md-contain {
    object-fit: contain !important;
  }
  .object-fit-md-cover {
    object-fit: cover !important;
  }
  .object-fit-md-fill {
    object-fit: fill !important;
  }
  .object-fit-md-scale {
    object-fit: scale-down !important;
  }
  .object-fit-md-none {
    object-fit: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-grid {
    display: grid !important;
  }
  .d-md-inline-grid {
    display: inline-grid !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
  .d-md-none {
    display: none !important;
  }
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .justify-content-md-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
  .align-content-md-start {
    align-content: flex-start !important;
  }
  .align-content-md-end {
    align-content: flex-end !important;
  }
  .align-content-md-center {
    align-content: center !important;
  }
  .align-content-md-between {
    align-content: space-between !important;
  }
  .align-content-md-around {
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    align-content: stretch !important;
  }
  .align-self-md-auto {
    align-self: auto !important;
  }
  .align-self-md-start {
    align-self: flex-start !important;
  }
  .align-self-md-end {
    align-self: flex-end !important;
  }
  .align-self-md-center {
    align-self: center !important;
  }
  .align-self-md-baseline {
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    align-self: stretch !important;
  }
  .order-md-first {
    order: -1 !important;
  }
  .order-md-0 {
    order: 0 !important;
  }
  .order-md-1 {
    order: 1 !important;
  }
  .order-md-2 {
    order: 2 !important;
  }
  .order-md-3 {
    order: 3 !important;
  }
  .order-md-4 {
    order: 4 !important;
  }
  .order-md-5 {
    order: 5 !important;
  }
  .order-md-last {
    order: 6 !important;
  }
  .m-md-0 {
    margin: 0 !important;
  }
  .m-md-1 {
    margin: 0.25rem !important;
  }
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .m-md-3 {
    margin: 1rem !important;
  }
  .m-md-4 {
    margin: 1.5rem !important;
  }
  .m-md-5 {
    margin: 3rem !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mx-md-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-md-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-md-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-md-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-md-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-md-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-md-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-md-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-md-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-md-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-md-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-md-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-md-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-md-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-md-0 {
    margin-top: 0 !important;
  }
  .mt-md-1 {
    margin-top: 0.25rem !important;
  }
  .mt-md-2 {
    margin-top: 0.5rem !important;
  }
  .mt-md-3 {
    margin-top: 1rem !important;
  }
  .mt-md-4 {
    margin-top: 1.5rem !important;
  }
  .mt-md-5 {
    margin-top: 3rem !important;
  }
  .mt-md-auto {
    margin-top: auto !important;
  }
  .me-md-0 {
    margin-inline-end: 0 !important;
  }
  .me-md-1 {
    margin-inline-end: 0.25rem !important;
  }
  .me-md-2 {
    margin-inline-end: 0.5rem !important;
  }
  .me-md-3 {
    margin-inline-end: 1rem !important;
  }
  .me-md-4 {
    margin-inline-end: 1.5rem !important;
  }
  .me-md-5 {
    margin-inline-end: 3rem !important;
  }
  .me-md-auto {
    margin-inline-end: auto !important;
  }
  .mb-md-0 {
    margin-bottom: 0 !important;
  }
  .mb-md-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-md-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-md-3 {
    margin-bottom: 1rem !important;
  }
  .mb-md-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-md-5 {
    margin-bottom: 3rem !important;
  }
  .mb-md-auto {
    margin-bottom: auto !important;
  }
  .ms-md-0 {
    margin-inline-start: 0 !important;
  }
  .ms-md-1 {
    margin-inline-start: 0.25rem !important;
  }
  .ms-md-2 {
    margin-inline-start: 0.5rem !important;
  }
  .ms-md-3 {
    margin-inline-start: 1rem !important;
  }
  .ms-md-4 {
    margin-inline-start: 1.5rem !important;
  }
  .ms-md-5 {
    margin-inline-start: 3rem !important;
  }
  .ms-md-auto {
    margin-inline-start: auto !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .p-md-1 {
    padding: 0.25rem !important;
  }
  .p-md-2 {
    padding: 0.5rem !important;
  }
  .p-md-3 {
    padding: 1rem !important;
  }
  .p-md-4 {
    padding: 1.5rem !important;
  }
  .p-md-5 {
    padding: 3rem !important;
  }
  .px-md-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-md-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-md-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-md-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-md-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-md-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-md-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-md-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-md-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-md-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-md-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-md-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-md-0 {
    padding-top: 0 !important;
  }
  .pt-md-1 {
    padding-top: 0.25rem !important;
  }
  .pt-md-2 {
    padding-top: 0.5rem !important;
  }
  .pt-md-3 {
    padding-top: 1rem !important;
  }
  .pt-md-4 {
    padding-top: 1.5rem !important;
  }
  .pt-md-5 {
    padding-top: 3rem !important;
  }
  .pe-md-0 {
    padding-inline-end: 0 !important;
  }
  .pe-md-1 {
    padding-inline-end: 0.25rem !important;
  }
  .pe-md-2 {
    padding-inline-end: 0.5rem !important;
  }
  .pe-md-3 {
    padding-inline-end: 1rem !important;
  }
  .pe-md-4 {
    padding-inline-end: 1.5rem !important;
  }
  .pe-md-5 {
    padding-inline-end: 3rem !important;
  }
  .pb-md-0 {
    padding-bottom: 0 !important;
  }
  .pb-md-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-md-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-md-3 {
    padding-bottom: 1rem !important;
  }
  .pb-md-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-md-5 {
    padding-bottom: 3rem !important;
  }
  .ps-md-0 {
    padding-inline-start: 0 !important;
  }
  .ps-md-1 {
    padding-inline-start: 0.25rem !important;
  }
  .ps-md-2 {
    padding-inline-start: 0.5rem !important;
  }
  .ps-md-3 {
    padding-inline-start: 1rem !important;
  }
  .ps-md-4 {
    padding-inline-start: 1.5rem !important;
  }
  .ps-md-5 {
    padding-inline-start: 3rem !important;
  }
  .gap-md-0 {
    gap: 0 !important;
  }
  .gap-md-1 {
    gap: 0.25rem !important;
  }
  .gap-md-2 {
    gap: 0.5rem !important;
  }
  .gap-md-3 {
    gap: 1rem !important;
  }
  .gap-md-4 {
    gap: 1.5rem !important;
  }
  .gap-md-5 {
    gap: 3rem !important;
  }
  .row-gap-md-0 {
    row-gap: 0 !important;
  }
  .row-gap-md-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-md-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-md-3 {
    row-gap: 1rem !important;
  }
  .row-gap-md-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-md-5 {
    row-gap: 3rem !important;
  }
  .column-gap-md-0 {
    column-gap: 0 !important;
  }
  .column-gap-md-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-md-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-md-3 {
    column-gap: 1rem !important;
  }
  .column-gap-md-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-md-5 {
    column-gap: 3rem !important;
  }
  .text-md-start {
    text-align: start !important;
  }
  .text-md-end {
    text-align: end !important;
  }
  .text-md-center {
    text-align: center !important;
  }
}
@media (min-width: 992px) {
  .float-lg-start {
    float: inline-start !important;
  }
  .float-lg-end {
    float: inline-end !important;
  }
  .float-lg-none {
    float: none !important;
  }
  .object-fit-lg-contain {
    object-fit: contain !important;
  }
  .object-fit-lg-cover {
    object-fit: cover !important;
  }
  .object-fit-lg-fill {
    object-fit: fill !important;
  }
  .object-fit-lg-scale {
    object-fit: scale-down !important;
  }
  .object-fit-lg-none {
    object-fit: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-grid {
    display: grid !important;
  }
  .d-lg-inline-grid {
    display: inline-grid !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
  .d-lg-none {
    display: none !important;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .justify-content-lg-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
  .align-content-lg-start {
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    align-content: center !important;
  }
  .align-content-lg-between {
    align-content: space-between !important;
  }
  .align-content-lg-around {
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    align-content: stretch !important;
  }
  .align-self-lg-auto {
    align-self: auto !important;
  }
  .align-self-lg-start {
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    align-self: center !important;
  }
  .align-self-lg-baseline {
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    align-self: stretch !important;
  }
  .order-lg-first {
    order: -1 !important;
  }
  .order-lg-0 {
    order: 0 !important;
  }
  .order-lg-1 {
    order: 1 !important;
  }
  .order-lg-2 {
    order: 2 !important;
  }
  .order-lg-3 {
    order: 3 !important;
  }
  .order-lg-4 {
    order: 4 !important;
  }
  .order-lg-5 {
    order: 5 !important;
  }
  .order-lg-last {
    order: 6 !important;
  }
  .m-lg-0 {
    margin: 0 !important;
  }
  .m-lg-1 {
    margin: 0.25rem !important;
  }
  .m-lg-2 {
    margin: 0.5rem !important;
  }
  .m-lg-3 {
    margin: 1rem !important;
  }
  .m-lg-4 {
    margin: 1.5rem !important;
  }
  .m-lg-5 {
    margin: 3rem !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mx-lg-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-lg-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-lg-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-lg-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-lg-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-lg-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-lg-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-lg-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-lg-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-lg-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-lg-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-lg-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-lg-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-lg-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-lg-0 {
    margin-top: 0 !important;
  }
  .mt-lg-1 {
    margin-top: 0.25rem !important;
  }
  .mt-lg-2 {
    margin-top: 0.5rem !important;
  }
  .mt-lg-3 {
    margin-top: 1rem !important;
  }
  .mt-lg-4 {
    margin-top: 1.5rem !important;
  }
  .mt-lg-5 {
    margin-top: 3rem !important;
  }
  .mt-lg-auto {
    margin-top: auto !important;
  }
  .me-lg-0 {
    margin-inline-end: 0 !important;
  }
  .me-lg-1 {
    margin-inline-end: 0.25rem !important;
  }
  .me-lg-2 {
    margin-inline-end: 0.5rem !important;
  }
  .me-lg-3 {
    margin-inline-end: 1rem !important;
  }
  .me-lg-4 {
    margin-inline-end: 1.5rem !important;
  }
  .me-lg-5 {
    margin-inline-end: 3rem !important;
  }
  .me-lg-auto {
    margin-inline-end: auto !important;
  }
  .mb-lg-0 {
    margin-bottom: 0 !important;
  }
  .mb-lg-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-lg-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-lg-3 {
    margin-bottom: 1rem !important;
  }
  .mb-lg-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-lg-5 {
    margin-bottom: 3rem !important;
  }
  .mb-lg-auto {
    margin-bottom: auto !important;
  }
  .ms-lg-0 {
    margin-inline-start: 0 !important;
  }
  .ms-lg-1 {
    margin-inline-start: 0.25rem !important;
  }
  .ms-lg-2 {
    margin-inline-start: 0.5rem !important;
  }
  .ms-lg-3 {
    margin-inline-start: 1rem !important;
  }
  .ms-lg-4 {
    margin-inline-start: 1.5rem !important;
  }
  .ms-lg-5 {
    margin-inline-start: 3rem !important;
  }
  .ms-lg-auto {
    margin-inline-start: auto !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .p-lg-1 {
    padding: 0.25rem !important;
  }
  .p-lg-2 {
    padding: 0.5rem !important;
  }
  .p-lg-3 {
    padding: 1rem !important;
  }
  .p-lg-4 {
    padding: 1.5rem !important;
  }
  .p-lg-5 {
    padding: 3rem !important;
  }
  .px-lg-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-lg-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-lg-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-lg-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-lg-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-lg-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-lg-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-lg-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-lg-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-lg-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-lg-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-lg-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-lg-0 {
    padding-top: 0 !important;
  }
  .pt-lg-1 {
    padding-top: 0.25rem !important;
  }
  .pt-lg-2 {
    padding-top: 0.5rem !important;
  }
  .pt-lg-3 {
    padding-top: 1rem !important;
  }
  .pt-lg-4 {
    padding-top: 1.5rem !important;
  }
  .pt-lg-5 {
    padding-top: 3rem !important;
  }
  .pe-lg-0 {
    padding-inline-end: 0 !important;
  }
  .pe-lg-1 {
    padding-inline-end: 0.25rem !important;
  }
  .pe-lg-2 {
    padding-inline-end: 0.5rem !important;
  }
  .pe-lg-3 {
    padding-inline-end: 1rem !important;
  }
  .pe-lg-4 {
    padding-inline-end: 1.5rem !important;
  }
  .pe-lg-5 {
    padding-inline-end: 3rem !important;
  }
  .pb-lg-0 {
    padding-bottom: 0 !important;
  }
  .pb-lg-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-lg-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-lg-3 {
    padding-bottom: 1rem !important;
  }
  .pb-lg-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-lg-5 {
    padding-bottom: 3rem !important;
  }
  .ps-lg-0 {
    padding-inline-start: 0 !important;
  }
  .ps-lg-1 {
    padding-inline-start: 0.25rem !important;
  }
  .ps-lg-2 {
    padding-inline-start: 0.5rem !important;
  }
  .ps-lg-3 {
    padding-inline-start: 1rem !important;
  }
  .ps-lg-4 {
    padding-inline-start: 1.5rem !important;
  }
  .ps-lg-5 {
    padding-inline-start: 3rem !important;
  }
  .gap-lg-0 {
    gap: 0 !important;
  }
  .gap-lg-1 {
    gap: 0.25rem !important;
  }
  .gap-lg-2 {
    gap: 0.5rem !important;
  }
  .gap-lg-3 {
    gap: 1rem !important;
  }
  .gap-lg-4 {
    gap: 1.5rem !important;
  }
  .gap-lg-5 {
    gap: 3rem !important;
  }
  .row-gap-lg-0 {
    row-gap: 0 !important;
  }
  .row-gap-lg-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-lg-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-lg-3 {
    row-gap: 1rem !important;
  }
  .row-gap-lg-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-lg-5 {
    row-gap: 3rem !important;
  }
  .column-gap-lg-0 {
    column-gap: 0 !important;
  }
  .column-gap-lg-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-lg-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-lg-3 {
    column-gap: 1rem !important;
  }
  .column-gap-lg-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-lg-5 {
    column-gap: 3rem !important;
  }
  .text-lg-start {
    text-align: start !important;
  }
  .text-lg-end {
    text-align: end !important;
  }
  .text-lg-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .float-xl-start {
    float: inline-start !important;
  }
  .float-xl-end {
    float: inline-end !important;
  }
  .float-xl-none {
    float: none !important;
  }
  .object-fit-xl-contain {
    object-fit: contain !important;
  }
  .object-fit-xl-cover {
    object-fit: cover !important;
  }
  .object-fit-xl-fill {
    object-fit: fill !important;
  }
  .object-fit-xl-scale {
    object-fit: scale-down !important;
  }
  .object-fit-xl-none {
    object-fit: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-grid {
    display: grid !important;
  }
  .d-xl-inline-grid {
    display: inline-grid !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
  .d-xl-none {
    display: none !important;
  }
  .flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xl-row {
    flex-direction: row !important;
  }
  .flex-xl-column {
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .justify-content-xl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
  .align-content-xl-start {
    align-content: flex-start !important;
  }
  .align-content-xl-end {
    align-content: flex-end !important;
  }
  .align-content-xl-center {
    align-content: center !important;
  }
  .align-content-xl-between {
    align-content: space-between !important;
  }
  .align-content-xl-around {
    align-content: space-around !important;
  }
  .align-content-xl-stretch {
    align-content: stretch !important;
  }
  .align-self-xl-auto {
    align-self: auto !important;
  }
  .align-self-xl-start {
    align-self: flex-start !important;
  }
  .align-self-xl-end {
    align-self: flex-end !important;
  }
  .align-self-xl-center {
    align-self: center !important;
  }
  .align-self-xl-baseline {
    align-self: baseline !important;
  }
  .align-self-xl-stretch {
    align-self: stretch !important;
  }
  .order-xl-first {
    order: -1 !important;
  }
  .order-xl-0 {
    order: 0 !important;
  }
  .order-xl-1 {
    order: 1 !important;
  }
  .order-xl-2 {
    order: 2 !important;
  }
  .order-xl-3 {
    order: 3 !important;
  }
  .order-xl-4 {
    order: 4 !important;
  }
  .order-xl-5 {
    order: 5 !important;
  }
  .order-xl-last {
    order: 6 !important;
  }
  .m-xl-0 {
    margin: 0 !important;
  }
  .m-xl-1 {
    margin: 0.25rem !important;
  }
  .m-xl-2 {
    margin: 0.5rem !important;
  }
  .m-xl-3 {
    margin: 1rem !important;
  }
  .m-xl-4 {
    margin: 1.5rem !important;
  }
  .m-xl-5 {
    margin: 3rem !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mx-xl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xl-0 {
    margin-top: 0 !important;
  }
  .mt-xl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xl-3 {
    margin-top: 1rem !important;
  }
  .mt-xl-4 {
    margin-top: 1.5rem !important;
  }
  .mt-xl-5 {
    margin-top: 3rem !important;
  }
  .mt-xl-auto {
    margin-top: auto !important;
  }
  .me-xl-0 {
    margin-inline-end: 0 !important;
  }
  .me-xl-1 {
    margin-inline-end: 0.25rem !important;
  }
  .me-xl-2 {
    margin-inline-end: 0.5rem !important;
  }
  .me-xl-3 {
    margin-inline-end: 1rem !important;
  }
  .me-xl-4 {
    margin-inline-end: 1.5rem !important;
  }
  .me-xl-5 {
    margin-inline-end: 3rem !important;
  }
  .me-xl-auto {
    margin-inline-end: auto !important;
  }
  .mb-xl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xl-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xl-5 {
    margin-bottom: 3rem !important;
  }
  .mb-xl-auto {
    margin-bottom: auto !important;
  }
  .ms-xl-0 {
    margin-inline-start: 0 !important;
  }
  .ms-xl-1 {
    margin-inline-start: 0.25rem !important;
  }
  .ms-xl-2 {
    margin-inline-start: 0.5rem !important;
  }
  .ms-xl-3 {
    margin-inline-start: 1rem !important;
  }
  .ms-xl-4 {
    margin-inline-start: 1.5rem !important;
  }
  .ms-xl-5 {
    margin-inline-start: 3rem !important;
  }
  .ms-xl-auto {
    margin-inline-start: auto !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .p-xl-1 {
    padding: 0.25rem !important;
  }
  .p-xl-2 {
    padding: 0.5rem !important;
  }
  .p-xl-3 {
    padding: 1rem !important;
  }
  .p-xl-4 {
    padding: 1.5rem !important;
  }
  .p-xl-5 {
    padding: 3rem !important;
  }
  .px-xl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-xl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-xl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-xl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-xl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-xl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-xl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-xl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-xl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-xl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-xl-0 {
    padding-top: 0 !important;
  }
  .pt-xl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xl-3 {
    padding-top: 1rem !important;
  }
  .pt-xl-4 {
    padding-top: 1.5rem !important;
  }
  .pt-xl-5 {
    padding-top: 3rem !important;
  }
  .pe-xl-0 {
    padding-inline-end: 0 !important;
  }
  .pe-xl-1 {
    padding-inline-end: 0.25rem !important;
  }
  .pe-xl-2 {
    padding-inline-end: 0.5rem !important;
  }
  .pe-xl-3 {
    padding-inline-end: 1rem !important;
  }
  .pe-xl-4 {
    padding-inline-end: 1.5rem !important;
  }
  .pe-xl-5 {
    padding-inline-end: 3rem !important;
  }
  .pb-xl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xl-5 {
    padding-bottom: 3rem !important;
  }
  .ps-xl-0 {
    padding-inline-start: 0 !important;
  }
  .ps-xl-1 {
    padding-inline-start: 0.25rem !important;
  }
  .ps-xl-2 {
    padding-inline-start: 0.5rem !important;
  }
  .ps-xl-3 {
    padding-inline-start: 1rem !important;
  }
  .ps-xl-4 {
    padding-inline-start: 1.5rem !important;
  }
  .ps-xl-5 {
    padding-inline-start: 3rem !important;
  }
  .gap-xl-0 {
    gap: 0 !important;
  }
  .gap-xl-1 {
    gap: 0.25rem !important;
  }
  .gap-xl-2 {
    gap: 0.5rem !important;
  }
  .gap-xl-3 {
    gap: 1rem !important;
  }
  .gap-xl-4 {
    gap: 1.5rem !important;
  }
  .gap-xl-5 {
    gap: 3rem !important;
  }
  .row-gap-xl-0 {
    row-gap: 0 !important;
  }
  .row-gap-xl-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-xl-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-xl-3 {
    row-gap: 1rem !important;
  }
  .row-gap-xl-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-xl-5 {
    row-gap: 3rem !important;
  }
  .column-gap-xl-0 {
    column-gap: 0 !important;
  }
  .column-gap-xl-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-xl-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-xl-3 {
    column-gap: 1rem !important;
  }
  .column-gap-xl-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-xl-5 {
    column-gap: 3rem !important;
  }
  .text-xl-start {
    text-align: start !important;
  }
  .text-xl-end {
    text-align: end !important;
  }
  .text-xl-center {
    text-align: center !important;
  }
}
@media (min-width: 1400px) {
  .float-xxl-start {
    float: inline-start !important;
  }
  .float-xxl-end {
    float: inline-end !important;
  }
  .float-xxl-none {
    float: none !important;
  }
  .object-fit-xxl-contain {
    object-fit: contain !important;
  }
  .object-fit-xxl-cover {
    object-fit: cover !important;
  }
  .object-fit-xxl-fill {
    object-fit: fill !important;
  }
  .object-fit-xxl-scale {
    object-fit: scale-down !important;
  }
  .object-fit-xxl-none {
    object-fit: none !important;
  }
  .d-xxl-inline {
    display: inline !important;
  }
  .d-xxl-inline-block {
    display: inline-block !important;
  }
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-grid {
    display: grid !important;
  }
  .d-xxl-inline-grid {
    display: inline-grid !important;
  }
  .d-xxl-table {
    display: table !important;
  }
  .d-xxl-table-row {
    display: table-row !important;
  }
  .d-xxl-table-cell {
    display: table-cell !important;
  }
  .d-xxl-flex {
    display: flex !important;
  }
  .d-xxl-inline-flex {
    display: inline-flex !important;
  }
  .d-xxl-none {
    display: none !important;
  }
  .flex-xxl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xxl-row {
    flex-direction: row !important;
  }
  .flex-xxl-column {
    flex-direction: column !important;
  }
  .flex-xxl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xxl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xxl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xxl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xxl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xxl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xxl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xxl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xxl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xxl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xxl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xxl-center {
    justify-content: center !important;
  }
  .justify-content-xxl-between {
    justify-content: space-between !important;
  }
  .justify-content-xxl-around {
    justify-content: space-around !important;
  }
  .justify-content-xxl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xxl-start {
    align-items: flex-start !important;
  }
  .align-items-xxl-end {
    align-items: flex-end !important;
  }
  .align-items-xxl-center {
    align-items: center !important;
  }
  .align-items-xxl-baseline {
    align-items: baseline !important;
  }
  .align-items-xxl-stretch {
    align-items: stretch !important;
  }
  .align-content-xxl-start {
    align-content: flex-start !important;
  }
  .align-content-xxl-end {
    align-content: flex-end !important;
  }
  .align-content-xxl-center {
    align-content: center !important;
  }
  .align-content-xxl-between {
    align-content: space-between !important;
  }
  .align-content-xxl-around {
    align-content: space-around !important;
  }
  .align-content-xxl-stretch {
    align-content: stretch !important;
  }
  .align-self-xxl-auto {
    align-self: auto !important;
  }
  .align-self-xxl-start {
    align-self: flex-start !important;
  }
  .align-self-xxl-end {
    align-self: flex-end !important;
  }
  .align-self-xxl-center {
    align-self: center !important;
  }
  .align-self-xxl-baseline {
    align-self: baseline !important;
  }
  .align-self-xxl-stretch {
    align-self: stretch !important;
  }
  .order-xxl-first {
    order: -1 !important;
  }
  .order-xxl-0 {
    order: 0 !important;
  }
  .order-xxl-1 {
    order: 1 !important;
  }
  .order-xxl-2 {
    order: 2 !important;
  }
  .order-xxl-3 {
    order: 3 !important;
  }
  .order-xxl-4 {
    order: 4 !important;
  }
  .order-xxl-5 {
    order: 5 !important;
  }
  .order-xxl-last {
    order: 6 !important;
  }
  .m-xxl-0 {
    margin: 0 !important;
  }
  .m-xxl-1 {
    margin: 0.25rem !important;
  }
  .m-xxl-2 {
    margin: 0.5rem !important;
  }
  .m-xxl-3 {
    margin: 1rem !important;
  }
  .m-xxl-4 {
    margin: 1.5rem !important;
  }
  .m-xxl-5 {
    margin: 3rem !important;
  }
  .m-xxl-auto {
    margin: auto !important;
  }
  .mx-xxl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xxl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xxl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xxl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xxl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xxl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xxl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xxl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xxl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xxl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xxl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xxl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xxl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xxl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xxl-0 {
    margin-top: 0 !important;
  }
  .mt-xxl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xxl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xxl-3 {
    margin-top: 1rem !important;
  }
  .mt-xxl-4 {
    margin-top: 1.5rem !important;
  }
  .mt-xxl-5 {
    margin-top: 3rem !important;
  }
  .mt-xxl-auto {
    margin-top: auto !important;
  }
  .me-xxl-0 {
    margin-inline-end: 0 !important;
  }
  .me-xxl-1 {
    margin-inline-end: 0.25rem !important;
  }
  .me-xxl-2 {
    margin-inline-end: 0.5rem !important;
  }
  .me-xxl-3 {
    margin-inline-end: 1rem !important;
  }
  .me-xxl-4 {
    margin-inline-end: 1.5rem !important;
  }
  .me-xxl-5 {
    margin-inline-end: 3rem !important;
  }
  .me-xxl-auto {
    margin-inline-end: auto !important;
  }
  .mb-xxl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xxl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xxl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xxl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xxl-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xxl-5 {
    margin-bottom: 3rem !important;
  }
  .mb-xxl-auto {
    margin-bottom: auto !important;
  }
  .ms-xxl-0 {
    margin-inline-start: 0 !important;
  }
  .ms-xxl-1 {
    margin-inline-start: 0.25rem !important;
  }
  .ms-xxl-2 {
    margin-inline-start: 0.5rem !important;
  }
  .ms-xxl-3 {
    margin-inline-start: 1rem !important;
  }
  .ms-xxl-4 {
    margin-inline-start: 1.5rem !important;
  }
  .ms-xxl-5 {
    margin-inline-start: 3rem !important;
  }
  .ms-xxl-auto {
    margin-inline-start: auto !important;
  }
  .p-xxl-0 {
    padding: 0 !important;
  }
  .p-xxl-1 {
    padding: 0.25rem !important;
  }
  .p-xxl-2 {
    padding: 0.5rem !important;
  }
  .p-xxl-3 {
    padding: 1rem !important;
  }
  .p-xxl-4 {
    padding: 1.5rem !important;
  }
  .p-xxl-5 {
    padding: 3rem !important;
  }
  .px-xxl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xxl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-xxl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-xxl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-xxl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-xxl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-xxl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xxl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-xxl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-xxl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-xxl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-xxl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-xxl-0 {
    padding-top: 0 !important;
  }
  .pt-xxl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xxl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xxl-3 {
    padding-top: 1rem !important;
  }
  .pt-xxl-4 {
    padding-top: 1.5rem !important;
  }
  .pt-xxl-5 {
    padding-top: 3rem !important;
  }
  .pe-xxl-0 {
    padding-inline-end: 0 !important;
  }
  .pe-xxl-1 {
    padding-inline-end: 0.25rem !important;
  }
  .pe-xxl-2 {
    padding-inline-end: 0.5rem !important;
  }
  .pe-xxl-3 {
    padding-inline-end: 1rem !important;
  }
  .pe-xxl-4 {
    padding-inline-end: 1.5rem !important;
  }
  .pe-xxl-5 {
    padding-inline-end: 3rem !important;
  }
  .pb-xxl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xxl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xxl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xxl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xxl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xxl-5 {
    padding-bottom: 3rem !important;
  }
  .ps-xxl-0 {
    padding-inline-start: 0 !important;
  }
  .ps-xxl-1 {
    padding-inline-start: 0.25rem !important;
  }
  .ps-xxl-2 {
    padding-inline-start: 0.5rem !important;
  }
  .ps-xxl-3 {
    padding-inline-start: 1rem !important;
  }
  .ps-xxl-4 {
    padding-inline-start: 1.5rem !important;
  }
  .ps-xxl-5 {
    padding-inline-start: 3rem !important;
  }
  .gap-xxl-0 {
    gap: 0 !important;
  }
  .gap-xxl-1 {
    gap: 0.25rem !important;
  }
  .gap-xxl-2 {
    gap: 0.5rem !important;
  }
  .gap-xxl-3 {
    gap: 1rem !important;
  }
  .gap-xxl-4 {
    gap: 1.5rem !important;
  }
  .gap-xxl-5 {
    gap: 3rem !important;
  }
  .row-gap-xxl-0 {
    row-gap: 0 !important;
  }
  .row-gap-xxl-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-xxl-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-xxl-3 {
    row-gap: 1rem !important;
  }
  .row-gap-xxl-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-xxl-5 {
    row-gap: 3rem !important;
  }
  .column-gap-xxl-0 {
    column-gap: 0 !important;
  }
  .column-gap-xxl-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-xxl-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-xxl-3 {
    column-gap: 1rem !important;
  }
  .column-gap-xxl-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-xxl-5 {
    column-gap: 3rem !important;
  }
  .text-xxl-start {
    text-align: start !important;
  }
  .text-xxl-end {
    text-align: end !important;
  }
  .text-xxl-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .fs-1 {
    font-size: 2.5rem !important;
  }
  .fs-2 {
    font-size: 2rem !important;
  }
  .fs-3 {
    font-size: 1.75rem !important;
  }
  .fs-4 {
    font-size: 1.5rem !important;
  }
}
@media print {
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-grid {
    display: grid !important;
  }
  .d-print-inline-grid {
    display: inline-grid !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: flex !important;
  }
  .d-print-inline-flex {
    display: inline-flex !important;
  }
  .d-print-none {
    display: none !important;
  }
}
/* ===========================
   ArchiHub — Login page
   Palette : issue de la charte
   =========================== */
:root {
  --ah-color-bg-dark: #141422;
  --ah-color-violet: #890382;
  --ah-color-rose: #F9F3F9;
  --ah-color-rouge: #E11D5B;
  --ah-color-rougev: #D71700;
  --ah-color-white: #ffffff;
  --ah-color-text: #1E1E1E;
  --ah-color-muted: #717171;
  /* Dégradé exclusif */
  --ah-gradient: linear-gradient(135deg, #890382 0%, #E11D5B 40%, #D71700 100%);
  /* Typos — Inter body, DM Sans headings, Goodber logo only */
  --ah-font-display: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --ah-font-text: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --ah-font-brand: "Goodber", "DM Sans", system-ui, sans-serif;
}

.ah-login {
  background: var(--ah-color-bg-dark);
  color: var(--ah-color-white);
  font-family: var(--ah-font-text);
  /* pattern léger façon "grille" avec opacité */
  position: relative;
  isolation: isolate;
}
.ah-login::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(40rem 40rem at -10% -20%, rgba(137, 3, 130, 0.35), transparent 60%), radial-gradient(36rem 36rem at 110% 120%, rgba(225, 29, 91, 0.28), transparent 60%);
  z-index: -1;
}

.ah-login__hero {
  width: 60%;
  background-color: var(--ah-color-bg-dark);
  border-right: 1px solid rgba(255, 255, 255, 0.06);
  background-image: url(/build/images/pattern-hero.e6aeef3f.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
  isolation: isolate;
}
.ah-login__hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--ah-gradient);
  opacity: 0.25;
  z-index: -1;
}

.ah-logo {
  filter: drop-shadow(0 0 12px rgba(225, 29, 91, 0.25));
}

.ah-brandname {
  font-family: var(--ah-font-brand);
  font-weight: 600;
  letter-spacing: 0.3px;
}

.ah-title {
  font-family: var(--ah-font-display);
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 700;
  line-height: 1.1;
}

.ah-subtitle {
  color: rgba(255, 255, 255, 0.85);
  font-size: 1rem;
  font-weight: 400;
}

.ah-login__panel {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.02));
}

.ah-card {
  border: 1px solid rgba(255, 255, 255, 0.06);
  background: #fff;
  color: var(--ah-color-text);
  border-radius: 0.875rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.04);
}

/* Card headings use display font */
.ah-card h1, .ah-card h2, .ah-card h3, .ah-card h4,
.ah-card .h1, .ah-card .h2, .ah-card .h3, .ah-card .h4 {
  font-family: var(--ah-font-display);
  font-weight: 600;
}

.ah-link {
  color: var(--ah-color-violet);
  font-weight: 500;
  text-decoration: none;
  transition: color 0.15s ease, text-decoration-color 0.15s ease;
}

.ah-link:hover,
.ah-link:focus {
  background: var(--ah-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-decoration: none;
}

/* Bouton primaire aux couleurs ArchiHub */
.btn-primary {
  background-image: var(--ah-gradient);
  border: none;
  font-weight: 500;
  transition: transform 0.04s ease-in-out, box-shadow 0.15s ease;
}

.btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(225, 29, 91, 0.35);
}

.btn-primary:active {
  transform: translateY(0);
}

/* Champs */
.form-label {
  font-weight: 500;
  font-size: 0.875rem;
}

.form-control {
  border-radius: 0.75rem;
  border-color: #e4e4ec;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.form-control:focus {
  border-color: #c9a5d0;
  box-shadow: 0 0 0 0.2rem rgba(137, 3, 130, 0.12);
}

/* Responsive */
@media (max-width: 991.98px) {
  .ah-login__hero {
    display: none !important;
  }
  .ah-login__panel {
    padding: 2rem !important;
  }
}
/* Indications de règles du mot de passe */
.ah-policy-list [data-check] {
  color: var(--ah-color-violet);
}

.ah-policy-list [data-cross] {
  color: #b1b1b6;
}

/* Harmoniser le meter de force */
meter {
  height: 0.5rem;
  border-radius: 0.5rem;
}

meter::-webkit-meter-bar {
  background: #eee;
  border-radius: 0.5rem;
}

meter::-webkit-meter-optimum-value {
  background: var(--ah-color-violet);
}

meter::-webkit-meter-suboptimum-value {
  background: #f0b6c7;
}

meter::-webkit-meter-even-less-good-value {
  background: #f2d2d2;
}

/* =========================================================
   LAYOUT — full-width container override
   Removes Bootstrap's max-width cap on .container inside
   the dashboard wrapper so content fills the available space.
   ========================================================= */
.wrapper .container {
  max-width: none;
}

/* =========================================================
   LAYOUT GLOBAL & SIDEBAR
   ========================================================= */
.sidebar {
  --cui-sidebar-zindex: 1035;
  --cui-sidebar-width: 16rem;
  --cui-sidebar-bg: var(--cui-body-bg);
  --cui-sidebar-padding-x: 1rem;
  --cui-sidebar-padding-y: 1rem;
  --cui-sidebar-color: var(--cui-body-color);
  --cui-sidebar-brand-color: var(--cui-body-color);
  --cui-sidebar-brand-bg: rgba(8, 10, 12, 0.2);
  position: relative;
  display: flex;
  flex: 0 0 var(--cui-sidebar-width);
  flex-direction: column;
  order: -1;
  width: var(--cui-sidebar-width);
  color: var(--cui-sidebar-color);
  background: var(--cui-sidebar-bg);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.04), 0 0.25rem 0.5rem rgba(0, 0, 0, 0.04);
  transition: margin-left 0.15s, margin-right 0.15s, box-shadow 0.075s, transform 0.15s, width 0.15s, z-index 0s ease 0.15s;
}

.sidebar-fixed,
.sidebar-narrow-unfoldable,
.sidebar-overlaid {
  position: fixed;
  top: 0;
  bottom: 0;
  z-index: var(--cui-sidebar-zindex);
}

.sidebar-fixed:not(.sidebar-end),
.sidebar-narrow-unfoldable:not(.sidebar-end),
.sidebar-overlaid:not(.sidebar-end) {
  inset-inline-start: 0;
}

.sidebar:not(.hide):not(.sidebar-narrow):not(.sidebar-narrow-unfoldable:not(:hover)) :not(.sidebar-narrow-unfoldable):not(.sidebar-overlaid):not(.sidebar-end) ~ * {
  --cui-sidebar-occupy-start: 16rem;
}

.sidebar__inner {
  height: 100vh;
  overflow-y: auto;
}

.ah-topbar {
  position: sticky;
  top: 0;
  z-index: 1020;
}

.ah-section {
  letter-spacing: 0.08em;
}

@media (max-width: 991.98px) {
  .sidebar {
    position: fixed;
    left: 0;
    top: 0;
    transform: translateX(-100%);
    transition: transform 0.2s ease;
    z-index: 1030;
  }
  html:not(.sidebar-collapsed) .sidebar {
    transform: translateX(-100%);
  }
  html.sidebar-collapsed .sidebar {
    transform: translateX(0);
  }
  /* CoreUI toggle adds .show class — needs higher specificity than html:not(.sidebar-collapsed) .sidebar */
  html:not(.sidebar-collapsed) .sidebar.show {
    transform: translateX(0);
  }
  /* Backdrop shown when mobile sidebar is open */
  .ah-sidebar-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
    z-index: 1029;
  }
  .sidebar.show ~ .ah-sidebar-backdrop,
  .sidebar.show + .ah-sidebar-backdrop {
    display: block;
  }
}
@media (min-width: 992px) {
  .ah-sidebar-backdrop {
    display: none !important;
  }
}
/* Tighter page gutters on small phones (Bootstrap px-4 is 1.5rem) */
@media (max-width: 575.98px) {
  .body .container-fluid.px-4 {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .body .container {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media (min-width: 992px) {
  /* Simple sidebar toggle: .sidebar-narrow = icon-only */
  .sidebar.sidebar-narrow {
    width: 4rem;
    overflow: visible;
    transition: width 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .sidebar.sidebar-narrow ~ * {
    --cui-sidebar-occupy-start: 4rem;
  }
  .sidebar.sidebar-narrow .sidebar-brand-full {
    display: none !important;
  }
  .sidebar.sidebar-narrow .sidebar-brand-narrow {
    display: block !important;
  }
  .sidebar.sidebar-narrow .nav-group > a > span,
  .sidebar.sidebar-narrow .nav-link > span,
  .sidebar.sidebar-narrow .nav-title {
    display: none;
  }
  .sidebar.sidebar-narrow .nav-link {
    justify-content: center;
    padding-left: 0;
    padding-right: 0;
  }
  .sidebar.sidebar-narrow .nav-link .nav-icon {
    margin-right: 0;
  }
}
.header {
  background-color: #fff;
}

.header > .container-fluid, .sidebar-header {
  min-height: 3.5rem;
}

.wrapper {
  width: 100%;
  padding-inline: var(--cui-sidebar-occupy-start, 0) var(--cui-sidebar-occupy-end, 0);
  will-change: auto;
  transition: padding 0.15s;
}

.header-nav {
  gap: 0.5rem;
}

.body {
  padding-top: 1rem;
}

/* =========================================================
   SUGGESTIONS SIRENE
   ========================================================= */
.sirene-suggestions {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 1050;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.125);
  border-radius: 0.5rem;
  margin-top: 0.25rem;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.08);
  overflow: hidden;
}

.sirene-item {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  padding: 0.6rem 0.75rem;
  cursor: pointer;
}

.sirene-item:hover, .sirene-item.active {
  background: #f6f7fb;
}

.sirene-icon {
  flex: 0 0 auto;
  width: 20px;
  text-align: center;
  opacity: 0.7;
}

.sirene-text {
  line-height: 1.2;
}

.sirene-title {
  font-weight: 600;
}

.sirene-sub {
  color: #6c757d;
  font-size: 0.875rem;
  margin-top: 0.15rem;
}

/* =========================================================
   CHAT – SHELL & COLONNES
   ========================================================= */
.chat-shell {
  height: calc(100vh - 162px);
  min-height: 420px;
  display: flex;
  overflow: hidden;
}

.card {
  background-color: #fff;
}

.chat-shell > [class*=”col-”] {
  min-height: 0;
}

/* --- Aside --- */
.chat-aside {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border-right: 1px solid rgba(0, 0, 0, 0.06);
}
.chat-aside .conv-list {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
}
.chat-aside .list-group {
  overflow: auto;
}

/* Aside header */
.chat-aside__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.875rem 1rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.chat-aside__title {
  font-weight: 700;
  font-size: 1.125rem;
  color: #1e1e1e;
}

.chat-aside__header .btn {
  width: 2rem;
  height: 2rem;
  padding: 0;
  border-radius: 0.625rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  border: 1px solid rgba(0, 0, 0, 0.06);
  color: #717171;
  background: transparent;
  transition: all 0.15s ease;
}

.chat-aside__header .btn:hover {
  color: #890382;
  background: rgba(137, 3, 130, 0.04);
  border-color: rgba(137, 3, 130, 0.15);
}

/* Search bar */
.chat-search-wrap {
  position: relative;
}

.chat-search-wrap .chat-search-icon {
  position: absolute;
  left: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  color: #a0a0a8;
  font-size: 0.875rem;
  pointer-events: none;
}

.chat-search-wrap .form-control {
  padding-left: 2.25rem;
  border-radius: 999px;
  background: #f6f7fb;
  border: 1px solid transparent;
  height: 2.25rem;
  font-size: 0.8125rem;
  transition: all 0.2s ease;
}

.chat-search-wrap .form-control:focus {
  background: #fff;
  border-color: rgba(137, 3, 130, 0.25);
  box-shadow: 0 0 0 3px rgba(137, 3, 130, 0.08);
}

/* Conversation list items */
.chat-aside .conv-list .list-group-item {
  border: none;
  border-left: 3px solid transparent;
  border-radius: 0;
  padding: 0.75rem 1rem;
  transition: all 0.15s ease;
  gap: 0.75rem;
}

.chat-aside .conv-list .list-group-item:hover {
  background: rgba(137, 3, 130, 0.03);
  border-left-color: rgba(137, 3, 130, 0.15);
}

.chat-aside .conv-list .list-group-item.is-active {
  background: rgba(137, 3, 130, 0.06);
  border-left-color: #890382;
}

.conv-snippet {
  font-size: 0.8125rem;
  color: #717171;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  line-height: 1.4;
}

.conv-time {
  font-size: 0.6875rem;
  color: #a0a0a8;
  white-space: nowrap;
  flex-shrink: 0;
}

/* --- Main --- */
.chat-main {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  overflow: hidden;
  position: relative;
}

.chat-main-body {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: 1fr auto;
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  overflow: hidden;
}

/* Chat header – richer, modern look */
.chat-header {
  border-bottom: none !important;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06), 0 0 1px rgba(0, 0, 0, 0.04);
  padding: 0.625rem 1.25rem;
  z-index: 2;
  position: relative;
  min-height: 3.75rem;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-shrink: 0;
}

/* Avatar in header – larger & status dot */
.chat-header [data-chat-header-avatar] .avatar {
  width: 2.75rem;
  height: 2.75rem;
  font-size: 0.875rem;
}

.chat-header .status-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 2px solid #fff;
  position: absolute;
  bottom: 0;
  right: 0;
  background: #c5c7cc;
}

.chat-header .status-dot.online {
  background: #22c55e;
}

/* Name + subtitle */
.chat-header .fw-semibold {
  font-size: 0.9375rem;
  line-height: 1.25;
  color: #1e1e1e;
}

.chat-header .chat-header-sub {
  font-size: 0.75rem;
  color: #a0a0a8;
  line-height: 1.3;
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

.chat-header .chat-header-sub .status-text {
  color: #22c55e;
  font-weight: 600;
}

.chat-header .chat-header-sub .status-text.offline {
  color: #a0a0a8;
  font-weight: 400;
}

/* Action buttons group */
.chat-header-actions {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  flex-shrink: 0;
}

.chat-header-actions .btn {
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  border-radius: 0.625rem;
  border: 1px solid rgba(0, 0, 0, 0.05);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  color: #717171;
  background: transparent;
  transition: all 0.15s ease;
}

.chat-header-actions .btn:hover {
  color: #890382;
  background: rgba(137, 3, 130, 0.06);
  border-color: rgba(137, 3, 130, 0.12);
}

/* =========================================================
   CHAT – ZONE MESSAGES (SCROLL) + BOUTON STICKY
   ========================================================= */
.chat-messages-wrap {
  grid-column: 1;
  grid-row: 1;
  position: relative;
  min-width: 0;
  background: #f9f9fc; /* subtle lilac-grey instead of white */
  overflow: auto;
  padding: 0;
}

.chat-messages {
  position: relative;
  min-height: 100%;
  padding: 1rem;
  overflow: visible;
}

/* Bouton “Nouveaux messages ↓” */
.chat-scroll-bottom {
  position: sticky;
  bottom: 1rem;
  display: block;
  width: max-content;
  margin: 0 1rem 0 auto;
  z-index: 10;
  border: 0;
  border-radius: 999px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.12), 0 2px 6px rgba(0, 0, 0, 0.08);
  left: auto;
  right: auto;
  align-self: auto !important;
}

.chat-scroll-bottom i {
  font-size: 1.1rem;
  line-height: 1;
}

/* --- Composer --- */
.chat-composer {
  grid-column: 1/span 2;
  grid-row: 2;
  flex: 0 0 auto;
  background: #fff;
  border-top: 1px solid rgba(0, 0, 0, 0.04);
  padding: 0.75rem 1rem;
  box-shadow: 0 -1px 4px rgba(0, 0, 0, 0.02);
}

.chat-composer .input-group {
  background: #f6f7fb;
  border-radius: 999px;
  border: 1px solid rgba(0, 0, 0, 0.06);
  padding: 0.25rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  overflow: hidden;
}

.chat-composer .input-group:focus-within {
  border-color: rgba(137, 3, 130, 0.25);
  box-shadow: 0 0 0 3px rgba(137, 3, 130, 0.06);
  background: #fff;
}

.chat-composer .input-group .form-control {
  border: none;
  background: transparent;
  box-shadow: none;
  height: auto;
  min-height: 2rem;
  padding: 0.375rem 0.75rem;
  border-radius: 0;
  resize: none;
  font-size: 0.875rem;
}

.chat-composer .input-group .form-control:focus {
  box-shadow: none;
  border-color: transparent;
}

/* Attach button */
.chat-composer .input-group .btn-outline-secondary {
  border: none;
  background: transparent;
  color: #717171;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.15s ease;
}

.chat-composer .input-group .btn-outline-secondary:hover {
  color: #890382;
  background: rgba(137, 3, 130, 0.06);
}

/* Send button – gradient pill */
.chat-composer .input-group .btn-primary {
  border: none;
  background: var(--ah-gradient);
  color: #fff;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(137, 3, 130, 0.2);
  transition: all 0.15s ease;
}

.chat-composer .input-group .btn-primary:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 16px rgba(137, 3, 130, 0.3);
}

/* =========================================================
   AVATARS & ÉTATS
   ========================================================= */
.avatar {
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 50%;
}

.avatar-28 {
  width: 28px;
  height: 28px;
  font-size: 0.7rem;
  color: #fff;
  font-weight: 600;
}

.avatar-36 {
  width: 36px;
  height: 36px;
  font-size: 0.85rem;
  color: #fff;
  font-weight: 600;
}

.avatar-40 {
  width: 40px;
  height: 40px;
  font-size: 0.9rem;
  color: #fff;
  font-weight: 600;
}

.avatar-fallback {
  background: #e8d5f0;
  color: #5a2d6a;
  text-transform: uppercase;
}

.status-dot::after {
  content: “”;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 1px solid #f3f4f7;
}

.status-dot.online::after {
  background-color: #10b981;
}

.status-dot.offline::after {
  background-color: #9ca3af;
}

/* =========================================================
   MESSAGES (bulles & lignes)
   ========================================================= */
.chat-row {
  display: grid;
  grid-template-columns: 48px 1fr 48px;
  gap: 0.5rem 0.75rem;
  align-items: end;
  margin-bottom: 0.25rem;
}

/* Reduce spacing within same group */
.chat-row.is-continuation {
  margin-bottom: 0.125rem;
}

.chat-left .chat-avatar-wrap {
  grid-column: 1;
  justify-self: start;
}

.chat-left .chat-bubble {
  grid-column: 2;
  justify-self: start;
}

.chat-left .chat-spacer {
  grid-column: 3;
}

.chat-right .chat-spacer {
  grid-column: 1;
}

.chat-right .chat-bubble {
  grid-column: 2;
  justify-self: end;
}

.chat-right .chat-avatar-wrap {
  display: none;
}

/* Hide avatar on continuation messages */
.chat-row.is-continuation .chat-avatar-wrap {
  visibility: hidden;
}

.chat-bubble {
  background: #eef0f4;
  color: #1e1e1e;
  padding: 0.5rem 0.75rem;
  max-width: 70%;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}

.chat-bubble-me {
  background: #ede0f3;
  color: #1e1e1e;
  box-shadow: 0 1px 3px rgba(137, 3, 130, 0.06);
}

/* Coins asymétriques */
.chat-bubble-peer-rounded {
  border-radius: 14px 14px 14px 4px;
}

.chat-bubble-me-rounded {
  border-radius: 14px 14px 4px 14px;
}

.chat-text {
  white-space: pre-wrap;
  word-break: break-word;
}

.chat-meta {
  font-size: 0.75rem;
  opacity: 0.75;
  margin-top: 0.25rem;
}

/* Miniatures médias dans bulles */
.chat-image-thumb {
  max-width: 260px;
  border-radius: 0.5rem;
  cursor: pointer;
}

/* Lightbox */
#chatLightbox .modal-content {
  background: #000;
}

/* =========================================================
   PREVIEW PJ (carré, cover, multi)
   ========================================================= */
.chat-preview {
  margin-bottom: 0.5rem;
}

.chat-preview .chat-preview-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.chat-preview .chat-preview-item {
  position: relative;
  width: 80px;
  height: 80px;
  border-radius: 0.6rem;
  overflow: hidden;
  background: #f3f4f6;
  display: flex;
  align-items: center;
  justify-content: center;
}

.chat-preview .chat-preview-item img,
.chat-preview .chat-preview-item video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.chat-preview .chat-preview-item.file {
  background: #eef2ff;
  color: #3730a3;
  font-size: 0.75rem;
  font-weight: 600;
}

.chat-preview .chat-preview-item.file i {
  font-size: 1.25rem;
  margin-bottom: 0.2rem;
}

.chat-preview .chat-preview-item .file-name {
  max-width: 76px;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.chat-preview .chat-preview-item .btn-close {
  position: absolute;
  top: 0.2rem;
  right: 0.2rem;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 50%;
  filter: invert(1);
  opacity: 0.9;
}

.chat-preview .chat-preview-item .btn-close:hover {
  opacity: 1;
}

.chat-main-body.drop-active {
  outline: 2px dashed rgba(79, 70, 229, 0.6);
  outline-offset: 0.25rem;
  background: rgba(79, 70, 229, 0.04);
}

/* =========================================================
   GROUPES & EN-TÊTES D’HEURE – centered pills
   ========================================================= */
.chat-group {
  margin-top: 0.5rem;
}

.chat-group-row {
  display: flex;
  justify-content: center;
  margin: 0.75rem 0 0.5rem;
}

.chat-group-header {
  background: rgba(0, 0, 0, 0.04);
  border-radius: 999px;
  padding: 0.25rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #717171;
  display: inline-block;
  max-width: max-content;
}

.chat-group-header.is-left,
.chat-group-header.is-right {
  text-align: center;
}

/* =========================================================
   BADGES – UNREAD (Topbar + liste)
   ========================================================= */
.chat-unread-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.15rem;
  height: 1.15rem;
  padding: 0.1rem 0.4rem;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
  border-radius: 999px;
  background: #890382;
  color: #fff;
  box-shadow: 0 2px 8px rgba(137, 3, 130, 0.25);
}

.list-group .chat-unread-badge {
  min-width: 1.25rem;
  height: 1.25rem;
  padding: 0.15rem 0.5rem;
}

/* =========================================================
   UTILITAIRES
   ========================================================= */
.chat-avatar {
  border-radius: 50%;
  object-fit: cover;
}

.chat-initials {
  width: 40px;
  height: 40px;
  font-size: 0.9rem;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

/* =========================================================
   EMPTY STATE (no conversation selected)
   ========================================================= */
.chat-empty-state {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 2rem;
  text-align: center;
  z-index: 5;
}

.chat-empty-state__icon {
  font-size: 3rem;
  color: rgba(137, 3, 130, 0.15);
}

.chat-empty-state__text {
  font-size: 0.9375rem;
  font-weight: 600;
  color: #717171;
}

.chat-empty-state__sub {
  font-size: 0.8125rem;
  color: #a0a0a8;
}

/* =========================================================
   NEW CHAT MODAL
   ========================================================= */
#newChatModal .modal-content {
  border-radius: 1rem;
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.06), 0 4px 10px rgba(0, 0, 0, 0.03);
  overflow: hidden;
}

#newChatModal .modal-header {
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  padding: 1rem 1.25rem;
}

#newChatModal .modal-title {
  font-weight: 700;
  font-size: 1rem;
}

#newChatModal .modal-footer {
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  padding: 0.75rem 1.25rem;
}

/* === Drawer interne du chat (push layout) === */
:root {
  --chat-drawer-w: 340px;
}

.chat-drawer {
  grid-column: 2;
  grid-row: 1;
  position: relative;
  width: 0;
  overflow: hidden;
  background: #fff;
  border-left: 1px solid rgba(0, 0, 0, 0.06);
  transition: width 0.25s ease;
  box-shadow: none;
  z-index: 1;
  display: flex;
  flex-direction: column;
}

.chat-drawer.is-open {
  width: var(--chat-drawer-w);
}

.chat-drawer-header {
  flex: 0 0 auto;
  padding: 0.75rem 1rem;
}

.chat-drawer-body {
  flex: 1 1 auto;
  overflow: auto;
  padding: 1rem;
}

.chat-drawer-backdrop {
  display: none;
}

/* ================== Mobile overlay behavior ================== */
@media (max-width: 767.98px) {
  .chat-main-body {
    position: relative;
  }
  .chat-drawer {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    transform: translateX(100%);
    transition: transform 0.25s ease;
    border-left: none;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.12);
  }
  .chat-drawer.is-open {
    transform: translateX(0);
  }
  .chat-drawer-backdrop {
    display: block;
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.12);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
    z-index: 0;
  }
  .chat-drawer-backdrop.is-open {
    opacity: 1;
    pointer-events: auto;
  }
}
/* Files list in drawer */
.files-chat {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.files-chat .file-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.6rem 0.75rem;
  border: 1px solid rgba(0, 0, 0, 0.07);
  border-radius: 0.6rem;
  background: #fff;
}
.files-chat .file-item .file-icon {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border-radius: 0.5rem;
  background: #f3f4f6;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
}
.files-chat .file-item .file-meta {
  flex: 1 1 auto;
  min-width: 0;
}
.files-chat .file-item .file-name {
  font-weight: 600;
}
.files-chat .file-item .file-sub {
  font-size: 0.8125rem;
}
.files-chat .file-item .file-actions {
  flex: 0 0 auto;
  display: flex;
  gap: 0.4rem;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.15s ease;
}
.files-chat .file-item:hover .file-actions {
  visibility: visible;
  opacity: 1;
}

/* =========================================================
   TIMELINE COMPONENT (reusable)
   ========================================================= */
.ah-timeline {
  position: relative;
  padding-left: 2rem;
}

.ah-timeline-item {
  position: relative;
  padding-bottom: 1.25rem;
}

.ah-timeline-item:not(:last-child)::before {
  content: "";
  position: absolute;
  left: -1.375rem;
  top: 10px;
  width: 2px;
  height: 100%;
  background: #ececf3;
}

.ah-timeline-dot {
  position: absolute;
  left: -1.625rem;
  top: 2px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.ah-timeline-content {
  padding-left: 0.75rem;
}

/* =========================================================
   INFO LABEL (uppercase muted small)
   ========================================================= */
.ah-info-label {
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #717171;
  margin-bottom: 0.25rem;
}

/* =========================================================
   FORM SECTION — Stepped form panels
   ========================================================= */
.ah-form-section {
  position: relative;
  border-radius: 1rem;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.02);
  overflow: hidden;
  transition: box-shadow 0.2s ease;
}

.ah-form-section:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
}

.ah-form-section__header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 1.5rem;
  background: #faf8fb;
  border-bottom: 1px solid rgba(137, 3, 130, 0.06);
}

.ah-form-section__icon {
  width: 2rem;
  height: 2rem;
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  color: #890382;
  background: rgba(137, 3, 130, 0.08);
  flex-shrink: 0;
}

.ah-form-section__title {
  font-family: "DM Sans", system-ui, sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  color: #1e1e1e;
}

.ah-form-section__subtitle {
  font-size: 0.75rem;
  color: #a0a0a8;
  margin-top: 0.05rem;
}

.ah-form-section__body {
  padding: 1.25rem 1.5rem;
}

@media (max-width: 575.98px) {
  .ah-form-section__header {
    padding: 0.75rem 1rem;
    gap: 0.5rem;
  }
  .ah-form-section__header .btn {
    font-size: 0.75rem;
    padding: 0.2rem 0.5rem;
  }
  .ah-form-section__body {
    padding: 1rem;
  }
  .ah-form-section__title {
    font-size: 0.8125rem;
  }
  .ah-form-section__subtitle {
    font-size: 0.6875rem;
  }
}
/* Numbered step indicator */
.ah-form-section__step {
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.7rem;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(135deg, #890382 0%, #b040a8 100%);
  flex-shrink: 0;
}

/* Collapsible toggle */
.ah-form-section__toggle {
  margin-left: auto;
  background: none;
  border: none;
  color: #a0a0a8;
  cursor: pointer;
  padding: 0.25rem;
  transition: transform 0.2s ease;
  font-size: 0.875rem;
}

.ah-form-section__toggle[aria-expanded=false] {
  transform: rotate(-90deg);
}

/* Sidebar sticky card */
.ah-sidebar-card {
  position: relative;
  border-radius: 1rem;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.02);
  overflow: hidden;
}

.ah-sidebar-card__accent {
  height: 3px;
  background: linear-gradient(90deg, #890382 0%, #E11D5B 50%, #D71700 100%);
}

.ah-sidebar-card__body {
  padding: 1.25rem;
}

/* Form footer sticky */
.ah-form-footer {
  position: sticky;
  bottom: 0;
  background: #fff;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  padding: 1rem 1.5rem;
  border-radius: 0 0 1rem 1rem;
  box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.03);
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* Address search — styled input with icon */
.ah-address-search {
  position: relative;
}

.ah-address-search__input {
  display: block;
  width: 100%;
  height: 2.5rem;
  padding: 0.5rem 0.75rem 0.5rem 2.5rem;
  border-radius: 0.625rem;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: #fff;
  font-size: 0.875rem;
  font-family: inherit;
  color: #1e1e1e;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.ah-address-search__input::placeholder {
  color: #a0a0a8;
}

.ah-address-search__input:focus {
  border-color: rgba(137, 3, 130, 0.4);
  box-shadow: 0 0 0 3px rgba(137, 3, 130, 0.08);
  outline: none;
}

.ah-address-search__icon {
  position: absolute;
  left: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  color: #a0a0a8;
  font-size: 0.9rem;
  pointer-events: none;
  transition: color 0.15s ease;
}

.ah-address-search:focus-within .ah-address-search__icon {
  color: #890382;
}

/* =========================================================
   PROJECT CARD (fiche client, carte avec dot status)
   ========================================================= */
.ah-project-card {
  position: relative;
  border-radius: 0.875rem;
  padding: 1rem 1.25rem;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
}

.ah-project-card:hover {
  border-color: rgba(137, 3, 130, 0.12);
  box-shadow: 0 8px 24px rgba(137, 3, 130, 0.08), 0 2px 6px rgba(0, 0, 0, 0.03);
  transform: translateY(-2px);
}

/* Status dot indicator */
.ah-project-card__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  position: relative;
}

.ah-project-card__dot::after {
  content: "";
  position: absolute;
  inset: -3px;
  border-radius: 50%;
  opacity: 0.3;
}

.ah-project-card__dot--draft {
  background: #9ca3af;
}

.ah-project-card__dot--draft::after {
  background: #9ca3af;
}

.ah-project-card__dot--progress {
  background: #10b981;
}

.ah-project-card__dot--progress::after {
  background: #10b981;
}

.ah-project-card__dot--waiting {
  background: #f59e0b;
}

.ah-project-card__dot--waiting::after {
  background: #f59e0b;
}

.ah-project-card__dot--completed {
  background: #890382;
}

.ah-project-card__dot--completed::after {
  background: #890382;
}

.ah-project-card__dot--cancelled {
  background: #E11D5B;
}

.ah-project-card__dot--cancelled::after {
  background: #E11D5B;
}

/* Chevron arrow */
.ah-project-card__arrow {
  color: #ccc;
  font-size: 0.875rem;
  flex-shrink: 0;
  transition: transform 0.2s ease, color 0.2s ease;
}

.ah-project-card:hover .ah-project-card__arrow {
  color: #890382;
  transform: translateX(3px);
}

/* Meta info row */
.ah-project-card__meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.75rem;
  color: #a0a0a8;
  margin-top: 0.375rem;
}

.ah-project-card__meta i {
  font-size: 0.7rem;
}

/* =========================================================
   QUICK ACTION BUTTON (sidebar fiche client)
   ========================================================= */
.ah-quick-action {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 0.625rem;
  border-radius: 0.5rem;
  color: #1e1e1e;
  text-decoration: none;
  transition: all 0.15s ease;
  font-weight: 500;
  font-size: 0.8125rem;
}

.ah-quick-action:hover {
  background: rgba(137, 3, 130, 0.04);
  color: #890382;
}

.ah-quick-action i {
  font-size: 1rem;
  width: 1.75rem;
  height: 1.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  background: rgba(0, 0, 0, 0.03);
  flex-shrink: 0;
}

.ah-quick-action:hover i {
  background: rgba(137, 3, 130, 0.08);
  color: #890382;
}

/* =========================================================
   CRM PROFILE HEADER — Compact hero card (single row)
   ========================================================= */
.ah-profile-hero {
  position: relative;
  z-index: 10;
  border-radius: 1rem;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.04);
  overflow: hidden;
}

.ah-profile-hero__gradient {
  height: 4px;
  background: linear-gradient(90deg, #890382 0%, #E11D5B 50%, #D71700 100%);
}

/* Single-row body: avatar + info + badges + actions inline */
.ah-profile-hero__body {
  padding: 0.75rem 1.25rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.ah-profile-hero__avatar {
  width: 44px;
  height: 44px;
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.95rem;
  color: #fff;
  background: linear-gradient(135deg, #890382 0%, #b040a8 100%);
  box-shadow: 0 2px 8px rgba(137, 3, 130, 0.12);
  flex-shrink: 0;
}

.ah-profile-hero__info {
  min-width: 0;
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  flex-wrap: wrap;
}

.ah-profile-hero__name {
  font-family: "DM Sans", system-ui, sans-serif;
  font-weight: 700;
  font-size: 1.05rem;
  line-height: 1.2;
  color: #1e1e1e;
  white-space: nowrap;
}

.ah-profile-hero__sub {
  font-size: 0.8rem;
  color: #717171;
  white-space: nowrap;
}

.ah-profile-hero__badges {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  flex-shrink: 0;
}

.ah-profile-hero__actions {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  flex-shrink: 0;
  margin-left: auto;
}

/* Responsive hero — stack on small screens */
@media (max-width: 767.98px) {
  .ah-profile-hero__body {
    flex-wrap: wrap;
    padding: 0.75rem 1rem;
    gap: 0.625rem;
  }
  .ah-profile-hero__avatar {
    width: 36px;
    height: 36px;
    font-size: 0.8rem;
  }
  .ah-profile-hero__info {
    flex: 1 1 0%;
    min-width: 0;
    gap: 0.375rem;
  }
  .ah-profile-hero__name {
    font-size: 0.9rem;
  }
  .ah-profile-hero__badges {
    flex-wrap: wrap;
    flex-shrink: 1;
    gap: 0.25rem;
  }
  .ah-profile-hero__badges .ah-badge {
    font-size: 0.6rem;
  }
  .ah-profile-hero__actions {
    margin-left: auto;
    flex-shrink: 0;
  }
  .ah-profile-hero__actions .btn {
    font-size: 0.75rem;
    padding: 0.25rem 0.5rem;
  }
}
@media (max-width: 575.98px) {
  .ah-profile-hero__body {
    padding: 0.625rem 0.75rem;
    gap: 0.5rem;
  }
  .ah-profile-hero__info {
    flex-basis: calc(100% - 36px - 0.5rem);
  }
  .ah-profile-hero__badges {
    width: 100%;
    order: 1;
  }
  .ah-profile-hero__actions {
    order: 0;
  }
}
/* =========================================================
   CRM CONTACT FIELD — Icon + value inline
   ========================================================= */
.ah-field {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.625rem 0;
}

.ah-field + .ah-field {
  border-top: 1px solid rgba(0, 0, 0, 0.04);
}

.ah-field__icon {
  width: 2rem;
  height: 2rem;
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  flex-shrink: 0;
  background: rgba(137, 3, 130, 0.05);
  color: #890382;
}

.ah-field__content {
  flex: 1;
  min-width: 0;
}

.ah-field__label {
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #a0a0a8;
  line-height: 1;
  margin-bottom: 0.25rem;
}

.ah-field__value {
  font-size: 0.875rem;
  color: #1e1e1e;
  line-height: 1.4;
}

.ah-field__value a {
  color: #1e1e1e;
  text-decoration: none;
}

.ah-field__value a:hover {
  color: #890382;
}

.ah-field__value--muted {
  color: #a0a0a8;
  font-style: italic;
  font-size: 0.8125rem;
}

/* =========================================================
   CRM SECTION HEADER — Minimal section divider
   ========================================================= */
.ah-section-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #a0a0a8;
}

.ah-section-header::after {
  content: "";
  flex: 1;
  height: 1px;
  background: rgba(0, 0, 0, 0.06);
}

.ah-section-header--no-line::after {
  display: none;
}

/* =========================================================
   CRM CONTACT CARD — Compact card for additional contacts
   ========================================================= */
.ah-contact-card {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem;
  border-radius: 0.75rem;
  border: 1px solid rgba(0, 0, 0, 0.04);
  transition: all 0.15s ease;
  background: #fff;
}

.ah-contact-card:hover {
  border-color: rgba(137, 3, 130, 0.1);
  box-shadow: 0 2px 8px rgba(137, 3, 130, 0.06);
}

.ah-contact-card__avatar {
  width: 36px;
  height: 36px;
  border-radius: 0.625rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.7rem;
  color: #fff;
  background: linear-gradient(135deg, #717171, #999);
  flex-shrink: 0;
}

.ah-contact-card__info {
  flex: 1;
  min-width: 0;
}

.ah-contact-card__name {
  font-weight: 600;
  font-size: 0.8125rem;
  color: #1e1e1e;
}

.ah-contact-card__meta {
  font-size: 0.75rem;
  color: #717171;
}

.ah-contact-card__actions {
  display: flex;
  gap: 0.25rem;
  opacity: 0;
  transition: opacity 0.15s ease;
}

.ah-contact-card:hover .ah-contact-card__actions {
  opacity: 1;
}

/* =========================================================
   HERO ACTIONS DROPDOWN — Quick actions menu in profile hero
   ========================================================= */
.ah-hero-dropdown {
  position: relative;
}

.ah-hero-dropdown__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.5rem;
  border: 1px solid rgba(0, 0, 0, 0.08);
  background: rgba(255, 255, 255, 0.6);
  color: #717171;
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 1rem;
  padding: 0;
}

.ah-hero-dropdown__toggle:hover,
.ah-hero-dropdown__toggle[aria-expanded=true] {
  background: rgba(137, 3, 130, 0.06);
  border-color: rgba(137, 3, 130, 0.15);
  color: #890382;
}

.ah-hero-dropdown__menu {
  position: fixed;
  z-index: 1050;
  min-width: 220px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 0.75rem;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1), 0 4px 12px rgba(0, 0, 0, 0.04);
  padding: 0.375rem;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px) scale(0.98);
  transition: all 0.18s cubic-bezier(0.4, 0, 0.2, 1);
}

.ah-hero-dropdown__menu.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

.ah-hero-dropdown__item {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.5rem 0.75rem;
  border-radius: 0.5rem;
  color: #1e1e1e;
  text-decoration: none;
  font-size: 0.8125rem;
  font-weight: 500;
  transition: all 0.12s ease;
  border: none;
  background: none;
  width: 100%;
  cursor: pointer;
}

.ah-hero-dropdown__item:hover {
  background: rgba(137, 3, 130, 0.05);
  color: #890382;
}

.ah-hero-dropdown__item i {
  font-size: 0.875rem;
  width: 1.5rem;
  text-align: center;
  color: #890382;
  opacity: 0.7;
}

.ah-hero-dropdown__item:hover i {
  opacity: 1;
}

.ah-hero-dropdown__divider {
  height: 1px;
  background: rgba(0, 0, 0, 0.06);
  margin: 0.25rem 0.5rem;
}

.ah-hero-dropdown__item--danger {
  color: #E11D5B;
}

.ah-hero-dropdown__item--danger i {
  color: #E11D5B;
}

.ah-hero-dropdown__item--danger:hover {
  background: rgba(225, 29, 91, 0.05);
  color: #be123c;
}

/* =========================================================
   MICRO ANIMATIONS — Stagger fade-in, hover effects
   ========================================================= */
/* Stagger entrance for cards and list items */
@keyframes ah-fade-up {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.ah-animate-in {
  animation: ah-fade-up 0.4s cubic-bezier(0.4, 0, 0.2, 1) backwards;
}

/* Stagger delays for children */
.ah-stagger > *:nth-child(1) {
  animation-delay: 0ms;
}

.ah-stagger > *:nth-child(2) {
  animation-delay: 50ms;
}

.ah-stagger > *:nth-child(3) {
  animation-delay: 100ms;
}

.ah-stagger > *:nth-child(4) {
  animation-delay: 150ms;
}

.ah-stagger > *:nth-child(5) {
  animation-delay: 200ms;
}

.ah-stagger > *:nth-child(6) {
  animation-delay: 250ms;
}

.ah-stagger > *:nth-child(7) {
  animation-delay: 300ms;
}

.ah-stagger > *:nth-child(8) {
  animation-delay: 350ms;
}

.ah-stagger > *:nth-child(9) {
  animation-delay: 400ms;
}

.ah-stagger > *:nth-child(10) {
  animation-delay: 450ms;
}

/* Hero entrance */
@keyframes ah-hero-in {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.ah-hero-animate {
  animation: ah-hero-in 0.35s cubic-bezier(0.4, 0, 0.2, 1) backwards;
}

/* Subtle pulse for live status dots */
@keyframes ah-pulse-dot {
  0%, 100% {
    box-shadow: 0 0 0 0 currentColor;
  }
  50% {
    box-shadow: 0 0 0 4px transparent;
  }
}
.ah-project-card__dot--progress {
  animation: ah-pulse-dot 2.5s ease-in-out infinite;
  color: #10b981;
}

.ah-project-card__dot--waiting {
  animation: ah-pulse-dot 2.5s ease-in-out infinite;
  color: #f59e0b;
}

/* Column entrance */
@keyframes ah-slide-in-left {
  from {
    opacity: 0;
    transform: translateX(-16px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes ah-slide-in-right {
  from {
    opacity: 0;
    transform: translateX(16px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.ah-col-left {
  animation: ah-slide-in-left 0.4s cubic-bezier(0.4, 0, 0.2, 1) 0.1s backwards;
}

.ah-col-right {
  animation: ah-slide-in-right 0.4s cubic-bezier(0.4, 0, 0.2, 1) 0.15s backwards;
}

/* =========================================================
   PROJECT SHOW — Status stepper, info grid, nav pills
   ========================================================= */
/* Status stepper — horizontal timeline */
.ah-status-stepper {
  display: flex;
  gap: 0;
  position: relative;
  padding: 0;
}

.ah-status-step {
  flex: 1 1 0%;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  /* No z-index here — avoids isolated stacking contexts so dots
     (z-index:2) always paint above connectors (z-index:0) */
  min-width: 0;
}

.ah-status-step__dot {
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.65rem;
  color: #a0a0a8;
  background: #f0f0f5;
  border: 2px solid #e0e0e4;
  background-clip: padding-box;
  transition: all 0.3s ease;
  position: relative;
  z-index: 2;
}

.ah-status-step--active .ah-status-step__dot {
  color: #fff;
  border-color: #fff;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2);
}

.ah-status-step--done .ah-status-step__dot {
  color: #fff;
  background: #10b981;
  border-color: #10b981;
  background-clip: border-box;
}

.ah-status-step__label {
  font-size: 0.625rem;
  font-weight: 500;
  color: #a0a0a8;
  margin-top: 0.375rem;
  text-align: center;
  white-space: nowrap;
}

.ah-status-step--active .ah-status-step__label {
  color: #1e1e1e;
  font-weight: 600;
}

.ah-status-step--done .ah-status-step__label {
  color: #10b981;
}

/* Connector line between steps — center-to-center behind dots */
.ah-status-step + .ah-status-step::before {
  content: "";
  position: absolute;
  top: calc(0.875rem - 1px);
  height: 2px;
  left: -50%;
  right: 50%;
  background: #e0e0e4;
  z-index: 0;
}

.ah-status-step--done + .ah-status-step::before,
.ah-status-step--active::before {
  background: #10b981;
}

/* Status colors for active dot — background-clip: padding-box prevents
   the gradient from bleeding through the transparent border area */
.ah-status-step--draft .ah-status-step__dot {
  background: #9ca3af;
  background-clip: padding-box;
}

.ah-status-step--progress .ah-status-step__dot {
  background: linear-gradient(135deg, #10b981, #059669);
  background-clip: padding-box;
}

.ah-status-step--waiting .ah-status-step__dot {
  background: linear-gradient(135deg, #f59e0b, #d97706);
  background-clip: padding-box;
}

.ah-status-step--completed .ah-status-step__dot {
  background: linear-gradient(135deg, #890382, #b040a8);
  background-clip: padding-box;
}

.ah-status-step--cancelled .ah-status-step__dot {
  background: #E11D5B;
  background-clip: padding-box;
}

/* Status picker — current status + dropdown menu */
.ah-status-picker {
  position: relative;
}

.ah-status-picker form {
  margin: 0;
}

.ah-status-picker__current {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.5rem 0.75rem;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 0.5rem;
  background: #fff;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #1e1e1e;
  cursor: pointer;
  transition: all 0.15s ease;
}

.ah-status-picker__current:hover {
  border-color: rgba(0, 0, 0, 0.14);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}

.ah-status-picker__current[aria-expanded=true] {
  border-color: rgba(137, 3, 130, 0.2);
  box-shadow: 0 2px 8px rgba(137, 3, 130, 0.08);
}

.ah-status-picker__current[aria-expanded=true] .ah-status-picker__chevron {
  transform: rotate(180deg);
}

.ah-status-picker__chevron {
  font-size: 0.625rem;
  color: #a0a0a8;
  margin-left: auto;
  transition: transform 0.2s ease;
}

.ah-status-picker__dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--dot-color);
  flex-shrink: 0;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--dot-color) 20%, transparent);
}

.ah-status-picker__label {
  flex: 1;
  text-align: left;
}

/* Dropdown menu */
.ah-status-picker__menu {
  position: fixed;
  z-index: 1050;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 0.75rem;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1), 0 2px 8px rgba(0, 0, 0, 0.04);
  padding: 0.25rem;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}

.ah-status-picker__menu.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.ah-status-picker__item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.4375rem 0.75rem;
  border: none;
  border-radius: 0.375rem;
  background: transparent;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #555;
  cursor: pointer;
  transition: all 0.12s ease;
}

.ah-status-picker__item:hover {
  background: #f8f8fa;
  color: #1e1e1e;
}

.ah-status-picker__item .ah-status-picker__dot {
  box-shadow: none;
}

.ah-status-picker__item--danger {
  color: #a0a0a8;
}

.ah-status-picker__item--danger:hover {
  background: rgba(225, 29, 91, 0.04);
  color: #E11D5B;
}

/* Status radio — edit page status selector */
.ah-status-radio {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.625rem 0.75rem;
  border-radius: 0.5rem;
  border: 1px solid rgba(0, 0, 0, 0.06);
  background: #fff;
  cursor: pointer;
  transition: all 0.15s ease;
}

.ah-status-radio .form-check {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

.ah-status-radio:hover {
  border-color: rgba(0, 0, 0, 0.12);
  background: #fafafa;
}

.ah-status-radio--active {
  border-color: color-mix(in srgb, var(--status-color) 30%, transparent);
  background: color-mix(in srgb, var(--status-color) 4%, transparent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--status-color) 8%, transparent);
}

.ah-status-radio__dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--status-color);
  flex-shrink: 0;
  transition: box-shadow 0.15s ease;
}

.ah-status-radio--active .ah-status-radio__dot {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--status-color) 20%, transparent);
}

.ah-status-radio__label {
  font-size: 0.8125rem;
  font-weight: 500;
  color: #4a4a4a;
}

.ah-status-radio--active .ah-status-radio__label {
  font-weight: 600;
  color: #1e1e1e;
}

/* Info grid — key-value pairs */
.ah-info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 1rem;
}

.ah-info-item {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.ah-info-item__label {
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #a0a0a8;
}

.ah-info-item__value {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1e1e1e;
}

/* Nav pills for project sections */
.ah-nav-pills {
  display: flex;
  gap: 0.25rem;
  padding: 0.25rem;
  background: #f6f7fb;
  border-radius: 0.75rem;
  overflow-x: auto;
}

.ah-nav-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #717171;
  background: transparent;
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
  text-decoration: none;
}

.ah-nav-pill:hover {
  color: #1e1e1e;
  background: rgba(255, 255, 255, 0.7);
}

.ah-nav-pill.active {
  color: #890382;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  font-weight: 600;
}

.ah-nav-pill__badge {
  background: rgba(137, 3, 130, 0.1);
  color: #890382;
  font-size: 0.6875rem;
  font-weight: 700;
  padding: 0.1rem 0.4rem;
  border-radius: 0.25rem;
  line-height: 1;
}

/* Contact card inline */
.ah-contact-inline {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  border-radius: 0.75rem;
  background: #faf8fb;
  border: 1px solid rgba(137, 3, 130, 0.06);
  transition: all 0.2s ease;
}

.ah-contact-inline:hover {
  border-color: rgba(137, 3, 130, 0.12);
  box-shadow: 0 2px 8px rgba(137, 3, 130, 0.06);
}

.ah-contact-inline__avatar {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.625rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.75rem;
  color: #fff;
  background: var(--ah-gradient);
  flex-shrink: 0;
}

.ah-contact-inline__info {
  flex: 1;
  min-width: 0;
}

.ah-contact-inline__name {
  font-weight: 600;
  font-size: 0.8125rem;
  color: #1e1e1e;
}

.ah-contact-inline__detail {
  font-size: 0.75rem;
  color: #a0a0a8;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Photo grid for project */
.ah-photo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 0.75rem;
}

.ah-photo-card {
  position: relative;
  border-radius: 0.75rem;
  overflow: hidden;
  aspect-ratio: 4/3;
  cursor: pointer;
  border: 1px solid rgba(0, 0, 0, 0.06);
  transition: all 0.25s ease;
}

.ah-photo-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}

.ah-photo-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.ah-photo-card:hover img {
  transform: scale(1.05);
}

.ah-photo-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.5) 0%, transparent 50%);
  opacity: 0;
  transition: opacity 0.25s ease;
  display: flex;
  align-items: flex-end;
  padding: 0.75rem;
}

.ah-photo-card:hover .ah-photo-card__overlay {
  opacity: 1;
}

.ah-photo-card__name {
  color: #fff;
  font-size: 0.75rem;
  font-weight: 500;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.ah-photo-card__shared {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 0.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #16a34a;
  color: #fff;
  font-size: 0.7rem;
  z-index: 2;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}

/* Quick action button style */
.ah-action-btn {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  border-radius: 0.75rem;
  border: 1px solid rgba(0, 0, 0, 0.06);
  background: #fff;
  color: #1e1e1e;
  text-decoration: none;
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  width: 100%;
}

.ah-action-btn:hover {
  border-color: rgba(137, 3, 130, 0.15);
  box-shadow: 0 2px 8px rgba(137, 3, 130, 0.06);
  color: #890382;
}

.ah-action-btn__icon {
  width: 2rem;
  height: 2rem;
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  flex-shrink: 0;
}

.ah-action-btn:disabled,
.ah-action-btn[disabled] {
  opacity: 0.45;
  pointer-events: none;
}

.ah-action-btn--sm {
  padding: 0.5rem 0.75rem;
  font-size: 0.75rem;
  gap: 0.5rem;
  border-radius: 0.5rem;
}

.ah-action-btn--sm .ah-action-btn__icon {
  width: 1.5rem;
  height: 1.5rem;
  font-size: 0.7rem;
  border-radius: 0.375rem;
}

/* Contact entry — stacked layout: contact-inline + action buttons */
.ah-contact-entry {
  padding: 1rem;
  border-radius: 0.75rem;
  border: 1px solid rgba(0, 0, 0, 0.04);
  background: #fff;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.ah-contact-entry:hover {
  border-color: rgba(137, 3, 130, 0.08);
  box-shadow: 0 2px 8px rgba(137, 3, 130, 0.04);
}

.ah-contact-entry .ah-contact-inline {
  border: none;
  padding: 0;
  background: transparent;
}

.ah-contact-entry .ah-contact-inline:hover {
  border-color: transparent;
  box-shadow: none;
}

/* Mobile responsive — action buttons + contact entries */
@media (max-width: 575.98px) {
  .ah-action-btn {
    font-size: 0.75rem;
    padding: 0.5rem 0.75rem;
    gap: 0.5rem;
  }
  .ah-action-btn__icon {
    width: 1.5rem;
    height: 1.5rem;
    font-size: 0.7rem;
  }
  .ah-contact-entry {
    padding: 0.75rem;
  }
}
/* Description block */
.ah-description {
  padding: 1rem 1.25rem;
  border-radius: 0.75rem;
  background: #faf8fb;
  border: 1px solid rgba(137, 3, 130, 0.04);
  font-size: 0.875rem;
  color: #3a3a3a;
  line-height: 1.6;
}

.ah-description:empty::before {
  content: "Aucune description";
  color: #a0a0a8;
  font-style: italic;
}

/* Address block */
.ah-address-block {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1rem;
  border-radius: 0.75rem;
  background: #faf8fb;
  border: 1px solid rgba(137, 3, 130, 0.04);
}

.ah-address-block__icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(14, 165, 233, 0.08);
  color: #0ea5e9;
  font-size: 0.875rem;
  flex-shrink: 0;
}

.ah-address-block address {
  font-size: 0.875rem;
  font-style: normal;
  color: #1e1e1e;
  line-height: 1.5;
  margin: 0;
}

/* Cadastral badges */
.ah-cadastral-ref {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  background: rgba(14, 165, 233, 0.06);
  border: 1px solid rgba(14, 165, 233, 0.12);
  color: #0369a1;
  font-weight: 600;
  font-size: 0.875rem;
  font-variant-numeric: tabular-nums;
}

.ah-cadastral-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.75rem;
  border-radius: 0.5rem;
  background: rgba(14, 165, 233, 0.04);
  border: 1px solid rgba(14, 165, 233, 0.1);
  font-size: 0.8125rem;
  font-weight: 500;
  color: #0c4a6e;
}

.ah-cadastral-tag__label {
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #0ea5e9;
}

.ah-cadastral-tag__value {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* =========================================================
   PHOTOS MODAL — Modern upload & gallery
   ========================================================= */
.ah-photos-modal {
  border-radius: 1.25rem;
  overflow: hidden;
  border: none;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.15), 0 8px 20px rgba(0, 0, 0, 0.08);
}

.ah-photos-modal__header {
  background: #fff;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  padding: 1.25rem 1.5rem;
}

.ah-photos-modal__header .modal-title {
  font-family: "DM Sans", system-ui, sans-serif;
  font-weight: 700;
  font-size: 1rem;
  color: #1e1e1e;
  margin: 0;
}

.ah-photos-modal__icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  color: #0ea5e9;
  background: rgba(14, 165, 233, 0.08);
  flex-shrink: 0;
}

.ah-photos-modal__count {
  font-size: 0.75rem;
  color: #a0a0a8;
  margin-top: 0.125rem;
}

.ah-photos-modal__body {
  padding: 1.5rem;
  background: #f8f9fb;
}

.ah-photos-modal__footer {
  background: #fff;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  padding: 0.75rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.ah-photos-modal__footer-info {
  font-size: 0.75rem;
  color: #a0a0a8;
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

/* Dropzone */
.ah-photos-dropzone {
  border: 2px dashed rgba(137, 3, 130, 0.15);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.7);
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  margin-bottom: 1.5rem;
}

.ah-photos-dropzone:hover {
  border-color: rgba(137, 3, 130, 0.3);
  background: rgba(137, 3, 130, 0.02);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(137, 3, 130, 0.06);
}

.ah-photos-dropzone.drag-active {
  border-color: #890382;
  background: rgba(137, 3, 130, 0.04);
  transform: scale(1.01);
  box-shadow: 0 0 0 4px rgba(137, 3, 130, 0.08);
}

.ah-photos-dropzone__inner {
  padding: 2rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  text-align: center;
}

.ah-photos-dropzone__icon {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: #890382;
  background: rgba(137, 3, 130, 0.06);
}

.ah-photos-dropzone__title {
  font-family: "DM Sans", system-ui, sans-serif;
  font-weight: 600;
  font-size: 0.875rem;
  color: #1e1e1e;
}

.ah-photos-dropzone__subtitle {
  font-size: 0.8125rem;
  color: #a0a0a8;
}

.ah-photos-dropzone__formats {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  margin-top: 0.25rem;
}

.ah-photos-dropzone__limit {
  font-size: 0.6875rem;
  color: #a0a0a8;
  margin-left: 0.25rem;
}

/* Gallery grid */
.ah-photos-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 0.75rem;
}

.ah-photos-gallery__item {
  /* wrapper for JS removal */
}

.ah-photos-gallery__card {
  position: relative;
  border-radius: 0.75rem;
  overflow: hidden;
  aspect-ratio: 4/3;
  background: #e8e8ec;
  border: 1px solid rgba(0, 0, 0, 0.06);
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.ah-photos-gallery__card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}

.ah-photos-gallery__card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.ah-photos-gallery__card:hover img {
  transform: scale(1.05);
}

/* Overlay — visible on hover */
.ah-photos-gallery__overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0.625rem 0.75rem;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, transparent 100%);
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none;
}

.ah-photos-gallery__card:hover .ah-photos-gallery__overlay {
  opacity: 1;
}

.ah-photos-gallery__name {
  color: #fff;
  font-size: 0.6875rem;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ah-photos-gallery__meta {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.625rem;
  margin-top: 0.125rem;
}

/* Delete button */
.ah-photos-gallery__delete {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border: none;
  color: #fff;
  font-size: 0.75rem;
  cursor: pointer;
  opacity: 0;
  transition: all 0.2s ease;
}

.ah-photos-gallery__card:hover .ah-photos-gallery__delete {
  opacity: 1;
}

.ah-photos-gallery__delete:hover {
  background: #E11D5B;
  transform: scale(1.1);
}

/* Visibility toggle (client) — always visible so it's discoverable (incl. touch) */
.ah-photos-gallery__visibility {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  z-index: 3;
  height: 1.75rem;
  padding: 0 0.5rem;
  border-radius: 0.5rem;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border: none;
  color: #fff;
  font-size: 0.7rem;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  opacity: 0.92;
  transition: all 0.2s ease;
}

.ah-photos-gallery__visibility .ah-photos-gallery__visibility-label {
  white-space: nowrap;
}

.ah-photos-gallery__card:hover .ah-photos-gallery__visibility {
  opacity: 1;
}

.ah-photos-gallery__visibility:hover {
  transform: scale(1.05);
}

/* Stays visible (and green) when the photo is shared with the client */
.ah-photos-gallery__visibility.is-visible {
  opacity: 1;
  background: #16a34a;
}

.ah-photos-gallery__visibility.is-visible:hover {
  background: #15803d;
}

.ah-photos-gallery__visibility:disabled {
  opacity: 0.6;
  cursor: default;
}

/* Empty state */
.ah-photos-empty {
  text-align: center;
  padding: 3rem 1rem;
}

.ah-photos-empty__icon {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: #a0a0a8;
  background: rgba(0, 0, 0, 0.04);
  margin-bottom: 0.75rem;
}

.ah-photos-empty__title {
  font-family: "DM Sans", system-ui, sans-serif;
  font-weight: 600;
  font-size: 0.875rem;
  color: #717171;
}

.ah-photos-empty__text {
  font-size: 0.8125rem;
  color: #a0a0a8;
  margin-top: 0.25rem;
}

/* Upload preview card (JS-generated) */
.ah-photos-gallery__card--uploading {
  position: relative;
}

.ah-photos-gallery__card--uploading::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

.ah-photos-gallery__progress {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: rgba(0, 0, 0, 0.1);
  z-index: 2;
}

.ah-photos-gallery__progress-bar {
  height: 100%;
  background: linear-gradient(90deg, #890382, #E11D5B);
  border-radius: 0 2px 2px 0;
  transition: width 0.3s ease;
}

.ah-photos-gallery__spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  width: 2rem;
  height: 2rem;
  border: 2px solid rgba(137, 3, 130, 0.15);
  border-top-color: #890382;
  border-radius: 50%;
  animation: ah-spin 0.6s linear infinite;
}

@keyframes ah-spin {
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
/* =========================================================
   ARTICLE CATEGORY TREE — Star default + expand/collapse
   ========================================================= */
.ah-default-cat-star {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  border: none;
  background: transparent;
  color: #d0d0d0;
  font-size: 0.875rem;
  cursor: pointer;
  border-radius: 0.25rem;
  transition: all 0.15s ease;
  flex-shrink: 0;
}

.ah-default-cat-star:hover {
  color: #f59e0b;
  background: rgba(245, 158, 11, 0.06);
}

.ah-default-cat-star.active {
  color: #f59e0b;
}

.ah-default-cat-star.active .bi-star {
  display: none;
}

.ah-default-cat-star .bi-star-fill {
  display: none;
}

.ah-default-cat-star.active .bi-star-fill {
  display: inline;
}

/* Category tree chevron toggle */
.ah-cat-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  padding: 0;
  border: none;
  background: transparent;
  color: #a0a0a8;
  font-size: 0.625rem;
  cursor: pointer;
  border-radius: 0.25rem;
  transition: all 0.15s ease;
  flex-shrink: 0;
}

.ah-cat-toggle:hover {
  color: #890382;
  background: rgba(137, 3, 130, 0.06);
}

/* Category tree indented children */
.ah-cat-children {
  padding-left: 1.5rem;
}

/* Category item row */
.ah-cat-item {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.25rem 0;
}

.ah-cat-item label {
  font-size: 0.8125rem;
  font-weight: 500;
  color: #1e1e1e;
  cursor: pointer;
  margin: 0;
}

/* =========================================================
   DASHBOARD KPI — Stat cards, charts, pipeline
   ========================================================= */
.dash-stat-card {
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.dash-stat-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06) !important;
}

.dash-stat-icon {
  width: 48px;
  height: 48px;
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  flex-shrink: 0;
}

.dash-stat-value {
  font-family: "DM Sans", system-ui, sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}

.dash-stat-label {
  font-size: 0.8125rem;
}

/* Mini icon for sidebar counters */
.dash-mini-icon {
  width: 2rem;
  height: 2rem;
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  flex-shrink: 0;
}

/* Pipeline bars for quotes */
.dash-pipeline-bar {
  height: 4px;
  border-radius: 2px;
  background: rgba(0, 0, 0, 0.04);
  overflow: hidden;
}

.dash-pipeline-bar__fill {
  height: 100%;
  border-radius: 2px;
  transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Overdue invoice styling */
.dash-overdue-card {
  border-left: 3px solid #dc3545 !important;
}

.dash-overdue-row {
  background: rgba(220, 53, 69, 0.02);
}

.dash-overdue-row:hover {
  background: rgba(220, 53, 69, 0.05) !important;
}

/* Quick actions bar */
.dash-quick-actions .btn {
  border-radius: 999px;
  font-weight: 500;
  font-size: 0.8125rem;
  padding: 0.4rem 0.875rem;
  transition: all 0.2s ease;
}

.dash-quick-actions .btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

/* Responsive stat value */
@media (max-width: 575.98px) {
  .dash-stat-value {
    font-size: 1.125rem;
  }
  .dash-stat-icon {
    width: 40px;
    height: 40px;
    font-size: 1rem;
  }
  .dash-quick-actions .btn span {
    display: none;
  }
  .dash-quick-actions .btn {
    padding: 0.4rem 0.6rem;
  }
}
/* =========================================================
   ARTICLE PHOTOS — Thumbnail in table + main photo badge
   ========================================================= */
/* Thumbnail in articles table */
.ah-article-thumb {
  width: 40px;
  height: 40px;
  border-radius: 0.5rem;
  object-fit: cover;
  display: block;
  transition: transform 0.15s ease;
}

a:hover .ah-article-thumb {
  transform: scale(1.08);
}

.ah-article-thumb--placeholder {
  background: rgba(0, 0, 0, 0.04);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #a0a0a8;
  font-size: 1rem;
}

/* Photo card main state */
.ah-article-photo--main {
  box-shadow: 0 0 0 2px #890382;
  border-radius: 0.75rem;
}

/* Star button — set as main */
.ah-article-photo-star {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: none;
  background: rgba(0, 0, 0, 0.5);
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.75rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: all 0.15s ease;
  z-index: 2;
}

.ah-photos-gallery__card:hover .ah-article-photo-star {
  opacity: 1;
}

.ah-article-photo-star:hover {
  background: rgba(137, 3, 130, 0.85);
  color: #fff;
  transform: scale(1.1);
}

.ah-article-photo-star--active {
  opacity: 1 !important;
  background: #890382;
  color: #fbbf24;
}

.ah-article-photo-star--active:hover {
  background: #890382;
  color: #fbbf24;
}

.grid-stack {
  background: transparent;
}

.grid-stack > .grid-stack-item > .grid-stack-item-content {
  padding: 0;
  overflow: visible;
  display: flex;
  flex-direction: column;
  border-radius: 0.75rem;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.grid-stack > .grid-stack-item > .grid-stack-item-content > .card,
.grid-stack > .grid-stack-item > .grid-stack-item-content > .row {
  height: 100%;
  flex: 1;
  min-height: 0;
}
.grid-stack > .grid-stack-item > .grid-stack-item-content > .dash-quick-actions {
  height: 100%;
  align-content: center;
}

.grid-stack-item-content .card {
  margin-bottom: 0 !important;
  border-radius: 0.75rem;
}

.grid-stack-item-content .card-body.overflow-auto {
  min-height: 0;
}

.dash-grid--editing {
  background: repeating-linear-gradient(45deg, transparent, transparent 12px, rgba(137, 3, 130, 0.025) 12px, rgba(137, 3, 130, 0.025) 24px);
  border-radius: 1rem;
  padding: 0.5rem;
  margin: -0.5rem;
}
.dash-grid--editing .grid-stack-item {
  cursor: grab;
}
.dash-grid--editing .grid-stack-item:active {
  cursor: grabbing;
}
.dash-grid--editing .grid-stack-item .grid-stack-item-content {
  box-shadow: 0 0 0 2px rgba(137, 3, 130, 0.35), 0 4px 12px rgba(137, 3, 130, 0.12);
  border-radius: 0.75rem;
  transition: box-shadow 0.2s ease, transform 0.15s ease;
}
.dash-grid--editing .grid-stack-item .grid-stack-item-content:hover {
  box-shadow: 0 0 0 2px #890382, 0 8px 24px rgba(137, 3, 130, 0.25);
  transform: translateY(-2px);
}
.dash-grid--editing .grid-stack-item::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 8px;
  width: 24px;
  height: 24px;
  background-color: #890382;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 viewBox=%270 0 16 16%27 fill=%27white%27%3E%3Ccircle cx=%274%27 cy=%273%27 r=%271.2%27/%3E%3Ccircle cx=%278%27 cy=%273%27 r=%271.2%27/%3E%3Ccircle cx=%2712%27 cy=%273%27 r=%271.2%27/%3E%3Ccircle cx=%274%27 cy=%278%27 r=%271.2%27/%3E%3Ccircle cx=%278%27 cy=%278%27 r=%271.2%27/%3E%3Ccircle cx=%2712%27 cy=%278%27 r=%271.2%27/%3E%3Ccircle cx=%274%27 cy=%2713%27 r=%271.2%27/%3E%3Ccircle cx=%278%27 cy=%2713%27 r=%271.2%27/%3E%3Ccircle cx=%2712%27 cy=%2713%27 r=%271.2%27/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 50%;
  z-index: 10;
  pointer-events: none;
  opacity: 0;
  transform: scale(0.7);
  transition: opacity 0.2s ease, transform 0.2s ease;
  box-shadow: 0 2px 8px rgba(137, 3, 130, 0.4);
}
.dash-grid--editing .grid-stack-item:hover::before {
  opacity: 1;
  transform: scale(1);
}

.dash-widget-remove {
  position: absolute;
  top: -8px;
  right: -8px;
  width: 26px;
  height: 26px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #dc3545;
  color: #fff;
  border: 2px solid #fff;
  border-radius: 50%;
  cursor: pointer;
  font-size: 12px;
  line-height: 1;
  z-index: 20;
  box-shadow: 0 2px 8px rgba(220, 53, 69, 0.4);
  opacity: 0;
  transform: scale(0.5);
  transition: opacity 0.2s ease, transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.15s;
}
.dash-widget-remove:hover {
  background: #b02a37;
  transform: scale(1.1);
}

.dash-grid--editing .grid-stack-item:hover .dash-widget-remove {
  opacity: 1;
  transform: scale(1);
}

.dash-widget-pool {
  display: none !important;
}

[data-dashboard-grid-target=addMenu] {
  min-width: 240px;
  max-height: 320px;
  overflow-y: auto;
}
[data-dashboard-grid-target=addMenu] .dropdown-item {
  padding: 0.5rem 0.85rem;
  font-size: 0.875rem;
}
[data-dashboard-grid-target=addMenu] .dropdown-item:hover {
  background: rgba(137, 3, 130, 0.06);
}
[data-dashboard-grid-target=addMenu] .dropdown-item i.bi-plus-circle {
  font-size: 1rem;
}

.grid-stack-placeholder > .placeholder-content {
  background: linear-gradient(135deg, rgba(137, 3, 130, 0.08), rgba(225, 29, 91, 0.08)) !important;
  border: 2px dashed #890382 !important;
  border-radius: 0.75rem !important;
  animation: ah-placeholder-pulse 1.2s ease-in-out infinite;
}

@keyframes ah-placeholder-pulse {
  0%, 100% {
    opacity: 0.7;
  }
  50% {
    opacity: 1;
  }
}
.grid-stack-item > .ui-resizable-handle {
  background: none;
}

.grid-stack-item > .ui-resizable-se {
  bottom: 8px;
  right: 8px;
  width: 26px;
  height: 26px;
  background: none !important;
  padding: 0 !important;
}
.grid-stack-item > .ui-resizable-se::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #890382, #b040a8);
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(137, 3, 130, 0.35), 0 0 0 3px rgba(255, 255, 255, 0.9);
  opacity: 0;
  transform: scale(0.5);
  transform-origin: center;
  transition: opacity 0.2s ease, transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.grid-stack-item > .ui-resizable-se::after {
  content: "\f14a";
  font-family: "bootstrap-icons";
  position: absolute;
  top: 50%;
  left: 50%;
  color: white;
  font-size: 14px;
  line-height: 1;
  transform: translate(-50%, -50%) scale(0.5) rotate(-45deg);
  transform-origin: center;
  transition: opacity 0.2s ease, transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
  opacity: 0;
  pointer-events: none;
}

.dash-grid--editing .grid-stack-item > .ui-resizable-se::before {
  opacity: 0.75;
  transform: scale(0.85);
}

.dash-grid--editing .grid-stack-item > .ui-resizable-se::after {
  opacity: 0.9;
  transform: translate(-50%, -50%) scale(0.85) rotate(-45deg);
}

.dash-grid--editing .grid-stack-item:hover > .ui-resizable-se::before {
  opacity: 1;
  transform: scale(1);
  box-shadow: 0 4px 12px rgba(137, 3, 130, 0.5), 0 0 0 3px rgba(255, 255, 255, 0.95);
}

.dash-grid--editing .grid-stack-item:hover > .ui-resizable-se::after {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1) rotate(-45deg);
}

.grid-stack-item > .ui-resizable-e {
  right: 0;
  width: 6px;
}
.grid-stack-item > .ui-resizable-e::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 2px;
  width: 3px;
  height: 40px;
  background: #890382;
  border-radius: 2px;
  transform: translateY(-50%);
  opacity: 0;
  transition: opacity 0.2s ease;
}

.dash-grid--editing .grid-stack-item:hover > .ui-resizable-e::before {
  opacity: 0.5;
}

.dash-grid--editing .grid-stack-item > .ui-resizable-e:hover::before {
  opacity: 1;
}

.grid-stack-item > .ui-resizable-s {
  bottom: 0;
  height: 6px;
}
.grid-stack-item > .ui-resizable-s::before {
  content: "";
  position: absolute;
  bottom: 2px;
  left: 50%;
  width: 40px;
  height: 3px;
  background: #890382;
  border-radius: 2px;
  transform: translateX(-50%);
  opacity: 0;
  transition: opacity 0.2s ease;
}

.dash-grid--editing .grid-stack-item:hover > .ui-resizable-s::before {
  opacity: 0.5;
}

.dash-grid--editing .grid-stack-item > .ui-resizable-s:hover::before {
  opacity: 1;
}

.dash-edit-badge {
  animation: ah-badge-pulse 1.8s ease-in-out infinite;
}

@keyframes ah-badge-pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.4);
  }
  50% {
    box-shadow: 0 0 0 8px rgba(245, 158, 11, 0);
  }
}
[data-coreui-theme=dark] .dash-grid--editing {
  background: repeating-linear-gradient(45deg, transparent, transparent 12px, rgba(176, 64, 168, 0.04) 12px, rgba(176, 64, 168, 0.04) 24px);
}
[data-coreui-theme=dark] .dash-grid--editing .grid-stack-item .grid-stack-item-content {
  box-shadow: 0 0 0 2px rgba(176, 64, 168, 0.5), 0 4px 12px rgba(176, 64, 168, 0.2);
}
[data-coreui-theme=dark] .dash-grid--editing .grid-stack-item .grid-stack-item-content:hover {
  box-shadow: 0 0 0 2px #b040a8, 0 8px 24px rgba(176, 64, 168, 0.35);
}
[data-coreui-theme=dark] .dash-grid--editing .grid-stack-item::before {
  background-color: #b040a8;
  box-shadow: 0 2px 8px rgba(176, 64, 168, 0.5);
}
[data-coreui-theme=dark] .grid-stack-placeholder > .placeholder-content {
  background: linear-gradient(135deg, rgba(176, 64, 168, 0.15), rgba(225, 29, 91, 0.1)) !important;
  border-color: #b040a8 !important;
}
[data-coreui-theme=dark] .grid-stack-item > .ui-resizable-se::before {
  filter: hue-rotate(10deg) brightness(1.3);
}
[data-coreui-theme=dark] .grid-stack-item > .ui-resizable-e::before,
[data-coreui-theme=dark] .grid-stack-item > .ui-resizable-s::before {
  background: #b040a8;
}

/* =========================================================
   TOPBAR USER TRIGGER — avatar + name + caret
   ========================================================= */
.topbar-user {
  position: relative;
}

.ah-user-trigger {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.125rem 0.5rem;
  border-radius: 0.625rem;
  transition: background 0.15s ease;
  cursor: pointer;
  text-decoration: none;
  line-height: 1;
}

/* Override CoreUI .nav-link padding */
.header-nav .ah-user-trigger.nav-link {
  padding: 0.125rem 0.5rem;
}

.ah-user-trigger:hover {
  background: rgba(0, 0, 0, 0.04);
}

.ah-trigger-avatar {
  width: 32px;
  height: 32px;
  min-width: 32px;
  border-radius: 50%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 0 2px rgba(137, 3, 130, 0.15);
}

.ah-trigger-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ah-trigger-avatar--fallback {
  background: linear-gradient(135deg, #890382 0%, #b040a8 100%);
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 600;
}

.ah-trigger-name {
  font-size: 0.8125rem;
  font-weight: 500;
  color: #1e1e1e;
  max-width: 180px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ah-trigger-caret {
  font-size: 0.625rem;
  color: #717171;
  transition: transform 0.15s ease;
}

.topbar-user.show .ah-trigger-caret {
  transform: rotate(180deg);
}

/* =========================================================
   USER DROPDOWN — clean card
   ========================================================= */
.ah-user-dropdown {
  min-width: 260px;
  padding: 0;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 0.75rem;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1), 0 2px 8px rgba(0, 0, 0, 0.04);
  overflow: hidden;
  animation: ah-dropdown-in 0.12s ease-out both;
}

@keyframes ah-dropdown-in {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Header — user identity */
.ah-user-dropdown__header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 1rem 0.75rem;
}

.ah-user-dropdown__avatar {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 50%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ah-user-dropdown__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ah-user-dropdown__avatar--fallback {
  background: linear-gradient(135deg, #890382 0%, #b040a8 100%);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
}

.ah-user-dropdown__info {
  min-width: 0;
  flex: 1;
}

.ah-user-dropdown__name {
  font-weight: 600;
  font-size: 0.875rem;
  color: #1e1e1e;
  line-height: 1.3;
}

.ah-user-dropdown__role {
  font-size: 0.75rem;
  color: #717171;
  line-height: 1.3;
}

.ah-user-dropdown__email {
  font-size: 0.6875rem;
  color: #a0a0a8;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 0.125rem;
}

/* Divider */
.ah-user-dropdown__divider {
  height: 1px;
  background: rgba(0, 0, 0, 0.06);
  margin: 0 0.75rem;
}

/* Menu items */
.ah-user-dropdown__menu {
  padding: 0.25rem;
}

.ah-user-dropdown__item {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.5rem 0.75rem;
  border-radius: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #3a3a3a;
  text-decoration: none;
  transition: all 0.12s ease;
}

.ah-user-dropdown__item:hover {
  background: rgba(0, 0, 0, 0.04);
  color: #1e1e1e;
}

.ah-user-dropdown__item i {
  font-size: 1rem;
  color: #717171;
  width: 1.25rem;
  text-align: center;
}

.ah-user-dropdown__item:hover i {
  color: #890382;
}

/* Danger variant (logout) */
.ah-user-dropdown__item--danger {
  color: #717171;
}

.ah-user-dropdown__item--danger:hover {
  background: rgba(225, 29, 91, 0.04);
  color: #E11D5B;
}

.ah-user-dropdown__item--danger:hover i {
  color: #E11D5B;
}

/* Desktop — positioning */
@media (min-width: 992px) {
  .topbar-user > .dropdown-menu {
    right: 0 !important;
    left: auto !important;
    margin: 0 !important;
    transform: none !important;
    top: calc(100% + 4px) !important;
  }
}
/* =========================================================
   WEATHER WIDGET — Topbar trigger + popup
   ========================================================= */
/* --- Popup container --- */
.ah-weather__popup {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  z-index: 1050;
  min-width: 300px;
  max-width: 340px;
  padding: 0;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 0.75rem;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1), 0 2px 8px rgba(0, 0, 0, 0.04);
  background: #fff;
  overflow: hidden;
  /* Hidden by default */
  display: none;
  opacity: 0;
}
.ah-weather__popup.show {
  display: block;
  opacity: 1;
  animation: ah-weather-in 0.15s ease-out both;
}

@keyframes ah-weather-in {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* --- Header: city + hero temp + conditions --- */
.ah-weather__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 1rem 1rem 0.75rem;
}

.ah-weather__city {
  font-weight: 600;
  font-size: 0.6875rem;
  color: #717171;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ah-weather__temp {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  color: #1e1e1e;
  margin-top: 0.25rem;
}

.ah-weather__conditions {
  text-align: right;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.25rem;
  padding-top: 0.125rem;
}

.ah-weather__conditions-icon {
  font-size: 1.75rem;
  color: #890382;
}

.ah-weather__desc {
  font-size: 0.8125rem;
  font-weight: 500;
  color: #1e1e1e;
}

.ah-weather__range {
  display: flex;
  gap: 0.625rem;
  font-size: 0.75rem;
  font-weight: 500;
}

.ah-weather__range-high {
  color: #E11D5B;
}

.ah-weather__range-low {
  color: #0ea5e9;
}

/* --- Divider --- */
.ah-weather__divider {
  height: 1px;
  background: rgba(0, 0, 0, 0.06);
  margin: 0 1rem;
}

/* --- 5-hour forecast row --- */
.ah-weather__forecast {
  display: flex;
  justify-content: space-between;
  padding: 0.75rem 0.5rem;
  gap: 0;
}

.ah-weather__hour {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.3rem;
  padding: 0.375rem 0.25rem;
  border-radius: 0.5rem;
  /* Subtle separator between hours */
}
.ah-weather__hour:not(:last-child) {
  border-right: 1px solid rgba(0, 0, 0, 0.04);
}

.ah-weather__hour-label {
  font-size: 0.6875rem;
  font-weight: 600;
  color: #717171;
}

.ah-weather__hour-icon {
  font-size: 1.25rem;
  color: #3a3a3a;
  line-height: 1;
}

.ah-weather__rain {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  font-size: 0.625rem;
  font-weight: 600;
  color: #0ea5e9;
  min-height: 1rem;
}
.ah-weather__rain--none {
  visibility: hidden;
}

.ah-weather__rain-bar {
  width: 20px;
  height: 3px;
  border-radius: 2px;
  background: rgba(14, 165, 233, 0.15);
  overflow: hidden;
  position: relative;
}
.ah-weather__rain-bar::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  border-radius: 2px;
  background: #0ea5e9;
  width: var(--rain, 0%);
}

.ah-weather__hour-temp {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #1e1e1e;
}

/* --- 7-day daily forecast --- */
.ah-weather__daily {
  padding: 0.75rem 1rem;
}

.ah-weather__day {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0;
}
.ah-weather__day:not(:last-child) {
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
}

.ah-weather__day-label {
  width: 2.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: #717171;
  flex-shrink: 0;
}

.ah-weather__day-icon {
  font-size: 1rem;
  color: #3a3a3a;
  width: 1.25rem;
  text-align: center;
  flex-shrink: 0;
}

.ah-weather__day-rain {
  font-size: 0.625rem;
  font-weight: 600;
  color: #0ea5e9;
  width: 2.75rem;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 0.15rem;
}
.ah-weather__day-rain i {
  font-size: 0.5rem;
}
.ah-weather__day-rain--none {
  visibility: hidden;
}

.ah-weather__day-temps {
  margin-left: auto;
  display: flex;
  gap: 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
}

/* --- Icon animations (moved from app.scss) --- */
.weather-icon {
  vertical-align: middle;
  transition: transform 0.4s ease-in-out;
}

.weather-icon-static {
  filter: none;
  vertical-align: middle;
}

.weather-sun {
  animation: ah-weather-spin 10s linear infinite;
}

.weather-cloudsun {
  animation: ah-weather-float 4s ease-in-out infinite;
}

.weather-cloud {
  animation: ah-weather-drift 8s ease-in-out infinite;
}

.weather-rain {
  animation: ah-weather-drizzle 1.8s ease-in-out infinite;
}

.weather-storm {
  animation: ah-weather-flash 3s linear infinite;
}

.weather-icon.error {
  animation: ah-weather-pulse 1.5s ease-in-out infinite;
}

@keyframes ah-weather-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes ah-weather-float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-2px);
  }
}
@keyframes ah-weather-drift {
  0%, 100% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(2px);
  }
}
@keyframes ah-weather-drizzle {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(1.5px);
  }
}
@keyframes ah-weather-flash {
  0%, 85%, 100% {
    filter: brightness(0) invert(1);
  }
  90% {
    filter: brightness(1.5) invert(1);
  }
  95% {
    filter: brightness(2) invert(1);
  }
}
@keyframes ah-weather-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.6;
  }
}
/* =========================================================
   PROJECT LIST — Inline weather badge
   ========================================================= */
.ah-project-weather-inline {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.ah-project-weather-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.7rem;
  font-weight: 600;
  color: #94a3b8;
  cursor: default;
  opacity: 0;
  transition: opacity 0.3s;
}
.ah-project-weather-badge--loaded {
  opacity: 1;
  color: #475569;
}
.ah-project-weather-badge i {
  font-size: 0.8rem;
}

.ah-project-weather-popup {
  right: auto;
  left: 50%;
  transform: translateX(-50%);
  top: calc(100% + 8px);
}

/* --- Daily forecast list (3 days) --- */
.ah-weather__daily-list {
  padding: 0.5rem 0.75rem;
}

.ah-weather__daily-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 0;
  border-bottom: 1px solid #f1f5f9;
  font-size: 0.78rem;
}
.ah-weather__daily-row:last-child {
  border-bottom: none;
}

.ah-weather__daily-label {
  width: 36px;
  font-weight: 600;
  color: #334155;
  font-size: 0.72rem;
}

.ah-weather__daily-icon {
  font-size: 0.85rem;
  color: #64748b;
  width: 20px;
  text-align: center;
}

.ah-weather__daily-rain {
  width: 42px;
  font-size: 0.65rem;
  color: #3b82f6;
  white-space: nowrap;
}
.ah-weather__daily-rain i {
  font-size: 0.55rem;
  margin-right: 1px;
}

.ah-weather__daily-temps {
  margin-left: auto;
  display: flex;
  gap: 0.4rem;
  font-size: 0.75rem;
  font-weight: 500;
}

.ah-weather__daily-tmin {
  color: #94a3b8;
}

.ah-weather__daily-tmax {
  color: #1e293b;
  font-weight: 700;
}

/* =========================================================
   PROJECT WEATHER — Sidebar card context overrides
   weather.scss handles 95% of styles via ah-weather__* classes.
   This file only tweaks spacing/sizes for the sidebar card.
   ========================================================= */
.ah-project-weather {
  /* Header: tighter padding inside sidebar card */
  /* Hero temp: slightly smaller for sidebar */
  /* Divider: full-width in card (no horizontal margin) */
  /* Forecast row: tight top padding */
  /* Conditions icon: slightly smaller */
  /* Daily forecast: tight top padding */
}
.ah-project-weather .ah-weather__header {
  padding: 0 0 0.75rem;
}
.ah-project-weather .ah-weather__temp {
  font-size: 2rem;
}
.ah-project-weather .ah-weather__divider {
  margin: 0;
}
.ah-project-weather .ah-weather__forecast {
  padding: 0.75rem 0 0;
}
.ah-project-weather .ah-weather__conditions-icon {
  font-size: 1.5rem;
}
.ah-project-weather .ah-weather__daily {
  padding: 0.75rem 0 0;
}

/* Loading spinner for initial fetch */
.ah-weather-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem 0;
  color: #a0a0a8;
  font-size: 0.8125rem;
  gap: 0.5rem;
}
.ah-weather-loading i {
  animation: ah-weather-loading-spin 1s linear infinite;
  font-size: 1rem;
}

@keyframes ah-weather-loading-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
/* Upload d'images - Drag & Drop */
.image-upload-container {
  margin: 20px 0;
}

.image-dropzone {
  border: 2px dashed #d1b3d8;
  border-radius: 0.875rem;
  padding: 40px;
  text-align: center;
  background-color: #fafafa;
  transition: all 0.15s ease;
  cursor: pointer;
}

.image-dropzone:hover:not(.disabled) {
  border-color: #c9a5d0;
  background-color: #f9f3f9;
}

.image-dropzone.dragover {
  border-color: #890382;
  background-color: #f3eaf6;
  transform: scale(1.02);
}

.image-dropzone.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  background-color: #edf2f7;
}

.dropzone-icon {
  font-size: 48px;
  color: #a0aec0;
  margin-bottom: 16px;
}

.dropzone-text {
  font-size: 16px;
  color: #4a5568;
  margin-bottom: 8px;
}

.dropzone-hint {
  font-size: 13px;
  color: #718096;
}

.image-preview-container {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 16px;
  margin-top: 20px;
}

.image-preview-item {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e2e8f0;
  transition: transform 0.2s;
}

.image-preview-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.image-preview-item img {
  width: 100%;
  height: 150px;
  object-fit: cover;
}

.image-preview-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.2s;
}

.image-preview-item:hover .image-preview-overlay {
  opacity: 1;
}

.image-preview-info {
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.image-preview-info small {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.image-upload-error {
  background-color: #fff5f5;
  border: 1px solid #feb2b2;
  color: #c53030;
  padding: 12px;
  border-radius: 4px;
  margin-top: 12px;
  display: none;
}

/* Animations */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
.image-preview-item {
  animation: fadeIn 0.3s ease;
}

/* ====================================================================
   PROJECT SHOW - STYLE COREUI HARMONISÉ
   Compatible avec @coreui/coreui/scss/coreui
   ==================================================================== */
/* ====================================================================
   VARIABLES COREUI (utiliser les existantes)
   ==================================================================== */
/* Pas de redéfinition de couleurs, on utilise les variables CoreUI existantes :
   - var(--cui-primary)
   - var(--cui-secondary)
   - var(--cui-success)
   - var(--cui-danger)
   - var(--cui-body-bg) = #f6f7fb
   - var(--cui-border-color)
*/
/* ====================================================================
   BOUTONS - Style CoreUI
   ==================================================================== */
/* On utilise les classes CoreUI existantes mais on peut les étendre */
/* Bouton avec style CoreUI par défaut */
.btn-project {
  font-weight: 500;
  transition: all 0.15s ease-in-out;
}

/* Pour harmoniser avec les dropdowns CoreUI */
.dropdown-menu-project {
  border: 1px solid var(--cui-border-color, rgba(0, 0, 0, 0.125));
  border-radius: 0.5rem;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.08);
}

.dropdown-item-project {
  transition: background-color 0.15s ease-in-out;
}

.dropdown-item-project:hover {
  background-color: var(--cui-body-bg, #f6f7fb);
}

/* ====================================================================
   CARTES - Style CoreUI
   ==================================================================== */
.card-project {
  background: #fff;
  border: 0;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.04), 0 0.25rem 0.5rem rgba(0, 0, 0, 0.04);
  border-radius: 0.5rem;
  transition: box-shadow 0.15s ease-in-out;
}

.card-project:hover {
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.06), 0 0.5rem 1rem rgba(0, 0, 0, 0.08);
}

.card-project-header {
  background-color: var(--cui-body-bg, #f6f7fb);
  padding: 0.75rem 1rem;
  font-weight: 600;
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
  border-radius: 0.5rem 0.5rem 0 0;
}

/* ====================================================================
   ACTIONS RAPIDES - Style CoreUI
   ==================================================================== */
.project-actions-header {
  background-color: var(--cui-primary);
  color: #fff;
  padding: 0.75rem 1rem;
  border-radius: 0.5rem 0.5rem 0 0;
  font-weight: 600;
  font-size: 0.875rem;
}

.project-action-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  background: #fff;
  border: 1px solid var(--cui-border-color, rgba(0, 0, 0, 0.125));
  border-radius: 0.375rem;
  color: var(--cui-body-color);
  text-decoration: none;
  transition: all 0.15s ease-in-out;
  font-weight: 500;
}

.project-action-item:hover {
  background-color: var(--cui-body-bg, #f6f7fb);
  color: var(--cui-body-color);
  border-color: var(--cui-primary);
  text-decoration: none;
}

.project-action-item:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.project-action-item i {
  opacity: 0.7;
}

.project-action-item:hover i {
  opacity: 1;
}

/* ====================================================================
   BADGES - Style CoreUI harmonisé
   ==================================================================== */
.badge-project {
  font-weight: 500;
  padding: 0.35rem 0.75rem;
  font-size: 0.875rem;
  border-radius: 0.375rem;
}

/* Badge compteur - style CoreUI chat */
.badge-project-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  height: 1.25rem;
  padding: 0.15rem 0.5rem;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
  border-radius: 999px;
  background: var(--cui-primary);
  color: #fff;
  box-shadow: 0 4px 14px rgba(13, 110, 253, 0.28);
}

/* ====================================================================
   ONGLETS - Style CoreUI
   ==================================================================== */
.nav-tabs-project {
  border-bottom: 1px solid var(--cui-border-color, rgba(0, 0, 0, 0.125));
}

.nav-tabs-project .nav-link {
  color: var(--cui-body-color);
  border: none;
  border-bottom: 2px solid transparent;
  padding: 0.75rem 1.25rem;
  font-weight: 500;
  transition: all 0.15s ease-in-out;
}

.nav-tabs-project .nav-link:hover {
  border-bottom-color: var(--cui-border-color);
  color: var(--cui-primary);
}

.nav-tabs-project .nav-link.active {
  color: var(--cui-primary);
  border-bottom-color: var(--cui-primary);
  background-color: transparent;
}

/* Badge dans les onglets */
.nav-tabs-project .badge {
  margin-left: 0.5rem;
}

/* ====================================================================
   PROGRESSION - Style CoreUI
   ==================================================================== */
.progress-project {
  height: 8px;
  background-color: var(--cui-body-bg, #f6f7fb);
  border-radius: 0.375rem;
  overflow: hidden;
}

.progress-project .progress-bar {
  background-color: var(--cui-success);
  transition: width 0.6s ease;
}

/* ====================================================================
   STATES & FOCUS - Accessibilité
   ==================================================================== */
/* Focus visible pour l'accessibilité */
.btn:focus-visible,
.project-action-item:focus-visible,
.nav-link:focus-visible {
  outline: 2px solid var(--cui-primary);
  outline-offset: 2px;
}

/* ====================================================================
   RESPONSIVE
   ==================================================================== */
@media (max-width: 768px) {
  .project-action-item {
    font-size: 0.9rem;
    padding: 0.6rem 0.8rem;
  }
  .nav-tabs-project .nav-link {
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
  }
}
/* ====================================================================
   ANIMATIONS SUBTILES (CoreUI style)
   ==================================================================== */
@keyframes fadeInProject {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.fade-in-project {
  animation: fadeInProject 0.3s ease;
}

/* ====================================================================
   UTILITAIRES SPÉCIFIQUES
   ==================================================================== */
/* Avatar style CoreUI */
.avatar-project {
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--cui-body-bg, #f6f7fb);
  color: var(--cui-body-color);
}

/* Info window dans carte */
.info-label {
  color: var(--cui-secondary-color, #6c757d);
  font-size: 0.875rem;
  font-weight: 500;
  margin-bottom: 0.25rem;
}

/* Séparateur léger */
.separator-light {
  border-top: 1px solid rgba(0, 0, 0, 0.04);
  margin: 1rem 0;
}

/* ====================================================================
   PRINT
   ==================================================================== */
@media print {
  .project-action-item,
  .project-actions-header,
  .btn {
    display: none !important;
  }
  .card-project {
    box-shadow: none;
    border: 1px solid #000;
  }
}
/* ============================================================
   TASKS — ArchiHub task management styles
   Uses global .ah-* classes from dashboard_brand.scss / _dashboard.scss
   Only task-specific styles remain here
   ============================================================ */
/* --- Task Header Count Pill --- */
.ah-task-header__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  height: 1.5rem;
  padding: 0 0.375rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 700;
  background: rgba(137, 3, 130, 0.08);
  color: #890382;
  vertical-align: middle;
}

/* --- Task-specific table micro-styles --- */
.ah-task-table__title {
  font-weight: 600;
  color: #1e1e1e;
  cursor: pointer;
}
.ah-task-table__title:hover {
  color: #890382;
}

.ah-task-table__date {
  font-variant-numeric: tabular-nums;
  color: #717171;
}
.ah-task-table__date--overdue {
  color: #E11D5B;
  font-weight: 600;
}

/* --- Badges (Status & Priority) — color vars only, structure from .ah-badge --- */
.ah-task-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.ah-task-badge i {
  font-size: 0.625rem;
}

.ah-task-badge--pending {
  --pill-bg: rgba(245,158,11,.1);
  --pill-fg: #b45309;
}

.ah-task-badge--in_progress {
  --pill-bg: rgba(14,165,233,.1);
  --pill-fg: #0369a1;
}

.ah-task-badge--completed {
  --pill-bg: rgba(16,185,129,.1);
  --pill-fg: #047857;
}

.ah-task-badge--cancelled {
  --pill-bg: rgba(156,163,175,.1);
  --pill-fg: #6b7280;
}

.ah-task-badge--low {
  --pill-bg: rgba(156,163,175,.1);
  --pill-fg: #6b7280;
}

.ah-task-badge--medium {
  --pill-bg: rgba(14,165,233,.1);
  --pill-fg: #0369a1;
}

.ah-task-badge--high {
  --pill-bg: rgba(245,158,11,.1);
  --pill-fg: #b45309;
}

.ah-task-badge--urgent {
  --pill-bg: rgba(225,29,91,.1);
  --pill-fg: #be123c;
}

/* --- Kanban Board --- */
.ah-task-kanban {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  padding-bottom: 0.5rem;
  min-height: 400px;
}

.ah-task-kanban__column {
  flex: 1 1 0%;
  min-width: 260px;
  max-width: 340px;
  background: #f6f7fb;
  border-radius: 0.75rem;
  border: 1px solid rgba(0, 0, 0, 0.04);
  padding: 0.75rem;
  display: flex;
  flex-direction: column;
}

.ah-task-kanban__column-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.25rem 0.75rem;
  font-weight: 600;
  font-size: 0.8125rem;
  color: #1e1e1e;
}

.ah-task-kanban__status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

.ah-task-kanban__count {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  height: 1.25rem;
  padding: 0 0.25rem;
  border-radius: 999px;
  font-size: 0.625rem;
  font-weight: 700;
  background: rgba(0, 0, 0, 0.06);
  color: #717171;
}

.ah-task-kanban__cards {
  flex: 1;
  min-height: 60px;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.ah-task-kanban__card {
  background: #fff;
  border-radius: 0.625rem;
  padding: 0.75rem;
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.03);
  cursor: grab;
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.ah-task-kanban__card:hover {
  transform: translateY(-1px);
  box-shadow: 0 0 0 1px rgba(137, 3, 130, 0.06), 0 4px 16px rgba(137, 3, 130, 0.08);
}
.ah-task-kanban__card.sortable-ghost {
  opacity: 0.4;
}
.ah-task-kanban__card.sortable-drag {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.ah-task-kanban__card-title {
  font-weight: 600;
  font-size: 0.8125rem;
  color: #1e1e1e;
  margin-bottom: 0.375rem;
  line-height: 1.3;
  cursor: pointer;
}
.ah-task-kanban__card-title:hover {
  color: #890382;
}

.ah-task-kanban__card-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.6875rem;
  color: #a0a0a8;
  flex-wrap: wrap;
}

.ah-task-kanban__card-due.overdue {
  color: #E11D5B;
  font-weight: 600;
}

/* --- Calendar View --- */
.ah-task-calendar {
  width: 100%;
}

.ah-task-calendar__nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.ah-task-calendar__month {
  font-family: "DM Sans", system-ui, sans-serif;
  font-size: 1.125rem;
  font-weight: 600;
}

.ah-task-calendar__picker {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.ah-task-calendar__select {
  font-family: "DM Sans", system-ui, sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  color: #1e1e1e;
  background: #f6f7fb;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 0.5rem;
  padding: 0.375rem 0.75rem 0.375rem 0.5rem;
  cursor: pointer;
  transition: all 0.15s ease;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2710%27 height=%276%27%3E%3Cpath d=%27M0 0l5 6 5-6z%27 fill=%27%23717171%27/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.5rem center;
  padding-right: 1.5rem;
}
.ah-task-calendar__select:hover {
  border-color: rgba(137, 3, 130, 0.3);
  background-color: #fff;
}
.ah-task-calendar__select:focus {
  outline: none;
  border-color: #890382;
  box-shadow: 0 0 0 2px rgba(137, 3, 130, 0.1);
}

.ah-task-calendar__today-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 0.5rem;
  color: #717171;
  font-size: 0.875rem;
  text-decoration: none;
  transition: all 0.15s ease;
}
.ah-task-calendar__today-btn:hover {
  background: rgba(137, 3, 130, 0.08);
  color: #890382;
}

.ah-task-calendar__grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 1px;
  background: #eee;
  border-radius: 0.5rem;
  overflow: hidden;
}

.ah-task-calendar__day-header {
  padding: 0.5rem;
  text-align: center;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  color: #717171;
  background: #f6f7fb;
}

.ah-task-calendar__day {
  min-height: 90px;
  padding: 0.375rem;
  background: #fff;
  font-size: 0.75rem;
  position: relative;
  display: flex;
  flex-direction: column;
}
.ah-task-calendar__day.other-month {
  background: #fafafa;
  color: #ccc;
}
.ah-task-calendar__day.other-month .ah-task-calendar__add-bar {
  display: none;
}
.ah-task-calendar__day.today {
  background: rgba(137, 3, 130, 0.03);
}
.ah-task-calendar__day:hover .ah-task-calendar__add-bar {
  opacity: 1;
  transform: translateY(0);
}

.ah-task-calendar__add-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  margin-top: auto;
  padding: 0.25rem 0.375rem;
  border: 1px dashed rgba(137, 3, 130, 0.2);
  border-radius: 0.25rem;
  background: transparent;
  color: #a0a0a8;
  font-size: 0.625rem;
  font-weight: 500;
  cursor: pointer;
  opacity: 0;
  transform: translateY(2px);
  transition: all 0.15s ease;
}
.ah-task-calendar__add-bar i {
  font-size: 0.5625rem;
}
.ah-task-calendar__add-bar:hover {
  background: rgba(137, 3, 130, 0.06);
  border-color: rgba(137, 3, 130, 0.35);
  color: #890382;
}

.ah-task-calendar__day-num {
  font-weight: 600;
  font-size: 0.75rem;
  margin-bottom: 0.25rem;
}
.today .ah-task-calendar__day-num {
  color: #890382;
}

.ah-task-calendar__day-tasks {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.ah-task-calendar__task-dot {
  display: block;
  padding: 1px 4px;
  border-radius: 3px;
  font-size: 0.625rem;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
}
.ah-task-calendar__task-dot:hover {
  opacity: 0.8;
}

/* --- Planning month calendar: continuous multi-day bars --- */
.ah-cal {
  display: flex;
  flex-direction: column;
  gap: 1px;
  background: #eee;
  border-radius: 0.5rem;
  overflow: hidden;
}

.ah-cal__headers {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 1px;
}

.ah-cal__header {
  padding: 0.5rem;
  text-align: center;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  color: #717171;
  background: #f6f7fb;
}

.ah-cal__week {
  position: relative;
}

.ah-cal__days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 1px;
}

.ah-cal__day {
  min-height: calc(58px + var(--lanes, 1) * 22px);
  background: #fff;
  padding: 0.25rem 0.375rem;
  font-size: 0.75rem;
  display: flex;
  flex-direction: column;
}
.ah-cal__day.other-month {
  background: #fafafa;
}
.ah-cal__day.other-month .ah-cal__day-num {
  color: #ccc;
}
.ah-cal__day.other-month .ah-cal__add {
  display: none;
}
.ah-cal__day.today {
  background: rgba(137, 3, 130, 0.04);
}
.ah-cal__day:hover .ah-cal__add {
  opacity: 1;
  transform: translateY(0);
}

.ah-cal__day-num {
  font-weight: 600;
  font-size: 0.75rem;
  text-align: right;
  color: #444;
}
.today .ah-cal__day-num {
  color: #890382;
}

.ah-cal__add {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  padding: 0.2rem 0.375rem;
  border: 1px dashed rgba(137, 3, 130, 0.2);
  border-radius: 0.25rem;
  background: transparent;
  color: #a0a0a8;
  font-size: 0.625rem;
  font-weight: 500;
  cursor: pointer;
  opacity: 0;
  transform: translateY(2px);
  transition: all 0.15s ease;
}
.ah-cal__add i {
  font-size: 0.5625rem;
}
.ah-cal__add:hover {
  background: rgba(137, 3, 130, 0.06);
  border-color: rgba(137, 3, 130, 0.35);
  color: #890382;
}

.ah-cal__bars {
  position: absolute;
  top: 26px;
  right: 0;
  bottom: 4px;
  left: 0;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-auto-rows: 20px;
  column-gap: 1px;
  row-gap: 2px;
  align-content: start;
  pointer-events: none;
}

.ah-cal-bar {
  pointer-events: auto;
  display: flex;
  align-items: center;
  gap: 2px;
  min-width: 0;
  height: 18px;
  margin: 0 2px;
  padding: 0 6px;
  border-radius: 4px;
  font-size: 0.625rem;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  overflow: hidden;
  white-space: nowrap;
  cursor: pointer;
  transition: filter 0.15s ease;
}
.ah-cal-bar:hover {
  filter: brightness(0.93);
}
.ah-cal-bar.is-cont-left {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  margin-left: 0;
}
.ah-cal-bar.is-cont-right {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  margin-right: 0;
}
.ah-cal-bar strong {
  font-weight: 700;
}

.ah-cal-bar__label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ah-cal-bar__cont {
  flex: none;
  font-size: 0.5rem;
  opacity: 0.85;
}

/* --- Calendar Mode Toggle --- */
.ah-task-calendar__modes {
  display: flex;
  gap: 0.25rem;
  padding: 0.25rem;
  background: #f6f7fb;
  border-radius: 0.5rem;
}

.ah-task-calendar__mode-btn {
  padding: 0.375rem 0.75rem;
  border-radius: 0.375rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #717171;
  text-decoration: none;
  transition: all 0.15s ease;
}
.ah-task-calendar__mode-btn:hover {
  color: #1e1e1e;
  background: rgba(255, 255, 255, 0.7);
}
.ah-task-calendar__mode-btn.active {
  color: #890382;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  font-weight: 600;
}

.ah-task-calendar__label {
  font-family: "DM Sans", system-ui, sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  color: #1e1e1e;
  white-space: nowrap;
}

/* --- Calendar Day Header Today --- */
.ah-task-calendar__day-header.today {
  color: #890382;
  font-weight: 700;
}

.ah-task-calendar__day-header-num {
  font-weight: 700;
}

/* --- Week View --- */
.ah-task-calendar__grid--week {
  grid-template-rows: auto 1fr;
}

.ah-task-calendar__week-col {
  min-height: 300px;
  padding: 0.5rem;
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}
.ah-task-calendar__week-col.today {
  background: rgba(137, 3, 130, 0.03);
}
.ah-task-calendar__week-col .ah-task-calendar__add-bar {
  margin-top: auto;
}
.ah-task-calendar__week-col:hover .ah-task-calendar__add-bar {
  opacity: 1;
  transform: translateY(0);
}

.ah-task-calendar__week-card {
  padding: 0.5rem;
  border-radius: 0.375rem;
  background: #f6f7fb;
  cursor: pointer;
  transition: all 0.12s ease;
}
.ah-task-calendar__week-card:hover {
  background: rgba(137, 3, 130, 0.06);
  transform: translateY(-1px);
}

.ah-task-calendar__week-card-title {
  font-size: 0.75rem;
  font-weight: 600;
  color: #1e1e1e;
  margin-bottom: 0.25rem;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ah-task-calendar__week-card-meta {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.625rem;
}

/* ─── Task Modal ─── */
.ah-task-modal .modal-content {
  border-radius: 1rem;
  border: 0;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.18);
}

.ah-task-modal__header {
  padding: 1.5rem 1.5rem 1.25rem;
  background: linear-gradient(135deg, #faf8fb 0%, #fff 80%);
  border-bottom: 1px solid rgba(137, 3, 130, 0.08);
  position: relative;
}
.ah-task-modal__header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #890382, #b040a8, #e11d5b);
}

.ah-task-modal__title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1e1e1e;
  line-height: 1.3;
  margin: 0;
  word-break: break-word;
}

.ah-task-modal__close {
  margin-top: -0.25rem;
  background-size: 0.75em;
  opacity: 0.5;
}
.ah-task-modal__close:hover {
  opacity: 1;
}

.ah-task-modal__project-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.7rem;
  font-weight: 600;
  color: #890382;
  background: rgba(137, 3, 130, 0.08);
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  transition: background 0.15s;
}
.ah-task-modal__project-chip i {
  font-size: 0.7rem;
}
.ah-task-modal__project-chip:hover:not(.ah-task-modal__project-chip--muted) {
  background: rgba(137, 3, 130, 0.15);
}
.ah-task-modal__project-chip--muted {
  color: #94a3b8;
  background: rgba(148, 163, 184, 0.1);
}

.ah-task-modal__body {
  padding: 1.5rem;
  background: #fcfcfd;
}

/* Tabs — underline pill style */
.ah-task-modal__tabs-wrapper {
  border-bottom: 1px solid #eef1f5;
  margin: -1.5rem -1.5rem 1.5rem;
  padding: 0 1.5rem;
}

.ah-task-modal__tabs {
  border-bottom: 0;
  gap: 0.25rem;
}
.ah-task-modal__tabs .nav-link {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #64748b;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  padding: 0.75rem 1rem;
  background: none;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  transition: color 0.15s, border-color 0.15s;
}
.ah-task-modal__tabs .nav-link:hover {
  color: #890382;
  background: none;
}
.ah-task-modal__tabs .nav-link.active {
  color: #890382;
  background: none;
  border-bottom-color: #890382;
}
.ah-task-modal__tabs .nav-link i {
  font-size: 0.9rem;
}

.ah-task-modal__tab-count {
  background: #890382;
  color: #fff;
  font-size: 0.6rem;
  font-weight: 700;
  padding: 0.1rem 0.4rem;
  border-radius: 999px;
  margin-left: 0.15rem;
  min-width: 18px;
  text-align: center;
}

/* Info grid (reused from project show) */
.ah-task-modal .ah-info-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem 1.25rem;
  padding: 1rem 1.25rem;
  background: #fff;
  border: 1px solid #eef1f5;
  border-radius: 0.75rem;
}

.ah-task-modal .ah-info-item__label {
  font-size: 0.6875rem;
  font-weight: 600;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 0.35rem;
}

.ah-task-modal .ah-info-item__value {
  font-size: 0.875rem;
  color: #1e1e1e;
  font-weight: 500;
}

/* Assigned-to user chip */
.ah-task-modal__user-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.ah-task-modal__user-avatar {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: linear-gradient(135deg, #890382, #b040a8);
  color: #fff;
  font-size: 0.65rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Description block */
.ah-task-modal__description {
  padding: 1rem 1.25rem;
  background: #fff;
  border: 1px solid #eef1f5;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.65;
  color: #334155;
}
.ah-task-modal__description p:last-child {
  margin-bottom: 0;
}
.ah-task-modal__description a {
  color: #890382;
}

/* Attachments list */
.ah-task-modal__attachments {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.ah-task-modal__attachment {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 0.65rem 0.85rem;
  background: #fff;
  border: 1px solid #eef1f5;
  border-radius: 0.625rem;
  transition: border-color 0.15s, box-shadow 0.15s, transform 0.12s;
}
.ah-task-modal__attachment:hover {
  border-color: rgba(137, 3, 130, 0.3);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  transform: translateY(-1px);
}

.ah-task-modal__attachment-icon {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(137, 3, 130, 0.08), rgba(176, 64, 168, 0.08));
  border-radius: 0.5rem;
  color: #890382;
  font-size: 1.15rem;
  flex-shrink: 0;
}

.ah-task-modal__attachment-info {
  flex: 1;
  min-width: 0;
}

.ah-task-modal__attachment-name {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1e1e1e;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ah-task-modal__attachment-meta {
  font-size: 0.7rem;
  color: #94a3b8;
  margin-top: 2px;
}

.ah-task-modal__attachment-btn {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(137, 3, 130, 0.06);
  color: #890382;
  border-radius: 0.5rem;
  font-size: 0.95rem;
  text-decoration: none;
  flex-shrink: 0;
  transition: background 0.15s, transform 0.12s;
}
.ah-task-modal__attachment-btn:hover {
  background: #890382;
  color: #fff;
  transform: scale(1.05);
}

/* Empty state */
.ah-task-modal__empty {
  text-align: center;
  padding: 3rem 1rem;
  background: #fff;
  border: 1px dashed #e2e8f0;
  border-radius: 0.75rem;
}

.ah-task-modal__empty-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(137, 3, 130, 0.06), rgba(176, 64, 168, 0.06));
  border-radius: 50%;
  color: #890382;
  font-size: 1.5rem;
}

.ah-task-modal__empty-text {
  font-size: 0.95rem;
  font-weight: 600;
  color: #1e1e1e;
  margin-bottom: 0.25rem;
}

.ah-task-modal__empty-subtext {
  font-size: 0.8125rem;
  color: #94a3b8;
}

/* Footer */
.ah-task-modal__footer {
  padding: 1rem 1.5rem;
  background: #fcfcfd;
  border-top: 1px solid #eef1f5;
}

/* Responsive */
@media (max-width: 575px) {
  .ah-task-modal .ah-info-grid {
    grid-template-columns: 1fr;
  }
  .ah-task-modal__header {
    padding: 1.25rem 1.25rem 1rem;
  }
  .ah-task-modal__body {
    padding: 1.25rem;
  }
}
/* Dark mode */
[data-coreui-theme=dark] .ah-task-modal .modal-content {
  background: #1a1a1d;
}
[data-coreui-theme=dark] .ah-task-modal__header {
  background: linear-gradient(135deg, #16161a 0%, #1a1a1d 80%);
  border-bottom-color: rgba(176, 64, 168, 0.15);
}
[data-coreui-theme=dark] .ah-task-modal__title {
  color: #f5f5f7;
}
[data-coreui-theme=dark] .ah-task-modal__body {
  background: #131316;
}
[data-coreui-theme=dark] .ah-task-modal__tabs-wrapper {
  border-bottom-color: rgba(255, 255, 255, 0.06);
}
[data-coreui-theme=dark] .ah-task-modal__tabs .nav-link {
  color: #9ca3af;
}
[data-coreui-theme=dark] .ah-task-modal__tabs .nav-link:hover, [data-coreui-theme=dark] .ah-task-modal__tabs .nav-link.active {
  color: #b040a8;
  border-bottom-color: #b040a8;
}
[data-coreui-theme=dark] .ah-task-modal__tab-count {
  background: #b040a8;
}
[data-coreui-theme=dark] .ah-task-modal .ah-info-grid,
[data-coreui-theme=dark] .ah-task-modal__description,
[data-coreui-theme=dark] .ah-task-modal__attachment,
[data-coreui-theme=dark] .ah-task-modal__empty {
  background: #1a1a1d;
  border-color: rgba(255, 255, 255, 0.06);
}
[data-coreui-theme=dark] .ah-task-modal .ah-info-item__value {
  color: #e5e7eb;
}
[data-coreui-theme=dark] .ah-task-modal__attachment-name {
  color: #e5e7eb;
}
[data-coreui-theme=dark] .ah-task-modal__empty-text {
  color: #e5e7eb;
}
[data-coreui-theme=dark] .ah-task-modal__footer {
  background: #131316;
  border-top-color: rgba(255, 255, 255, 0.06);
}
[data-coreui-theme=dark] .ah-task-modal__description {
  border-left-color: #b040a8;
  color: #cbd5e1;
}

/* --- Task Summary (project show page) --- */
.ah-task-summary {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.ah-task-summary__stat {
  text-align: center;
  padding: 0.625rem 0.5rem;
  border-radius: 0.5rem;
  background: #faf8fb;
  transition: transform 0.12s ease;
}
.ah-task-summary__stat:hover {
  transform: translateY(-1px);
}

.ah-task-summary__value {
  font-family: "DM Sans", system-ui, sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.2;
}

.ah-task-summary__label {
  font-size: 0.6875rem;
  color: #a0a0a8;
  margin-top: 2px;
}

.ah-task-mini-list {
  display: flex;
  flex-direction: column;
}

.ah-task-mini-list__item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid #f6f7fb;
  font-size: 0.8125rem;
}
.ah-task-mini-list__item:last-child {
  border-bottom: 0;
}

.ah-task-mini-list__title {
  flex: 1;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* --- Empty State --- */
.ah-task-empty {
  text-align: center;
  padding: 3rem 1.5rem;
  color: #a0a0a8;
}

.ah-task-empty__icon {
  font-size: 2.5rem;
  margin-bottom: 0.75rem;
  opacity: 0.4;
}

.ah-task-empty__text {
  font-size: 0.875rem;
  margin-bottom: 1rem;
}

/* ─────────────────────────────────────────────────────────────
   GANTT CHART — Planning view
   ───────────────────────────────────────────────────────────── */
.ah-gantt-wrapper {
  min-height: 200px;
}

.ah-gantt {
  border-radius: 0.75rem;
  border: 1px solid rgba(0, 0, 0, 0.06);
  background: #fff;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.ah-gantt__inner {
  position: relative;
}

/* ── Header ── */
.ah-gantt__header {
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  background: #fafafa;
  position: sticky;
  top: 0;
  z-index: 10;
}

/* ── Months row ── */
.ah-gantt__months {
  position: relative;
  height: 28px;
  overflow: hidden;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.ah-gantt__month {
  position: absolute;
  top: 0;
  height: 28px;
  display: flex;
  align-items: center;
  padding: 0 0.65rem;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #1e1e1e;
  border-right: 1px solid rgba(0, 0, 0, 0.05);
  white-space: nowrap;
  overflow: hidden;
}

/* ── Weeks row ── */
.ah-gantt__weeks {
  position: relative;
  height: 28px;
  overflow: hidden;
}

.ah-gantt__week {
  position: absolute;
  top: 0;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.72rem;
  font-weight: 500;
  color: #717171;
  border-right: 1px solid rgba(0, 0, 0, 0.04);
  white-space: nowrap;
}
.ah-gantt__week--today {
  color: #890382;
  font-weight: 700;
  background: rgba(137, 3, 130, 0.06);
}

/* ── Body rows ── */
.ah-gantt__body {
  background: #fff;
}

.ah-gantt__row {
  display: flex;
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
  align-items: center;
}
.ah-gantt__row:last-child {
  border-bottom: 0;
}
.ah-gantt__row--group {
  background: #fafafa;
  border-bottom: 1px solid rgba(0, 0, 0, 0.07);
}
.ah-gantt__row--task:hover {
  background: rgba(137, 3, 130, 0.015);
}

/* ── Label column — sticky horizontally ── */
.ah-gantt__row-label {
  flex-shrink: 0;
  padding: 0 0.9rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #1e1e1e;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  border-right: 1px solid rgba(0, 0, 0, 0.06);
  height: 100%;
  display: flex;
  align-items: center;
  position: sticky;
  left: 0;
  z-index: 3;
  background: #fff;
}
.ah-gantt__row--group .ah-gantt__row-label {
  background: #fafafa;
}
.ah-gantt__row-label--group {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #890382;
}

/* ── Track (timeline area of each row) ── */
.ah-gantt__row-track {
  position: relative;
  flex-shrink: 0;
  /* Subtle vertical grid lines aligned on the column width (104px in month mode) */
  background-image: repeating-linear-gradient(to right, transparent, transparent 103px, rgba(0, 0, 0, 0.04) 103px, rgba(0, 0, 0, 0.04) 104px);
}

/* ── Nav bar ── */
.ah-gantt__nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.ah-gantt__nav-label {
  font-family: "DM Sans", system-ui, sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  color: #1e1e1e;
  white-space: nowrap;
}

/* ── Priority dot (label column) ── */
.ah-gantt__priority-dot {
  display: inline-block;
  flex-shrink: 0;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  margin-right: 0.5rem;
  box-shadow: 0 0 0 2px #fff;
}

.ah-gantt__row-label-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
}

/* ── Group label two-line stack (client on top, project below) ── */
.ah-gantt__row-label-stack {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  flex: 1;
  line-height: 1.15;
}
.ah-gantt__row-label-stack .ah-gantt__row-label-client,
.ah-gantt__row-label-stack .ah-gantt__row-label-project {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ah-gantt__row-label-stack .ah-gantt__row-label-project {
  font-size: 0.66rem;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  color: #8a8a8a;
}

/* ── Task bars ── */
.ah-gantt__bar {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  height: 30px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  padding: 0 0.65rem;
  cursor: grab;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), inset 0 -1px 0 rgba(0, 0, 0, 0.08);
  transition: filter 0.12s ease, box-shadow 0.12s ease, transform 0.12s ease;
  min-width: 8px;
  overflow: hidden;
  user-select: none;
}
.ah-gantt__bar:hover {
  filter: brightness(0.88);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}
.ah-gantt__bar.ah-gantt__bar--dragging {
  cursor: grabbing;
  filter: brightness(0.85);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  transition: none;
  z-index: 5;
}
.ah-gantt__bar.ah-gantt__bar--saving {
  opacity: 0.6;
  pointer-events: none;
}

.ah-gantt__bar-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: none;
  flex: 1;
  min-width: 0;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
  letter-spacing: 0.01em;
}

.ah-gantt__bar-handle {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 8px;
  cursor: ew-resize;
  z-index: 2;
}
.ah-gantt__bar-handle--left {
  left: 0;
}
.ah-gantt__bar-handle--right {
  right: 0;
}
.ah-gantt__bar-handle::after {
  content: "";
  position: absolute;
  top: 25%;
  bottom: 25%;
  left: 50%;
  transform: translateX(-50%);
  width: 2px;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 1px;
  opacity: 0;
  transition: opacity 0.12s ease;
}

.ah-gantt__bar:hover .ah-gantt__bar-handle::after {
  opacity: 1;
}

/* ── Tooltip ── */
.ah-gantt__tooltip {
  position: fixed;
  z-index: 9999;
  pointer-events: none;
  display: none;
  background: #1e1e1e;
  color: #fff;
  border-radius: 0.5rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.75rem;
  line-height: 1.6;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
  max-width: 260px;
  word-break: break-word;
}

.ah-gantt__tooltip-lbl {
  opacity: 0.6;
  font-size: 0.6875rem;
}

/* ── Mode buttons — full reset so <button> looks identical to <a> ── */
button.ah-task-calendar__mode-btn {
  border: 0;
  outline: 0;
  background: transparent;
  appearance: none;
  -webkit-appearance: none;
  padding: 0.375rem 0.75rem;
  border-radius: 0.375rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #717171;
  line-height: 1.5;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  vertical-align: middle;
  transition: all 0.15s ease;
}
button.ah-task-calendar__mode-btn:hover {
  color: #1e1e1e;
  background: rgba(255, 255, 255, 0.7);
}
button.ah-task-calendar__mode-btn.active {
  color: #890382;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  font-weight: 600;
}

/* ── Today vertical line ── */
.ah-gantt__today-line {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 2px;
  background: rgba(137, 3, 130, 0.45);
  z-index: 1;
  pointer-events: none;
}
.ah-gantt__today-line::before {
  content: "";
  position: absolute;
  top: 42px;
  bottom: 0;
  left: 0;
  width: 2px;
  background: inherit;
}

/* ── Dependency arrows overlay ── */
.ah-gantt__arrows {
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 2;
  overflow: visible;
}

.ah-gantt__arrow {
  fill: none;
  stroke: #64748b;
  stroke-width: 1.5;
  opacity: 0.85;
}

.ah-gantt__bar--cascade {
  outline: 1px dashed rgba(137, 3, 130, 0.6);
  outline-offset: 1px;
}

/* ── Task modal: dependencies block ── */
.ah-task-deps__list {
  list-style: none;
  padding: 0;
  margin: 0 0 0.5rem 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.ah-task-deps__item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 0.55rem;
  background: rgba(0, 0, 0, 0.025);
  border-radius: 0.375rem;
  font-size: 0.8125rem;
}

.ah-task-deps__title {
  font-weight: 500;
}

.ah-task-deps__date {
  margin-left: 0.25rem;
}

.ah-task-deps__add {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  margin-top: 0.25rem;
}

/* ─────────────────────────────────────────────────────────────
   END GANTT
   ───────────────────────────────────────────────────────────── */
/* --- Responsive --- */
@media (max-width: 768px) {
  .ah-task-kanban {
    flex-direction: column;
  }
  .ah-task-kanban__column {
    max-width: 100%;
  }
  .ah-task-summary {
    grid-template-columns: repeat(2, 1fr);
  }
  .ah-task-calendar__grid--week {
    grid-template-columns: 1fr;
  }
  .ah-task-calendar__week-col {
    min-height: auto;
  }
  .ah-task-calendar__nav {
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
  }
  .ah-task-calendar__nav > * {
    justify-content: center;
  }
  .ah-task-calendar__modes {
    justify-content: center;
  }
}
#taskViewModal .modal-dialog {
  max-width: 920px;
}

#taskViewModal .modal-content {
  border-radius: 1rem;
  border: 0;
  overflow: hidden;
  background: #fcfcfd;
}

#taskViewModal .modal-body,
#taskViewModal .modal-header,
#taskViewModal .modal-footer {
  padding: 0;
  border: 0;
}

.ah-task-view {
  display: flex;
  flex-direction: column;
  max-height: 90vh;
}

.ah-task-view__topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  background: #fff;
  border-bottom: 1px solid #eef1f5;
  position: relative;
}
.ah-task-view__topbar::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #890382, #b040a8, #e11d5b);
}

.ah-task-view__close {
  margin: 0;
  opacity: 0.55;
}
.ah-task-view__close:hover {
  opacity: 1;
}

.ah-task-view__project-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.7rem;
  font-weight: 600;
  color: #890382;
  background: rgba(137, 3, 130, 0.08);
  padding: 0.25rem 0.6rem;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.ah-task-view__project-chip i {
  font-size: 0.7rem;
}
.ah-task-view__project-chip:hover:not(.ah-task-view__project-chip--muted) {
  background: rgba(137, 3, 130, 0.15);
}
.ah-task-view__project-chip--muted {
  color: #94a3b8;
  background: rgba(148, 163, 184, 0.1);
}

.ah-task-view__created {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.72rem;
  color: #94a3b8;
  white-space: nowrap;
  margin-left: 0.5rem;
}
.ah-task-view__created strong {
  color: #64748b;
  font-weight: 600;
}

.ah-task-view__created-avatar {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #cbd5e1;
  color: #475569;
  font-size: 0.6rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 575px) {
  .ah-task-view__created-text {
    display: none;
  }
}
.ah-task-status-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.3rem 0.7rem 0.3rem 0.55rem;
  font-size: 0.8rem;
  font-weight: 600;
  border-radius: 999px;
  border: 0;
  cursor: pointer;
  transition: filter 0.15s;
}
.ah-task-status-chip::after {
  margin-left: 0.25rem;
  font-size: 0.6rem;
  opacity: 0.6;
}
.ah-task-status-chip:hover {
  filter: brightness(0.95);
}
.ah-task-status-chip .ah-task-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
  display: inline-block;
}

.ah-task-status-chip--pending {
  background: rgba(245, 158, 11, 0.12);
  color: #b45309;
}

.ah-task-status-chip--in_progress {
  background: rgba(14, 165, 233, 0.12);
  color: #0369a1;
}

.ah-task-status-chip--completed {
  background: rgba(16, 185, 129, 0.12);
  color: #047857;
}

.ah-task-status-chip--cancelled {
  background: rgba(156, 163, 175, 0.15);
  color: #6b7280;
}

.ah-task-status-option {
  display: flex !important;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8rem;
}
.ah-task-status-option .ah-task-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
}
.ah-task-status-option--pending .ah-task-status-dot {
  background: #b45309;
}
.ah-task-status-option--in_progress .ah-task-status-dot {
  background: #0369a1;
}
.ah-task-status-option--completed .ah-task-status-dot {
  background: #047857;
}
.ah-task-status-option--cancelled .ah-task-status-dot {
  background: #6b7280;
}

.ah-task-priority-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.3rem 0.7rem;
  font-size: 0.75rem;
  font-weight: 600;
  border-radius: 999px;
  border: 0;
  cursor: pointer;
}
.ah-task-priority-chip::after {
  margin-left: 0.2rem;
  font-size: 0.55rem;
  opacity: 0.55;
}
.ah-task-priority-chip i {
  font-size: 0.8rem;
}

.ah-task-priority-chip--low {
  background: rgba(156, 163, 175, 0.12);
  color: #6b7280;
}

.ah-task-priority-chip--medium {
  background: rgba(14, 165, 233, 0.12);
  color: #0369a1;
}

.ah-task-priority-chip--high {
  background: rgba(245, 158, 11, 0.12);
  color: #b45309;
}

.ah-task-priority-chip--urgent {
  background: rgba(225, 29, 91, 0.12);
  color: #be123c;
}

.ah-task-view__body {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 0;
  overflow: hidden;
  flex: 1;
  min-height: 0;
}

/* Form variant: no aside, single column */
.ah-task-view__body--form {
  grid-template-columns: 1fr;
}

.ah-task-view--form {
  display: flex;
  flex-direction: column;
  max-height: 90vh;
  overflow: hidden;
}

.ah-task-view__main {
  padding: 1.5rem;
  overflow-y: auto;
  min-height: 0;
}

.ah-task-view__aside {
  border-left: 1px solid #eef1f5;
  background: #fff;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.ah-task-view__title-wrap {
  margin-bottom: 1.25rem;
}

.ah-task-view__title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1e1e1e;
  line-height: 1.25;
  cursor: pointer;
  padding: 0.5rem 0.75rem;
  border-radius: 0.5rem;
  margin: -0.5rem -0.75rem 0;
  transition: background 0.12s;
  word-break: break-word;
}
.ah-task-view__title:hover {
  background: rgba(137, 3, 130, 0.04);
}

.ah-task-view__title-input {
  width: 100%;
  font-size: 1.5rem;
  font-weight: 700;
  color: #1e1e1e;
  padding: 0.5rem 0.75rem;
  border: 2px solid #890382;
  border-radius: 0.5rem;
  background: #fff;
  outline: none;
  line-height: 1.25;
}

.ah-task-view__meta-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.ah-task-meta__label {
  font-size: 0.65rem;
  font-weight: 700;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.35rem;
}

.ah-task-meta__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 0.7rem;
  font-size: 0.8rem;
  background: #fff;
  border: 1px solid #eef1f5;
  border-radius: 0.5rem;
  cursor: pointer;
  width: 100%;
  text-align: left;
}
.ah-task-meta__chip::after {
  margin-left: auto;
  font-size: 0.6rem;
  opacity: 0.5;
}
.ah-task-meta__chip:hover:not(.ah-task-meta__chip--static) {
  border-color: #890382;
  background: rgba(137, 3, 130, 0.03);
}
.ah-task-meta__chip--inline {
  cursor: default;
}
.ah-task-meta__chip--inline:hover {
  border-color: #eef1f5;
  background: #fff;
}
.ah-task-meta__chip--static {
  cursor: default;
  background: transparent;
  border-color: transparent;
  padding-left: 0;
}
.ah-task-meta__chip--static::after {
  display: none;
}

.ah-task-meta__avatar {
  width: 22px;
  height: 22px;
  min-width: 22px;
  border-radius: 50%;
  background: linear-gradient(135deg, #890382, #b040a8);
  color: #fff;
  font-size: 0.65rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.ah-task-meta__avatar--empty {
  background: #e2e8f0;
  color: #94a3b8;
}
.ah-task-meta__avatar--gray {
  background: #cbd5e1;
  color: #475569;
}

.ah-task-meta__date-input {
  flex: 1;
  min-width: 0;
  border: 0;
  outline: none;
  background: transparent;
  font-size: 0.8rem;
  color: inherit;
  cursor: pointer;
}

.ah-task-meta--full {
  grid-column: 1/-1;
}

.ah-task-address__text {
  flex: 1;
  min-width: 0;
  cursor: text;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ah-task-address__input {
  flex: 1;
  min-width: 0;
  border: 0;
  outline: none;
  background: transparent;
  font-size: 0.8rem;
  padding: 0;
  box-shadow: none;
  height: auto;
}

.ah-task-address__gps {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.15rem 0.5rem;
  font-size: 0.7rem;
  font-weight: 600;
  color: #890382;
  background: rgba(137, 3, 130, 0.08);
  border-radius: 999px;
  text-decoration: none;
  flex-shrink: 0;
}
.ah-task-address__gps:hover {
  background: rgba(137, 3, 130, 0.15);
  color: #890382;
}

/* Google Places suggestion dropdown must float above Bootstrap modal */
.pac-container {
  z-index: 1080 !important;
}

.ah-task-meta__overdue {
  font-size: 0.65rem;
  font-weight: 600;
  color: #be123c;
  background: rgba(225, 29, 91, 0.12);
  padding: 0.1rem 0.4rem;
  border-radius: 999px;
}

.ah-task-meta__menu {
  max-height: 240px;
  overflow-y: auto;
  min-width: 220px;
}

.ah-task-meta__user {
  display: flex !important;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8rem;
}

.ah-task-view__section {
  margin-bottom: 1.5rem;
}

.ah-task-view__section-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8rem;
  font-weight: 700;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin-bottom: 0.75rem;
}
.ah-task-view__section-header i {
  font-size: 0.9rem;
  color: #890382;
}

.ah-task-view__section-edit {
  background: transparent;
  border: 0;
  color: #890382;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
  padding: 0.2rem 0.5rem;
  border-radius: 0.35rem;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  cursor: pointer;
}
.ah-task-view__section-edit:hover {
  background: rgba(137, 3, 130, 0.08);
}
.ah-task-view__section-edit i {
  font-size: 0.8rem;
  color: inherit;
}

.ah-task-view__description {
  padding: 1rem 1.1rem;
  background: #fff;
  border: 1px solid #eef1f5;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.6;
  color: #334155;
  min-height: 140px;
  cursor: text;
}
.ah-task-view__description p:last-child {
  margin-bottom: 0;
}
.ah-task-view__description a {
  color: #890382;
}

.ah-task-view__description-edit .ql-toolbar.ql-snow {
  border: 1px solid #eef1f5;
  border-bottom: 0;
  border-radius: 0.5rem 0.5rem 0 0;
  background: #fcfcfd;
}
.ah-task-view__description-edit .ql-container.ql-snow {
  border: 1px solid #eef1f5;
  border-radius: 0 0 0.5rem 0.5rem;
  min-height: 180px;
  font-size: 0.875rem;
  line-height: 1.6;
  background: #fff;
}
.ah-task-view__description-edit .ql-editor {
  min-height: 180px;
  font-size: 0.875rem;
  line-height: 1.6;
}
.ah-task-view__description-edit .ql-editor.ql-blank::before {
  color: #94a3b8;
  font-style: normal;
}
.ah-task-view__description-edit .ql-editor:focus {
  outline: none;
}

.ah-task-view__attachments {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.ah-task-view__attachment {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 0.75rem;
  background: #fff;
  border: 1px solid #eef1f5;
  border-radius: 0.5rem;
  color: inherit;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.ah-task-view__attachment:hover {
  border-color: rgba(137, 3, 130, 0.3);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.ah-task-view__attachment-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex: 1;
  min-width: 0;
  text-decoration: none;
  color: inherit;
}

.ah-task-view__attachment-del {
  appearance: none;
  border: 0;
  background: transparent;
  color: #94a3b8;
  width: 28px;
  height: 28px;
  border-radius: 0.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.12s, color 0.12s;
  flex-shrink: 0;
}
.ah-task-view__attachment-del:hover {
  background: rgba(220, 38, 38, 0.08);
  color: #dc2626;
}

.ah-file-dropzone--uploading {
  opacity: 0.6;
  pointer-events: none;
}

.ah-task-view__attachment-icon {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(137, 3, 130, 0.08), rgba(176, 64, 168, 0.08));
  border-radius: 0.4rem;
  color: #890382;
  font-size: 1.05rem;
}

.ah-task-view__attachment-info {
  flex: 1;
  min-width: 0;
}

.ah-task-view__attachment-name {
  font-size: 0.85rem;
  font-weight: 600;
  color: #1e1e1e;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ah-task-view__attachment-meta {
  font-size: 0.7rem;
  color: #94a3b8;
}

.ah-task-view__attachment-dl {
  color: #890382;
  font-size: 0.9rem;
}

.ah-task-view__aside-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 1.25rem;
  font-size: 0.85rem;
  font-weight: 700;
  color: #1e1e1e;
  border-bottom: 1px solid #eef1f5;
}
.ah-task-view__aside-header i {
  color: #890382;
}

.ah-task-view__comments-count {
  margin-left: auto;
  background: rgba(137, 3, 130, 0.1);
  color: #890382;
  font-size: 0.7rem;
  font-weight: 700;
  padding: 0.1rem 0.45rem;
  border-radius: 999px;
}

.ah-task-comment-form {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #eef1f5;
}

.ah-task-comment-form__input {
  width: 100%;
  min-height: 72px;
  max-height: 200px;
  overflow-y: auto;
  border: 1px solid #e2e8f0;
  border-radius: 0.5rem;
  padding: 0.65rem 0.8rem;
  font-size: 0.875rem;
  line-height: 1.5;
  font-family: inherit;
  outline: none;
  background: #fff;
  color: #1e1e1e;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.ah-task-comment-form__input:focus, .ah-task-comment-form__input:focus-visible {
  border-color: #890382;
  box-shadow: 0 0 0 3px rgba(137, 3, 130, 0.08);
}
.ah-task-comment-form__input:empty::before {
  content: attr(data-placeholder);
  color: #94a3b8;
  pointer-events: none;
}

.ah-mention-chip {
  display: inline-block;
  padding: 1px 0.45rem;
  margin: 0 1px;
  font-size: 0.8rem;
  font-weight: 600;
  color: #890382;
  background: rgba(137, 3, 130, 0.12);
  border-radius: 0.3rem;
  user-select: none;
  cursor: default;
  vertical-align: baseline;
  line-height: 1.4;
}
.ah-mention-chip:hover {
  background: rgba(137, 3, 130, 0.2);
}

.ah-task-comment-form__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 0.5rem;
}
.ah-task-comment-form__footer code {
  background: rgba(137, 3, 130, 0.08);
  color: #890382;
  padding: 1px 4px;
  border-radius: 3px;
  font-size: 0.75rem;
}

.ah-task-comments {
  flex: 1;
  overflow-y: auto;
  padding: 0.5rem 0;
  min-height: 0;
}

.ah-task-comments__empty {
  text-align: center;
  padding: 2.5rem 1.25rem;
  color: #94a3b8;
  font-size: 0.85rem;
}
.ah-task-comments__empty i {
  display: block;
  font-size: 2rem;
  margin-bottom: 0.5rem;
  color: #cbd5e1;
}
.ah-task-comments__empty small {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.75rem;
}
.ah-task-comments__empty code {
  background: rgba(137, 3, 130, 0.08);
  color: #890382;
  padding: 1px 4px;
  border-radius: 3px;
}

.ah-task-comment {
  display: flex;
  gap: 0.6rem;
  padding: 0.75rem 1.25rem;
  border-bottom: 1px solid #f5f6f8;
}
.ah-task-comment:last-child {
  border-bottom: 0;
}

.ah-task-comment__avatar {
  width: 30px;
  height: 30px;
  min-width: 30px;
  border-radius: 50%;
  background: linear-gradient(135deg, #890382, #b040a8);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ah-task-comment__body {
  flex: 1;
  min-width: 0;
}

.ah-task-comment__header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.15rem;
}

.ah-task-comment__author {
  font-size: 0.8rem;
  font-weight: 600;
  color: #1e1e1e;
}

.ah-task-comment__date {
  font-size: 0.7rem;
  color: #94a3b8;
  margin-left: auto;
}

.ah-task-comment__delete {
  background: transparent;
  border: 0;
  color: #94a3b8;
  padding: 2px 4px;
  border-radius: 3px;
  font-size: 0.7rem;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.15s, color 0.15s;
}
.ah-task-comment__delete:hover {
  color: #be123c;
  background: rgba(225, 29, 91, 0.08);
}

.ah-task-comment:hover .ah-task-comment__delete {
  opacity: 1;
}

.ah-task-comment__content {
  font-size: 0.85rem;
  line-height: 1.55;
  color: #334155;
  word-wrap: break-word;
}
.ah-task-comment__content p {
  margin: 0 0 0.35rem;
}
.ah-task-comment__content p:last-child {
  margin-bottom: 0;
}

.ah-mention {
  display: inline-block;
  padding: 0 0.3rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: #890382;
  background: rgba(137, 3, 130, 0.1);
  border-radius: 0.25rem;
  text-decoration: none;
  margin: 0 1px;
}
.ah-mention:hover {
  background: rgba(137, 3, 130, 0.2);
  color: #5e0259;
}

.ah-task-view__footer {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.85rem 1.25rem;
  background: #fff;
  border-top: 1px solid #eef1f5;
}

.tribute-container {
  z-index: 20000 !important;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 0.5rem;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
.tribute-container ul {
  list-style: none;
  padding: 0.25rem 0;
  margin: 0;
  max-height: 260px;
  overflow-y: auto;
}
.tribute-container li {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.45rem 0.75rem;
  cursor: pointer;
  font-size: 0.8rem;
  transition: background 0.12s;
}
.tribute-container li.highlight, .tribute-container li:hover {
  background: rgba(137, 3, 130, 0.08);
}
.tribute-container .tribute-avatar {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
  font-size: 0.65rem;
  background: linear-gradient(135deg, #890382, #b040a8);
}
.tribute-container .tribute-avatar--client {
  background: linear-gradient(135deg, #3b82f6, #2563eb);
}
.tribute-container .tribute-name {
  font-weight: 500;
  color: #1e1e1e;
}
.tribute-container .tribute-role {
  margin-left: auto;
  font-size: 0.65rem;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.tribute-container .tribute-nomatch {
  display: block;
  padding: 0.75rem 1rem;
  color: #94a3b8;
  font-size: 0.8rem;
  font-style: italic;
}

@media (max-width: 767px) {
  #taskViewModal .modal-dialog {
    max-width: 100%;
    margin: 0;
    height: 100vh;
  }
  #taskViewModal .modal-content {
    height: 100vh;
    border-radius: 0;
  }
  .ah-task-view {
    max-height: 100vh;
  }
  .ah-task-view__body {
    grid-template-columns: 1fr;
  }
  .ah-task-view__aside {
    border-left: 0;
    border-top: 1px solid #eef1f5;
    max-height: 50vh;
  }
  .ah-task-view__meta-grid {
    grid-template-columns: 1fr;
  }
}
[data-coreui-theme=dark] #taskViewModal .modal-content {
  background: #131316;
}
[data-coreui-theme=dark] .ah-task-view__topbar {
  background: #1a1a1d;
  border-bottom-color: rgba(255, 255, 255, 0.06);
}
[data-coreui-theme=dark] .ah-task-view__main {
  background: #131316;
}
[data-coreui-theme=dark] .ah-task-view__aside {
  background: #1a1a1d;
  border-left-color: rgba(255, 255, 255, 0.06);
}
[data-coreui-theme=dark] .ah-task-view__title {
  color: #e5e7eb;
}
[data-coreui-theme=dark] .ah-task-view__title:hover {
  background: rgba(176, 64, 168, 0.08);
}
[data-coreui-theme=dark] .ah-task-meta__chip,
[data-coreui-theme=dark] .ah-task-view__description,
[data-coreui-theme=dark] .ah-task-view__attachment,
[data-coreui-theme=dark] .ah-task-comment-form__input {
  background: #1a1a1d;
  border-color: rgba(255, 255, 255, 0.06);
  color: #e5e7eb;
}
[data-coreui-theme=dark] .ah-task-view__description {
  color: #cbd5e1;
}
[data-coreui-theme=dark] .ah-task-view__aside-header {
  color: #e5e7eb;
  border-bottom-color: rgba(255, 255, 255, 0.06);
}
[data-coreui-theme=dark] .ah-task-comment-form {
  border-bottom-color: rgba(255, 255, 255, 0.06);
}
[data-coreui-theme=dark] .ah-task-comment {
  border-bottom-color: rgba(255, 255, 255, 0.04);
}
[data-coreui-theme=dark] .ah-task-comment__author {
  color: #e5e7eb;
}
[data-coreui-theme=dark] .ah-task-comment__content {
  color: #cbd5e1;
}
[data-coreui-theme=dark] .ah-task-view__footer {
  background: #1a1a1d;
  border-top-color: rgba(255, 255, 255, 0.06);
}
[data-coreui-theme=dark] .tribute-container {
  background: #1a1a1d;
  border-color: rgba(255, 255, 255, 0.1);
}
[data-coreui-theme=dark] .tribute-container .tribute-name {
  color: #e5e7eb;
}
[data-coreui-theme=dark] .tribute-container li:hover, [data-coreui-theme=dark] .tribute-container li.highlight {
  background: rgba(176, 64, 168, 0.15);
}

/* ─────────────────────────────────────────────────────────────
   Bulk Actions — selection on tables, floating action bar,
   confirm modal, recipient compose modal, toasts.
   ───────────────────────────────────────────────────────────── */
/* ── Selected row highlight ── */
.ah-row.bulk-selected {
  background: rgba(137, 3, 130, 0.04);
}

.bulk-checkbox-cell {
  vertical-align: middle !important;
}
.bulk-checkbox-cell .form-check-input {
  cursor: pointer;
  margin: 0;
}

/* ── Floating bottom action bar ── */
.bulk-action-bar {
  position: fixed;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%) translateY(120%);
  background: #1a1a1d;
  color: #fff;
  border-radius: 14px;
  padding: 10px 14px 10px 20px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25);
  display: flex;
  align-items: center;
  gap: 18px;
  z-index: 1080;
  opacity: 0;
  transition: transform 0.25s ease, opacity 0.2s ease;
  pointer-events: none;
}
.bulk-action-bar.show {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
  pointer-events: auto;
}

.bulk-bar-left {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.85rem;
}

.bulk-bar-count {
  background: #890382;
  color: #fff;
  padding: 2px 9px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 0.8rem;
  min-width: 28px;
  text-align: center;
}

.bulk-bar-label {
  color: #d4d8e8;
}

.bulk-bar-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

.bulk-bar-btn {
  appearance: none;
  border: 0;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 0.8rem;
  font-weight: 500;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: background 0.12s, color 0.12s;
}
.bulk-bar-btn:hover {
  background: rgba(255, 255, 255, 0.14);
}
.bulk-bar-btn i {
  font-size: 0.9rem;
}
.bulk-bar-btn--danger:hover {
  background: rgba(220, 38, 38, 0.25);
  color: #fecaca;
}

.bulk-bar-close {
  appearance: none;
  border: 0;
  background: transparent;
  color: #9aa3b2;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.bulk-bar-close:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

/* ── Confirm overlay ── */
.bulk-confirm-overlay {
  position: fixed;
  inset: 0;
  background: rgba(15, 17, 22, 0.55);
  z-index: 1090;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

.bulk-confirm-dialog {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.25);
  padding: 28px 28px 24px 28px;
  width: 100%;
  max-width: 420px;
}

.bulk-confirm-title {
  font-weight: 700;
  color: #1e1e1e;
  font-size: 1.1rem;
  margin: 0 0 0.6rem 0;
}

.bulk-confirm-text {
  color: #555;
  font-size: 0.9rem;
  line-height: 1.55;
  margin: 0 0 1rem 0;
}

.bulk-confirm-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

/* ── Compose modal (campaign) ── */
.bulk-compose-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15, 17, 22, 0.55);
  z-index: 1090;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  overflow-y: auto;
}

.bulk-compose-dialog {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.25);
  width: 100%;
  max-width: 720px;
  max-height: 92vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.bulk-compose-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 22px;
  border-bottom: 1px solid #eef1f5;
}
.bulk-compose-header .bulk-compose-title {
  font-weight: 700;
  font-size: 1rem;
  margin: 0;
  color: #1e1e1e;
}

.bulk-compose-body {
  padding: 18px 22px;
  overflow-y: auto;
  flex: 1;
  min-height: 0;
}

.bulk-compose-footer {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 14px 22px;
  border-top: 1px solid #eef1f5;
  background: #fafbfc;
}

.bulk-compose-recipients {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-height: 32px;
}

.bulk-compose-recipient {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(137, 3, 130, 0.06);
  border: 1px solid rgba(137, 3, 130, 0.12);
  border-radius: 999px;
  padding: 4px 4px 4px 10px;
  font-size: 0.8rem;
}
.bulk-compose-recipient .recipient-name {
  font-weight: 600;
  color: #1e1e1e;
}
.bulk-compose-recipient .recipient-email {
  color: #717171;
  font-size: 0.75rem;
}
.bulk-compose-recipient .recipient-remove {
  appearance: none;
  border: 0;
  background: transparent;
  color: #890382;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.bulk-compose-recipient .recipient-remove:hover {
  background: rgba(137, 3, 130, 0.15);
}

.bulk-compose-search-wrap {
  position: relative;
}

.bulk-compose-suggestions {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid #e7e9f2;
  border-radius: 0.5rem;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.08);
  margin-top: 4px;
  max-height: 240px;
  overflow-y: auto;
  z-index: 5;
}

.bulk-compose-suggestion {
  display: flex;
  flex-direction: column;
  padding: 8px 12px;
  cursor: pointer;
  border-bottom: 1px solid #f3f4f6;
  font-size: 0.85rem;
}
.bulk-compose-suggestion:last-child {
  border-bottom: 0;
}
.bulk-compose-suggestion:hover, .bulk-compose-suggestion.is-active {
  background: rgba(137, 3, 130, 0.06);
}
.bulk-compose-suggestion .suggestion-name {
  font-weight: 600;
  color: #1e1e1e;
}
.bulk-compose-suggestion .suggestion-email {
  color: #717171;
  font-size: 0.75rem;
}

.bulk-compose-suggestion-empty {
  padding: 12px;
  font-size: 0.85rem;
  color: #94a3b8;
  text-align: center;
}

/* ── Toast ── */
.bulk-toast {
  position: fixed;
  right: 24px;
  bottom: 96px;
  background: #1a1a1d;
  color: #fff;
  padding: 12px 18px;
  border-radius: 10px;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.25);
  font-size: 0.85rem;
  z-index: 1100;
  transition: transform 0.25s ease, opacity 0.2s ease;
}
.bulk-toast--danger {
  background: #b91c1c;
}
.bulk-toast--success {
  background: #047857;
}
.bulk-toast--warning {
  background: #b45309;
}
.bulk-toast--out {
  opacity: 0;
  transform: translateY(8px);
}

.ah-billing-section {
  padding: 1rem 1.25rem;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 0.75rem;
  background: rgba(0, 0, 0, 0.01);
  position: relative;
}
.ah-billing-section:not(:last-child) {
  margin-bottom: 1rem;
}

.ah-billing-line-item {
  padding: 0.5rem 0.75rem;
  border: 1px solid rgba(0, 0, 0, 0.04);
  border-radius: 0.5rem;
  background: #fff;
  margin-bottom: 0.5rem;
  transition: border-color 0.15s ease;
}
.ah-billing-line-item:hover {
  border-color: rgba(137, 3, 130, 0.15);
}

.ah-billing-summary {
  padding: 1.25rem;
  background: linear-gradient(135deg, rgba(137, 3, 130, 0.02), rgba(137, 3, 130, 0.06));
  border-radius: 0.75rem;
  border: 1px solid rgba(137, 3, 130, 0.08);
}

.ah-billing-summary__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.25rem 0;
  font-size: 0.875rem;
}

.ah-billing-summary__total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 0 0;
  margin-top: 0.5rem;
  border-top: 2px solid rgba(137, 3, 130, 0.2);
  font-size: 1.125rem;
  font-weight: 700;
}
.ah-billing-summary__total .ah-billing-summary__value {
  color: #890382;
}

.ah-billing-summary__add-discount {
  padding: 0.25rem 0;
  margin-bottom: 0.25rem;
}
.ah-billing-summary__add-discount a {
  color: #890382;
  text-decoration: none;
  font-size: 0.8125rem;
  font-weight: 600;
}
.ah-billing-summary__add-discount a:hover {
  text-decoration: underline;
}

.ah-billing-summary__discount-block {
  margin-bottom: 0.25rem;
  padding-bottom: 0.25rem;
  border-bottom: 1px dashed rgba(137, 3, 130, 0.15);
}

.ah-billing-summary__discount-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.375rem 0;
  font-size: 0.875rem;
}

.ah-billing-summary__discount-inputs {
  display: flex;
  gap: 0.25rem;
  align-items: center;
}
.ah-billing-summary__discount-inputs input {
  max-width: 80px;
}
.ah-billing-summary__discount-inputs select {
  max-width: 55px;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.ah-billing-summary__discount-inputs button {
  border: none;
  background: transparent;
  color: #dc3545;
  cursor: pointer;
  padding: 0.25rem;
  border-radius: 0.25rem;
  transition: color 0.15s ease;
}
.ah-billing-summary__discount-inputs button:hover {
  color: #a71d2a;
}

.ah-billing-pdf-preview {
  width: 100%;
  height: 600px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 0.5rem;
  overflow: hidden;
}
.ah-billing-pdf-preview iframe,
.ah-billing-pdf-preview embed {
  width: 100%;
  height: 100%;
  border: none;
}

.ah-billing-doc-logo {
  max-height: 96px;
  max-width: 220px;
  object-fit: contain;
  margin-bottom: 0.5rem;
  display: block;
}

.ah-billing-doc-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 2rem 2rem 1.5rem;
  background: linear-gradient(135deg, rgba(137, 3, 130, 0.03), rgba(137, 3, 130, 0.07));
  border-radius: 1rem 1rem 0 0;
  border-bottom: 1px solid rgba(137, 3, 130, 0.08);
}
.ah-billing-doc-header__left {
  flex: 1;
  min-width: 0;
}
.ah-billing-doc-header__right {
  text-align: right;
  flex-shrink: 0;
}
.ah-billing-doc-header__company {
  font-size: 1.25rem;
  font-weight: 700;
  color: #890382;
  margin-bottom: 0.25rem;
}
.ah-billing-doc-header__info {
  font-size: 0.8125rem;
  color: #717171;
  line-height: 1.7;
}
.ah-billing-doc-header__title {
  font-size: 1.75rem;
  font-weight: 800;
  color: #890382;
  letter-spacing: 1px;
}
.ah-billing-doc-header__ref {
  font-size: 0.9375rem;
  color: #717171;
  margin-bottom: 0.5rem;
}

.ah-billing-doc-section {
  padding: 1.25rem 2rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
}
.ah-billing-doc-section:last-child {
  border-bottom: none;
}

.ah-billing-doc-dates {
  padding: 1rem 2rem;
  background: rgba(0, 0, 0, 0.01);
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
}

.ah-billing-doc-footer {
  padding: 1.25rem 2rem;
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
}

.ah-billing-section .table-responsive {
  overflow: visible;
}

.ah-billing-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
}
.ah-billing-table thead th {
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #717171;
  padding: 0.625rem 0.5rem;
  border-bottom: 2px solid rgba(137, 3, 130, 0.15);
  white-space: nowrap;
}
.ah-billing-table tbody td {
  padding: 0.5rem;
  vertical-align: middle;
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
}
.ah-billing-table__row:hover {
  background: rgba(137, 3, 130, 0.015);
}
.ah-billing-table .form-control-sm,
.ah-billing-table .form-select-sm {
  font-size: 0.8125rem;
  padding: 0.25rem 0.5rem;
  border-radius: 0.375rem;
}

.ah-billing-autocomplete {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 1050;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 0.5rem;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  max-height: 240px;
  overflow-y: auto;
}
.ah-billing-autocomplete__item {
  padding: 0.625rem 0.75rem;
  cursor: pointer;
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
  transition: background 0.1s ease;
}
.ah-billing-autocomplete__item:hover, .ah-billing-autocomplete__item--active {
  background: rgba(137, 3, 130, 0.04);
}
.ah-billing-autocomplete__item:last-child {
  border-bottom: none;
}
.ah-billing-autocomplete__name {
  font-weight: 600;
  font-size: 0.8125rem;
  color: #1e1e1e;
}
.ah-billing-autocomplete__detail {
  font-size: 0.75rem;
  color: #717171;
}

.ah-billing-autocomplete__create {
  padding: 0.625rem 0.75rem;
  cursor: pointer;
  background: rgba(137, 3, 130, 0.04);
  border-top: 1px solid rgba(0, 0, 0, 0.04);
  color: #890382;
  font-weight: 600;
  font-size: 0.8125rem;
  transition: background 0.1s ease;
  border-radius: 0 0 0.5rem 0.5rem;
}
.ah-billing-autocomplete__create:hover {
  background: rgba(137, 3, 130, 0.1);
}
.ah-billing-autocomplete__create i {
  opacity: 0.7;
}

.ah-billing-kebab {
  padding: 0.2rem 0.35rem;
  border: none;
  background: transparent;
  color: #717171;
  cursor: pointer;
  border-radius: 0.25rem;
  line-height: 1;
  font-size: 1rem;
}
.ah-billing-kebab:hover {
  background: rgba(0, 0, 0, 0.06);
  color: #1e1e1e;
}

.ah-billing-add-after {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  border: 1px solid rgba(137, 3, 130, 0.2);
  background: transparent;
  color: #890382;
  cursor: pointer;
  border-radius: 50%;
  font-size: 0.75rem;
  line-height: 1;
  transition: all 0.15s ease;
}
.ah-billing-add-after:hover {
  background: rgba(137, 3, 130, 0.08);
  border-color: #890382;
}

.ah-billing-desc-row__cell {
  padding: 0 0.5rem 0.75rem !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
}
.ah-billing-desc-row textarea {
  font-size: 0.8125rem;
  color: #555;
}

.ah-billing-table textarea,
.ah-billing-desc-row textarea {
  resize: none;
  overflow-y: hidden;
}

.ah-billing-discount-group {
  display: flex;
  gap: 0.25rem;
  align-items: center;
  min-width: 130px;
}
.ah-billing-discount-group .form-control-sm {
  max-width: 70px;
}
.ah-billing-discount-group .form-select-sm {
  max-width: 55px;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

.ah-billing-table .ah-billing-col-action {
  width: 30px;
  padding: 0.25rem 0.15rem;
  text-align: center;
  vertical-align: middle;
}

.ah-billing-badge--draft {
  background: rgba(156, 163, 175, 0.1);
  color: #6b7280;
}
.ah-billing-badge--sent {
  background: rgba(14, 165, 233, 0.1);
  color: #0369a1;
}
.ah-billing-badge--accepted {
  background: rgba(16, 185, 129, 0.1);
  color: #047857;
}
.ah-billing-badge--rejected {
  background: rgba(239, 68, 68, 0.1);
  color: #dc2626;
}
.ah-billing-badge--expired {
  background: rgba(245, 158, 11, 0.1);
  color: #b45309;
}
.ah-billing-badge--invoiced {
  background: rgba(137, 3, 130, 0.1);
  color: #890382;
}
.ah-billing-badge--paid {
  background: rgba(16, 185, 129, 0.1);
  color: #047857;
}
.ah-billing-badge--partially_paid {
  background: rgba(245, 158, 11, 0.1);
  color: #b45309;
}
.ah-billing-badge--overdue {
  background: rgba(239, 68, 68, 0.1);
  color: #dc2626;
}
.ah-billing-badge--cancelled {
  background: rgba(156, 163, 175, 0.1);
  color: #6b7280;
}
.ah-billing-badge--applied {
  background: rgba(16, 185, 129, 0.1);
  color: #047857;
}

.ah-client-autocomplete {
  position: relative;
}
.ah-client-autocomplete__input-wrapper {
  position: relative;
}
.ah-client-autocomplete__icon {
  position: absolute;
  left: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  color: #a0a0a8;
  pointer-events: none;
  font-size: 0.875rem;
  z-index: 1;
}
.ah-client-autocomplete__input {
  padding-left: 2.25rem !important;
}
.ah-client-autocomplete__results {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 1050;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 0.5rem;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  margin-top: 4px;
  max-height: 280px;
  overflow-y: auto;
  display: none;
  padding: 0.375rem;
}
.ah-client-autocomplete__results--open {
  display: block;
}
.ah-client-autocomplete__item {
  padding: 0.5rem 0.75rem;
  border-radius: 6px;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.ah-client-autocomplete__item:hover, .ah-client-autocomplete__item--active {
  background-color: rgba(137, 3, 130, 0.04);
}
.ah-client-autocomplete__item-name {
  font-weight: 600;
  font-size: 0.875rem;
  color: #1e1e1e;
}
.ah-client-autocomplete__item-email {
  font-size: 0.75rem;
  color: #717171;
  margin-top: 0.1rem;
}
.ah-client-autocomplete__empty {
  padding: 0.75rem;
  text-align: center;
  font-size: 0.8125rem;
  color: #a0a0a8;
}

/* ============================================================
   DOCUMENTS — ArchiHub document management
   ============================================================ */
/* --- Document Grid --- */
.ah-doc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1rem;
}

/* --- Document Card --- */
.ah-doc-card-wrap {
  animation: ah-doc-fade-in 0.3s ease both;
}

.ah-doc-card {
  position: relative;
  border-radius: 0.75rem;
  border: 1px solid rgba(0, 0, 0, 0.06);
  background: #fff;
  padding: 1.25rem;
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  height: 100%;
}
.ah-doc-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
  transform: translateY(-2px);
}

@keyframes ah-doc-fade-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* --- File type icon --- */
.ah-doc-card__icon {
  width: 48px;
  height: 48px;
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  flex-shrink: 0;
}

.ah-doc-card__header {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

.ah-doc-card__info {
  flex: 1;
  min-width: 0;
}

.ah-doc-card__name {
  font-weight: 600;
  font-size: 0.875rem;
  color: #1e1e1e;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ah-doc-card__meta {
  font-size: 0.75rem;
  color: #a0a0a8;
  margin-top: 0.125rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.ah-doc-card__desc {
  font-size: 0.8125rem;
  color: #717171;
  line-height: 1.4;
}

/* --- Footer: badges + toggle + actions --- */
.ah-doc-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(0, 0, 0, 0.04);
  margin-top: auto;
}

.ah-doc-card__badges {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  flex-wrap: wrap;
}

/* --- Footer right: toggle + actions --- */
.ah-doc-card__footer-right {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* --- Visibility toggle --- */
.ah-doc-visibility-toggle .form-check.form-switch {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding-left: 2.5em;
  min-height: 0;
}
.ah-doc-visibility-toggle .form-check-input {
  width: 2em;
  height: 1.1em;
  margin-top: 0;
  cursor: pointer;
}
.ah-doc-visibility-toggle .form-check-input:checked {
  background-color: #890382;
  border-color: #890382;
}
.ah-doc-visibility-toggle .form-check-input:focus {
  box-shadow: 0 0 0 0.2rem rgba(137, 3, 130, 0.25);
  border-color: #890382;
}

.ah-doc-visibility-label {
  font-size: 0.6875rem;
  font-weight: 500;
  color: #a0a0a8;
  white-space: nowrap;
  user-select: none;
}

.ah-doc-visibility-toggle .form-check-input:checked ~ .ah-doc-visibility-label {
  color: #890382;
}

/* --- Actions (download + delete) --- */
.ah-doc-card__actions {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  opacity: 0.35;
  transition: opacity 0.15s ease;
  padding-left: 0.5rem;
  border-left: 1px solid rgba(0, 0, 0, 0.06);
}

.ah-doc-card:hover .ah-doc-card__actions {
  opacity: 1;
}

.ah-doc-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 0.375rem;
  border: none;
  background: transparent;
  color: #717171;
  cursor: pointer;
  transition: all 0.15s ease;
  padding: 0;
  text-decoration: none;
}
.ah-doc-action-btn:hover {
  background: rgba(0, 0, 0, 0.04);
  color: #1e1e1e;
}
.ah-doc-action-btn--danger:hover {
  background: rgba(225, 29, 91, 0.06);
  color: #E11D5B;
}

/* --- Upload Dropzone --- */
.ah-doc-dropzone {
  border: 2px dashed rgba(137, 3, 130, 0.15);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.7);
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  margin-bottom: 1.5rem;
}
.ah-doc-dropzone:hover {
  border-color: rgba(137, 3, 130, 0.3);
  background: rgba(137, 3, 130, 0.02);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(137, 3, 130, 0.06);
}
.ah-doc-dropzone.drag-active {
  border-color: #890382;
  background: rgba(137, 3, 130, 0.04);
  transform: scale(1.005);
  box-shadow: 0 0 0 4px rgba(137, 3, 130, 0.08);
}

.ah-doc-dropzone__inner {
  padding: 2rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  text-align: center;
}

.ah-doc-dropzone__icon {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: #890382;
  background: rgba(137, 3, 130, 0.06);
}

.ah-doc-dropzone__title {
  font-family: "DM Sans", system-ui, sans-serif;
  font-weight: 600;
  font-size: 0.875rem;
  color: #1e1e1e;
}

.ah-doc-dropzone__subtitle {
  font-size: 0.8125rem;
  color: #a0a0a8;
}

.ah-doc-dropzone__formats {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 0.25rem;
}

.ah-doc-dropzone__format-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.125rem 0.5rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 600;
  background: rgba(0, 0, 0, 0.04);
  color: #717171;
}

.ah-doc-dropzone__limit {
  font-size: 0.6875rem;
  color: #a0a0a8;
  margin-left: 0.25rem;
}

/* --- Uploading placeholder --- */
.ah-doc-card--uploading {
  opacity: 0.6;
  pointer-events: none;
}
.ah-doc-card--uploading::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.4);
  border-radius: inherit;
}

.ah-doc-card__spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  width: 2rem;
  height: 2rem;
  border: 3px solid rgba(137, 3, 130, 0.1);
  border-top-color: #890382;
  border-radius: 50%;
  animation: ah-doc-spin 0.8s linear infinite;
}

@keyframes ah-doc-spin {
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
/* --- Category badge colors --- */
.ah-doc-badge--certification {
  --pill-bg: rgba(137,3,130,.08);
  --pill-fg: #890382;
}

.ah-doc-badge--insurance {
  --pill-bg: rgba(14,165,233,.08);
  --pill-fg: #0369a1;
}

.ah-doc-badge--catalog {
  --pill-bg: rgba(245,158,11,.08);
  --pill-fg: #b45309;
}

.ah-doc-badge--contract {
  --pill-bg: rgba(16,185,129,.08);
  --pill-fg: #047857;
}

.ah-doc-badge--other {
  --pill-bg: rgba(156,163,175,.08);
  --pill-fg: #6b7280;
}

/* --- Stat card icon mini --- */
.ah-doc-stat-icon {
  width: 40px;
  height: 40px;
  border-radius: 0.625rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  flex-shrink: 0;
}

/* --- Client profile: shared documents section --- */
.ah-client-doc-list {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.ah-client-doc-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.625rem 0.75rem;
  border-radius: 0.5rem;
  transition: background 0.15s ease;
}
.ah-client-doc-item:hover {
  background: rgba(0, 0, 0, 0.02);
}

.ah-client-doc-icon {
  width: 36px;
  height: 36px;
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  flex-shrink: 0;
}

.ah-client-doc-info {
  flex: 1;
  min-width: 0;
}

.ah-client-doc-name {
  font-weight: 500;
  font-size: 0.8125rem;
  color: #1e1e1e;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ah-client-doc-meta {
  font-size: 0.6875rem;
  color: #a0a0a8;
  display: flex;
  align-items: center;
  gap: 0.375rem;
  margin-top: 0.0625rem;
}

.ah-client-doc-toggle {
  flex-shrink: 0;
}

/* --- Responsive --- */
@media (max-width: 575.98px) {
  .ah-doc-grid {
    grid-template-columns: 1fr;
  }
}
/* =========================================================
   BOARD TOOLBAR + ADVANCED FILTER DROPDOWN — ArchiHub
   ========================================================= */
/* ── Toolbar — single-line action bar ── */
.board-toolbar {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 8px 0;
  margin-bottom: 16px;
  flex-wrap: nowrap;
}

.board-toolbar-separator {
  width: 1px;
  height: 24px;
  background: var(--ah-border-color);
  margin: 0 6px;
  flex-shrink: 0;
}

.board-toolbar-search {
  position: relative;
  display: flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid var(--ah-border-color);
  border-radius: 0.625rem;
  padding: 0 0.5rem 0 0.75rem;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.board-toolbar-search:focus-within {
  border-color: rgba(137, 3, 130, 0.35);
  box-shadow: 0 0 0 3px rgba(137, 3, 130, 0.1);
}
.board-toolbar-search .toolbar-search-icon {
  color: var(--ah-muted);
  font-size: 14px;
  pointer-events: none;
}
.board-toolbar-search input {
  border: none;
  background: transparent;
  font-size: 0.8125rem;
  color: var(--ah-text);
  padding: 0.45rem 0.5rem;
  width: 180px;
  outline: none;
  transition: width 0.2s ease;
}
.board-toolbar-search input:focus {
  width: 260px;
}
.board-toolbar-search input::placeholder {
  color: var(--ah-muted);
}

/* Toolbar items (flat buttons) — prefixed for specificity over .theme-archihub a */
.theme-archihub .board-toolbar-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 10px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--ah-muted);
  cursor: pointer;
  border-radius: 0.5rem;
  white-space: nowrap;
  border: none;
  background: none;
  transition: background 0.12s, color 0.12s;
  position: relative;
  text-decoration: none;
  height: 2.25rem;
  appearance: none;
}
.theme-archihub .board-toolbar-item i {
  font-size: 14px;
}
.theme-archihub .board-toolbar-item:hover {
  background: rgba(0, 0, 0, 0.04);
  color: var(--ah-text);
}
.theme-archihub .board-toolbar-item.active {
  color: var(--ah-violet);
  background: rgba(137, 3, 130, 0.08);
}
.theme-archihub .board-toolbar-item:focus {
  outline: none;
}
.theme-archihub .board-toolbar-item:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(137, 3, 130, 0.15);
}

/* View toggles (Liste / Kanban / etc.) */
.theme-archihub .board-toolbar-views {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 3px;
  background: rgba(0, 0, 0, 0.03);
  border-radius: 0.625rem;
}
.theme-archihub .board-toolbar-views .board-toolbar-view {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 12px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--ah-muted);
  background: transparent;
  border: none;
  border-radius: 0.5rem;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.12s, color 0.12s, box-shadow 0.12s;
  height: 2rem;
  appearance: none;
  cursor: pointer;
}
.theme-archihub .board-toolbar-views .board-toolbar-view i {
  font-size: 14px;
}
.theme-archihub .board-toolbar-views .board-toolbar-view:hover {
  color: var(--ah-text);
  background: rgba(255, 255, 255, 0.6);
}
.theme-archihub .board-toolbar-views .board-toolbar-view.active {
  color: var(--ah-violet);
  font-weight: 600;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
.theme-archihub .board-toolbar-views .board-toolbar-view:focus {
  outline: none;
}
.theme-archihub .board-toolbar-views .board-toolbar-view:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(137, 3, 130, 0.15);
}

/* Primary add button — prefixed to override .theme-archihub a global rule */
.theme-archihub .board-toolbar-add {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 1rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #fff !important;
  background: var(--ah-gradient);
  border: none;
  border-radius: 0.5rem;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: filter 0.15s, box-shadow 0.15s, transform 0.15s;
  height: 2.25rem;
  appearance: none;
}
.theme-archihub .board-toolbar-add i {
  font-size: 0.9375rem;
  line-height: 1;
}
.theme-archihub .board-toolbar-add:hover {
  filter: brightness(1.06);
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(137, 3, 130, 0.25);
  transform: translateY(-1px);
  text-decoration: none;
}
.theme-archihub .board-toolbar-add:focus {
  outline: none;
}
.theme-archihub .board-toolbar-add:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(137, 3, 130, 0.25);
}

/* Filter active count badge */
.filter-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 8px;
  background: var(--ah-violet);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  margin-left: 4px;
}

/* ── Advanced filter dropdown ── */
.filter-advanced-dropdown {
  position: fixed;
  z-index: 1060;
  background: #fff;
  border: 1px solid var(--ah-border-color);
  border-radius: 1rem;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.14);
  min-width: 400px;
  max-width: 90vw;
  max-height: 480px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.fad-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px 10px;
  border-bottom: 1px solid var(--ah-border-color);
  flex-wrap: wrap;
}

.fad-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--ah-text);
}

.fad-subtitle {
  font-size: 12px;
  color: var(--ah-muted);
  flex: 1;
}

.fad-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

.fad-clear-btn {
  background: none;
  border: none;
  color: var(--ah-violet);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  padding: 2px 8px;
  border-radius: 4px;
  white-space: nowrap;
}
.fad-clear-btn:hover {
  background: rgba(137, 3, 130, 0.08);
}

.fad-apply-btn {
  background: var(--ah-gradient);
  border: none;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  padding: 4px 12px;
  border-radius: 6px;
  white-space: nowrap;
  transition: filter 0.15s;
}
.fad-apply-btn:hover {
  filter: brightness(1.06);
}

.fad-body {
  padding: 12px 16px;
  overflow-y: auto;
  max-height: 340px;
}

.fad-body-columns {
  display: flex;
  gap: 0;
  overflow-x: auto;
}

.fad-column {
  display: flex;
  flex-direction: column;
  min-width: 140px;
  border-right: 1px solid var(--ah-border-color);
  padding: 0 12px;
}
.fad-column:first-child {
  padding-left: 0;
}
.fad-column:last-child {
  border-right: none;
  padding-right: 0;
}

.fad-section-label {
  font-size: 11px;
  font-weight: 600;
  color: var(--ah-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 8px;
  white-space: nowrap;
}

.fad-column .fad-chip {
  width: 100%;
  text-align: left;
  margin-bottom: 2px;
  border-radius: 6px;
  padding: 5px 10px;
}

.fad-chip {
  padding: 4px 12px;
  font-size: 12px;
  font-weight: 500;
  color: var(--ah-text);
  background: #fff;
  border: 1px solid var(--ah-border-color);
  border-radius: 16px;
  cursor: pointer;
  transition: all 0.12s;
  white-space: nowrap;
}
.fad-chip:hover {
  border-color: var(--ah-violet);
  color: var(--ah-violet);
}
.fad-chip.active {
  background: rgba(137, 3, 130, 0.1);
  border-color: var(--ah-violet);
  color: var(--ah-violet);
  font-weight: 600;
}

/* Advanced rules */
.fad-rule {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.fad-rule-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--ah-muted);
  min-width: 28px;
  text-align: right;
}

.fad-select,
.fad-input {
  padding: 6px 10px;
  font-size: 13px;
  border: 1px solid var(--ah-border-color);
  border-radius: 0.5rem;
  background: #fff;
  color: var(--ah-text);
  outline: none;
  transition: border-color 0.15s, box-shadow 0.15s;
  min-width: 0;
}
.fad-select:focus,
.fad-input:focus {
  border-color: rgba(137, 3, 130, 0.35);
  box-shadow: 0 0 0 2px rgba(137, 3, 130, 0.1);
}

.fad-select {
  flex: 1;
  cursor: pointer;
  appearance: auto;
}

.fad-input {
  flex: 1.5;
}

.fad-delete-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: none;
  background: none;
  color: var(--ah-muted);
  border-radius: 4px;
  cursor: pointer;
  flex-shrink: 0;
}
.fad-delete-btn:hover {
  background: rgba(225, 29, 91, 0.1);
  color: var(--ah-rouge);
}

.fad-add-row {
  margin-top: 4px;
}

.fad-add-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: none;
  border: none;
  color: var(--ah-violet);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  padding: 6px 8px;
  border-radius: 6px;
}
.fad-add-btn:hover {
  background: rgba(137, 3, 130, 0.06);
}

.fad-footer {
  padding: 10px 16px;
  border-top: 1px solid var(--ah-border-color);
  display: flex;
  justify-content: flex-end;
}

.fad-switch-btn {
  background: none;
  border: none;
  color: var(--ah-muted);
  font-size: 12px;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 4px;
}
.fad-switch-btn:hover {
  color: var(--ah-violet);
  background: rgba(137, 3, 130, 0.06);
}

/* =========================================================
   INLINE COLUMN FILTER ROW (PrestaShop-style under <thead>)
   ========================================================= */
.theme-archihub .ah-table thead tr.ah-table-filters {
  background: #fff;
}

.theme-archihub .ah-table thead tr.ah-table-filters > td.ah-th-filter {
  padding: 0.5rem 0.75rem;
  border-bottom: 1px solid var(--ah-border-color);
  background: #fff;
  vertical-align: middle;
}

.theme-archihub .ah-table thead tr.ah-table-filters > td.ah-th-filter:first-child {
  padding-left: 1.25rem;
}

.theme-archihub .ah-table thead tr.ah-table-filters > td.ah-th-filter:last-child {
  padding-right: 1.25rem;
}

/* Match .form-control-sm style from theme-archihub */
.ah-filter-input {
  width: 100%;
  height: 2.25rem;
  padding: 0.35rem 0.75rem;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--ah-text);
  background-color: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 0.5rem;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}
.ah-filter-input:focus {
  border-color: rgba(137, 3, 130, 0.35);
  box-shadow: 0 0 0 3px rgba(137, 3, 130, 0.1);
  background-color: #fff;
}
.ah-filter-input::placeholder {
  color: #a0a0a8;
}
.ah-filter-input[type=date] {
  padding-right: 0.5rem;
}

.ah-filter-input--select {
  appearance: auto;
  cursor: pointer;
  padding-right: 1.75rem;
}

.ah-filter-actions {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  justify-content: flex-end;
  width: 100%;
}

/* Match .btn-sm dimensions */
.ah-filter-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 0.5rem;
  background: rgba(255, 255, 255, 0.8);
  color: var(--ah-muted);
  font-size: 0.875rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.ah-filter-btn:hover {
  background: var(--ah-violet);
  border-color: var(--ah-violet);
  color: #fff;
}

.ah-filter-btn--clear:hover {
  background: var(--ah-rouge);
  border-color: var(--ah-rouge);
}

/* AJAX combobox dropdown */
.ah-lookup-wrap {
  position: relative;
  width: 100%;
}

.ah-lookup-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  z-index: 1050;
  max-height: 240px;
  overflow-y: auto;
  background: #fff;
  border: 1px solid var(--ah-border-color);
  border-radius: 0.5rem;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}

.ah-lookup-item {
  padding: 0.45rem 0.75rem;
  font-size: 0.8125rem;
  color: var(--ah-text);
  cursor: pointer;
  line-height: 1.3;
  user-select: none;
}
.ah-lookup-item:hover, .ah-lookup-item.active {
  background: rgba(137, 3, 130, 0.08);
  color: var(--ah-violet);
}

.ah-lookup-item--special {
  color: var(--ah-muted);
  font-style: italic;
  border-bottom: 1px solid var(--ah-border-color);
}

.ah-lookup-empty {
  padding: 0.5rem 0.75rem;
  font-size: 0.75rem;
  color: var(--ah-muted);
  font-style: italic;
  text-align: center;
}

/* Mobile */
@media (max-width: 767.98px) {
  /* Wrap instead of horizontal scroll: search on its own full-width row,
     action buttons flow below. */
  .board-toolbar {
    flex-wrap: wrap;
    row-gap: 8px;
    padding-bottom: 8px;
  }
  .board-toolbar-search {
    flex: 1 1 100%;
    order: -1;
  }
  .board-toolbar-search input,
  .board-toolbar-search input:focus {
    width: 100%;
  }
  .board-toolbar-add,
  .board-toolbar-item,
  .board-toolbar-view {
    min-height: 38px;
    padding: 8px 10px;
    font-size: 13px;
  }
  .board-toolbar-separator {
    display: none;
  }
  .filter-advanced-dropdown {
    min-width: calc(100vw - 20px);
  }
}
/* ────────────────────────────────────────────────────────────
   Projects — "Cartes" (BLAST) grid view
   ──────────────────────────────────────────────────────────── */
.ah-project-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.25rem;
  align-items: start;
  justify-content: start;
}

.ah-project-card {
  --card-accent: #890382;
  --card-tint: rgba(137, 3, 130, .06);
  position: relative;
  display: flex;
  flex-direction: column;
  max-width: 430px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 1.1rem;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04), 0 6px 16px rgba(16, 24, 40, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  /* ── Cover ── */
  /* ── Body ── */
  /* ── Footer ── */
}
.ah-project-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 34px rgba(16, 24, 40, 0.12), 0 3px 8px rgba(16, 24, 40, 0.06);
  border-color: rgba(137, 3, 130, 0.16);
}
.ah-project-card__cover {
  position: relative;
  display: block;
  height: 132px;
  background-color: #fff;
  background-image: linear-gradient(135deg, var(--card-tint) 0%, rgba(255, 255, 255, 0.4) 100%);
  background-size: cover;
  background-position: center;
  text-decoration: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
}
.ah-project-card__cover.has-img {
  background-image: none; /* image set inline via background-image on the element */
  /* gradient scrim so the status pill stays readable over photos */
}
.ah-project-card__cover.has-img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.28) 0%, rgba(0, 0, 0, 0) 45%);
}
.ah-project-card__cover-icon {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.4rem;
  color: var(--card-accent);
  opacity: 0.32;
}
.ah-project-card__status.ah-badge {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 3;
  background: rgba(255, 255, 255, 0.96);
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.22);
}
.ah-project-card__body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  text-align: left;
  padding: 1rem 1.1rem 0.85rem;
}
.ah-project-card__ref {
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #a3a3ad;
  font-family: "DM Sans", system-ui, sans-serif;
}
.ah-project-card__title {
  display: block;
  margin: 0.15rem 0 0;
  font-size: 1.02rem;
  font-weight: 700;
  line-height: 1.3;
  color: #1e1e1e;
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: color 0.15s ease;
}
.ah-project-card__title:hover {
  color: var(--card-accent);
}
.ah-project-card__meta {
  margin-top: 0.9rem;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.55rem;
}
.ah-project-card__row {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.55rem;
  font-size: 0.8125rem;
  min-width: 0;
}
.ah-project-card__row > .bi {
  color: var(--card-accent);
  font-size: 0.9rem;
  flex: 0 0 auto;
  opacity: 0.85;
}
.ah-project-card__row--muted {
  color: #6b7280;
}
.ah-project-card__row-txt {
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  line-height: 1.25;
  text-align: left;
}
.ah-project-card__avatar {
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #890382, #b5179e);
  color: #fff;
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 2px 6px rgba(137, 3, 130, 0.25);
}
.ah-project-card__client {
  font-weight: 600;
  color: #1e1e1e;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ah-project-card__company {
  font-size: 0.72rem;
  font-weight: 400;
  color: #a3a3ad;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ah-project-card__footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.375rem;
  padding: 0.5rem 0.85rem;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  background: rgba(0, 0, 0, 0.015);
}

[data-coreui-theme=dark] .ah-project-card {
  background: #2a2b36;
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35);
}
[data-coreui-theme=dark] .ah-project-card:hover {
  border-color: rgba(137, 3, 130, 0.4);
}
[data-coreui-theme=dark] .ah-project-card__cover {
  background-color: #20212a;
  border-bottom-color: rgba(255, 255, 255, 0.06);
}
[data-coreui-theme=dark] .ah-project-card__title {
  color: #f1f3f5;
}
[data-coreui-theme=dark] .ah-project-card__client {
  color: #e9ecef;
}
[data-coreui-theme=dark] .ah-project-card__ref, [data-coreui-theme=dark] .ah-project-card__company {
  color: #8b8d98;
}
[data-coreui-theme=dark] .ah-project-card__row--muted {
  color: #aeb0bb;
}
[data-coreui-theme=dark] .ah-project-card__footer {
  border-top-color: rgba(255, 255, 255, 0.07);
  background: rgba(255, 255, 255, 0.02);
}

/* =========================================================
   DASHBOARD — Premium look (hero, stats, cards, lists)
   ========================================================= */
/* ── HERO greeting ── */
.theme-archihub .dash-hero {
  position: relative;
  padding: 1.5rem 1.75rem;
  margin-bottom: 1.5rem;
  border-radius: 1.25rem;
  background: radial-gradient(circle at 100% 0%, rgba(225, 29, 91, 0.08), transparent 50%), radial-gradient(circle at 0% 100%, rgba(137, 3, 130, 0.08), transparent 50%), linear-gradient(135deg, #fff 0%, #fbf9fc 100%);
  border: 1px solid rgba(137, 3, 130, 0.08);
  box-shadow: 0 4px 20px rgba(137, 3, 130, 0.04);
  overflow: hidden;
}

.theme-archihub .dash-hero::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  height: 3px;
  width: 100%;
  background: var(--ah-gradient);
  opacity: 0.9;
}

.theme-archihub .dash-hero__greeting {
  font-family: "DM Sans", system-ui, sans-serif;
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.15;
  margin: 0;
  background: linear-gradient(90deg, #1e1e1e 0%, #890382 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.theme-archihub .dash-hero__subtitle {
  margin: 0.25rem 0 0;
  font-size: 0.9375rem;
  color: var(--ah-muted);
}

.theme-archihub .dash-hero__date {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.75rem;
  padding: 0.3rem 0.75rem;
  border-radius: 999px;
  background: rgba(137, 3, 130, 0.06);
  color: var(--ah-violet);
  font-size: 0.8125rem;
  font-weight: 500;
  text-transform: capitalize;
}
.theme-archihub .dash-hero__date i {
  font-size: 0.9rem;
}

.theme-archihub .dash-hero__actions {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  flex-wrap: wrap;
}

/* ── STAT cards premium ── */
.theme-archihub .dash-stat {
  position: relative;
  padding: 1.125rem 1.25rem;
  background: #fff;
  border: 1px solid var(--ah-border-color);
  border-radius: 1rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  height: 100%;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.theme-archihub .dash-stat::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  height: 3px;
  width: 100%;
  background: var(--ah-gradient);
  opacity: 0;
  transition: opacity 0.2s ease;
}

.theme-archihub .dash-stat:hover {
  transform: translateY(-2px);
  border-color: rgba(137, 3, 130, 0.15);
  box-shadow: 0 8px 24px rgba(137, 3, 130, 0.08);
}

.theme-archihub .dash-stat:hover::before {
  opacity: 1;
}

.theme-archihub .dash-stat__icon {
  width: 48px;
  height: 48px;
  border-radius: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  flex-shrink: 0;
}

.theme-archihub .dash-stat__body {
  flex: 1;
  min-width: 0;
}

.theme-archihub .dash-stat__value {
  font-family: "DM Sans", system-ui, sans-serif;
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.1;
  color: var(--ah-text);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
}

.theme-archihub .dash-stat__label {
  font-size: 0.8125rem;
  color: var(--ah-muted);
  margin-top: 2px;
  line-height: 1.2;
}

.theme-archihub .dash-stat__trend {
  font-size: 0.6875rem;
  font-weight: 600;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  gap: 2px;
}
.theme-archihub .dash-stat__trend--up {
  color: #10b981;
}
.theme-archihub .dash-stat__trend--down {
  color: #E11D5B;
}

/* Icon color presets — consistent palette */
.theme-archihub .dash-stat__icon--violet {
  background: rgba(137, 3, 130, 0.1);
  color: #890382;
}

.theme-archihub .dash-stat__icon--rose {
  background: rgba(225, 29, 91, 0.1);
  color: #E11D5B;
}

.theme-archihub .dash-stat__icon--amber {
  background: rgba(245, 158, 11, 0.1);
  color: #b45309;
}

.theme-archihub .dash-stat__icon--green {
  background: rgba(16, 185, 129, 0.1);
  color: #047857;
}

.theme-archihub .dash-stat__icon--sky {
  background: rgba(14, 165, 233, 0.1);
  color: #0369a1;
}

.theme-archihub .dash-stat__icon--slate {
  background: rgba(100, 116, 139, 0.1);
  color: #475569;
}

/* ── CARD premium (charts, lists) ── */
.theme-archihub .dash-card {
  position: relative;
  background: #fff;
  border: 1px solid var(--ah-border-color);
  border-radius: 1rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.2s ease;
}

.theme-archihub .dash-card:hover {
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.05);
}

.theme-archihub .dash-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--ah-border-color);
  flex-shrink: 0;
}

.theme-archihub .dash-card__title {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  font-family: "DM Sans", system-ui, sans-serif;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--ah-text);
}
.theme-archihub .dash-card__title i {
  color: var(--ah-violet);
  font-size: 1rem;
}

.theme-archihub .dash-card__count {
  display: inline-flex;
  align-items: center;
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  background: rgba(137, 3, 130, 0.08);
  color: var(--ah-violet);
  font-size: 0.7rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.theme-archihub .dash-card__action {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--ah-violet);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: color 0.15s ease;
}
.theme-archihub .dash-card__action:hover {
  color: var(--ah-rouge);
  text-decoration: none;
}

.theme-archihub .dash-card__body {
  flex: 1;
  padding: 1.125rem 1.25rem;
  overflow: auto;
  min-height: 0;
}

.theme-archihub .dash-card__body--p0 {
  padding: 0;
}

/* Pipeline bars in cards */
.theme-archihub .dash-pipeline {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.theme-archihub .dash-pipeline__row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 0;
}

.theme-archihub .dash-pipeline__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

.theme-archihub .dash-pipeline__label {
  flex: 1;
  font-size: 0.8125rem;
  color: var(--ah-text);
}

.theme-archihub .dash-pipeline__count {
  font-size: 0.8125rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--ah-text);
}

.theme-archihub .dash-pipeline__bar {
  height: 6px;
  border-radius: 3px;
  background: rgba(0, 0, 0, 0.04);
  overflow: hidden;
  margin-bottom: 0.5rem;
}

.theme-archihub .dash-pipeline__fill {
  height: 100%;
  border-radius: 3px;
  transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  background: var(--ah-gradient);
}

/* Quick actions row */
.theme-archihub .dash-quick {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.theme-archihub .dash-quick__primary {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.55rem 1rem;
  border-radius: 0.625rem;
  background: var(--ah-gradient);
  color: #fff !important;
  font-size: 0.8125rem;
  font-weight: 600;
  text-decoration: none;
  border: none;
  transition: all 0.15s ease;
  cursor: pointer;
}
.theme-archihub .dash-quick__primary:hover {
  filter: brightness(1.06);
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(137, 3, 130, 0.25);
  text-decoration: none;
}

.theme-archihub .dash-quick__item {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.55rem 0.9rem;
  border-radius: 0.625rem;
  background: #fff;
  border: 1px solid var(--ah-border-color);
  color: var(--ah-text);
  font-size: 0.8125rem;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.15s ease;
  cursor: pointer;
}
.theme-archihub .dash-quick__item:hover {
  background: rgba(137, 3, 130, 0.04);
  border-color: rgba(137, 3, 130, 0.2);
  color: var(--ah-violet);
  text-decoration: none;
}
.theme-archihub .dash-quick__item i {
  font-size: 0.9rem;
  opacity: 0.8;
}

/* Active state — used by edit-mode "Enregistrer", etc. */
.theme-archihub .dash-quick__item--active,
.theme-archihub .dash-quick__item--active:hover {
  background: var(--ah-gradient);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 4px 12px rgba(137, 3, 130, 0.25);
}
.theme-archihub .dash-quick__item--active i,
.theme-archihub .dash-quick__item--active:hover i {
  opacity: 1;
  color: #fff;
}

/* Indicator rows */
.theme-archihub .dash-indicator {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.65rem 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
}
.theme-archihub .dash-indicator:last-child {
  border-bottom: none;
}

.theme-archihub .dash-indicator__icon {
  width: 36px;
  height: 36px;
  border-radius: 0.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  flex-shrink: 0;
}

.theme-archihub .dash-indicator__label {
  flex: 1;
  font-size: 0.8125rem;
  color: var(--ah-text);
}

.theme-archihub .dash-indicator__value {
  font-family: "DM Sans", system-ui, sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--ah-text);
  font-variant-numeric: tabular-nums;
}

/* Tip card (info accent) */
.theme-archihub .dash-tip {
  background: linear-gradient(135deg, rgba(137, 3, 130, 0.04) 0%, rgba(225, 29, 91, 0.03) 100%);
  border: 1px solid rgba(137, 3, 130, 0.12);
  border-radius: 1rem;
  padding: 1rem 1.25rem;
  height: 100%;
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
}

.theme-archihub .dash-tip__icon {
  width: 36px;
  height: 36px;
  border-radius: 0.5rem;
  background: rgba(137, 3, 130, 0.1);
  color: var(--ah-violet);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  flex-shrink: 0;
}

.theme-archihub .dash-tip__title {
  margin: 0 0 0.25rem;
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--ah-violet);
}

.theme-archihub .dash-tip__text {
  margin: 0;
  font-size: 0.8125rem;
  color: var(--ah-muted);
  line-height: 1.5;
}

/* Empty state premium */
.theme-archihub .dash-empty {
  text-align: center;
  padding: 2rem 1rem;
}

.theme-archihub .dash-empty__icon {
  width: 56px;
  height: 56px;
  border-radius: 0.75rem;
  background: rgba(137, 3, 130, 0.06);
  color: var(--ah-violet);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  margin-bottom: 0.75rem;
}

.theme-archihub .dash-empty__title {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--ah-text);
  margin: 0 0 0.25rem;
}

.theme-archihub .dash-empty__text {
  font-size: 0.8125rem;
  color: var(--ah-muted);
  margin: 0 0 0.75rem;
}

/* Embedded mini-table for cards */
.theme-archihub .dash-card .table.ah-table {
  margin: 0;
}

.theme-archihub .dash-card .table.ah-table thead th.ah-th {
  background: #fff;
  border-bottom: 2px solid rgba(137, 3, 130, 0.12);
  color: var(--ah-violet);
  font-size: 0.68rem;
  padding: 0.55rem 1rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.theme-archihub .dash-card .table.ah-table tbody tr.ah-row td {
  padding: 0.65rem 1rem;
  font-size: 0.8125rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
}

.theme-archihub .dash-card .table.ah-table tbody tr.ah-row:hover {
  --cui-table-accent-bg: rgba(137, 3, 130, .025);
}

.theme-archihub .dash-card .table.ah-table tbody tr:last-child td {
  border-bottom: none;
}

/* Status pills (used inline in tables/lists) */
.theme-archihub .dash-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 600;
  line-height: 1.4;
  white-space: nowrap;
}
.theme-archihub .dash-pill i {
  font-size: 0.65rem;
}

.theme-archihub .dash-pill--draft {
  background: rgba(107, 114, 128, 0.1);
  color: #4b5563;
}

.theme-archihub .dash-pill--progress {
  background: rgba(14, 165, 233, 0.1);
  color: #0369a1;
}

.theme-archihub .dash-pill--waiting {
  background: rgba(245, 158, 11, 0.12);
  color: #b45309;
}

.theme-archihub .dash-pill--success {
  background: rgba(16, 185, 129, 0.12);
  color: #047857;
}

.theme-archihub .dash-pill--danger {
  background: rgba(225, 29, 91, 0.1);
  color: #E11D5B;
}

.theme-archihub .dash-pill--violet {
  background: rgba(137, 3, 130, 0.08);
  color: #890382;
}

/* ── PERIOD pills (revenue chart) ── */
.theme-archihub .dash-period {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.theme-archihub .dash-period__pills {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 3px;
  background: rgba(0, 0, 0, 0.03);
  border-radius: 0.625rem;
  flex-wrap: wrap;
}

.theme-archihub .dash-period__pill {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--ah-muted);
  background: transparent;
  border: none;
  border-radius: 0.5rem;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.12s ease;
  appearance: none;
}
.theme-archihub .dash-period__pill:hover {
  color: var(--ah-text);
  background: rgba(255, 255, 255, 0.6);
}
.theme-archihub .dash-period__pill.active {
  color: var(--ah-violet);
  background: #fff;
  font-weight: 600;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
.theme-archihub .dash-period__pill:focus {
  outline: none;
}
.theme-archihub .dash-period__pill:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(137, 3, 130, 0.15);
}

.theme-archihub .dash-period__custom {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.theme-archihub .dash-period__input {
  height: 1.85rem;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  color: var(--ah-text);
  background: #fff;
  border: 1px solid var(--ah-border-color);
  border-radius: 0.375rem;
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.theme-archihub .dash-period__input:focus {
  border-color: rgba(137, 3, 130, 0.35);
  box-shadow: 0 0 0 3px rgba(137, 3, 130, 0.1);
}

.theme-archihub .dash-period__apply {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.85rem;
  height: 1.85rem;
  padding: 0;
  border: none;
  border-radius: 0.375rem;
  background: var(--ah-gradient);
  color: #fff;
  font-size: 0.8rem;
  cursor: pointer;
  transition: filter 0.12s ease;
}
.theme-archihub .dash-period__apply:hover {
  filter: brightness(1.06);
}
.theme-archihub .dash-period__apply:focus {
  outline: none;
}
.theme-archihub .dash-period__apply:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(137, 3, 130, 0.25);
}

/* Subtle fade-in for first paint */
@keyframes dashFadeIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.theme-archihub .dash-stat,
.theme-archihub .dash-card,
.theme-archihub .dash-tip {
  animation: dashFadeIn 0.35s cubic-bezier(0.4, 0, 0.2, 1) both;
}

/* Responsive tightening */
@media (max-width: 767.98px) {
  .theme-archihub .dash-hero {
    padding: 1.25rem 1.25rem;
  }
  .theme-archihub .dash-hero__greeting {
    font-size: 1.375rem;
  }
  .theme-archihub .dash-stat {
    padding: 0.9rem 1rem;
  }
  .theme-archihub .dash-stat__value {
    font-size: 1.375rem;
  }
}
/* =========================================================
   ARTISAN PUBLIC PROFILE — Facebook-style
   ========================================================= */
.theme-archihub .ah-fb {
  max-width: 980px;
  margin: 0 auto;
}

/* Preview banner shown to the artisan when previewing their own profile */
.theme-archihub .ah-fb-preview-banner {
  max-width: 980px;
  margin: 0 auto 1rem;
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.75rem 1.25rem;
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.12), rgba(225, 29, 91, 0.08));
  border: 1px solid rgba(245, 158, 11, 0.35);
  border-radius: 0.75rem;
  font-size: 0.875rem;
  color: #92400e;
}
.theme-archihub .ah-fb-preview-banner i {
  font-size: 1rem;
  color: #b45309;
}

/* Cover preview block in the profile edit form */
.theme-archihub .ah-cover-preview {
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 1rem;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
}

.theme-archihub .ah-cover-preview__cover {
  position: relative;
  height: 180px;
  background: radial-gradient(circle at 30% 30%, rgba(225, 29, 91, 0.25), transparent 55%), radial-gradient(circle at 70% 70%, rgba(137, 3, 130, 0.35), transparent 55%), linear-gradient(135deg, #890382 0%, #E11D5B 100%);
  background-size: cover;
  background-position: center;
}

.theme-archihub .ah-cover-preview__placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.8125rem;
}
.theme-archihub .ah-cover-preview__placeholder i {
  font-size: 2rem;
  opacity: 0.8;
}

.theme-archihub .ah-cover-preview__logo {
  position: absolute;
  left: 1.25rem;
  bottom: -32px;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  border: 4px solid #fff;
  background: linear-gradient(135deg, #890382 0%, #E11D5B 100%);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(137, 3, 130, 0.25);
  font-size: 1.75rem;
}
.theme-archihub .ah-cover-preview__logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.theme-archihub .ah-cover-preview__controls {
  padding: 2.5rem 1.5rem 1.25rem;
}

/* =========================================================
   ALBUMS — artisan management (dropzone + grid)
   ========================================================= */
.theme-archihub .ah-album-dropzone {
  border: 2px dashed rgba(137, 3, 130, 0.25);
  border-radius: 0.75rem;
  padding: 2rem 1.5rem;
  text-align: center;
  cursor: pointer;
  transition: all 0.15s ease;
  background: rgba(137, 3, 130, 0.02);
  color: var(--ah-muted);
}
.theme-archihub .ah-album-dropzone i {
  font-size: 2rem;
  color: var(--ah-violet);
  opacity: 0.7;
}
.theme-archihub .ah-album-dropzone:hover, .theme-archihub .ah-album-dropzone.drag-active {
  border-color: var(--ah-violet);
  background: rgba(137, 3, 130, 0.06);
}
.theme-archihub .ah-album-dropzone.drag-active {
  transform: scale(1.01);
  box-shadow: 0 0 0 4px rgba(137, 3, 130, 0.12);
}

.theme-archihub .ah-album-photos {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 0.65rem;
}

.theme-archihub .ah-album-photo {
  position: relative;
  aspect-ratio: 1/1;
  border-radius: 0.5rem;
  overflow: hidden;
  background: #f3f4f6;
}
.theme-archihub .ah-album-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.theme-archihub .ah-album-photo__delete {
  position: absolute;
  top: 0.35rem;
  right: 0.35rem;
  width: 28px;
  height: 28px;
  border: none;
  border-radius: 50%;
  background: rgba(225, 29, 91, 0.9);
  color: #fff;
  font-size: 0.8rem;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.15s ease, transform 0.15s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.theme-archihub .ah-album-photo__delete:hover {
  transform: scale(1.1);
}

.theme-archihub .ah-album-photo:hover .ah-album-photo__delete {
  opacity: 1;
}

/* Gallery view (client side) — masonry-like grid */
.theme-archihub .ah-album-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 0.75rem;
}

.theme-archihub .ah-album-gallery__item {
  position: relative;
  display: block;
  aspect-ratio: 4/3;
  border-radius: 0.75rem;
  overflow: hidden;
  background: #f3f4f6;
  text-decoration: none;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.theme-archihub .ah-album-gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}
.theme-archihub .ah-album-gallery__item:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(137, 3, 130, 0.1);
  text-decoration: none;
}
.theme-archihub .ah-album-gallery__item:hover img {
  transform: scale(1.05);
}

.theme-archihub .ah-album-gallery__caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0.5rem 0.75rem;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.65), transparent);
  color: #fff;
  font-size: 0.75rem;
  line-height: 1.3;
}

/* =========================================================
   LIGHTBOX — fullscreen photo viewer with keyboard nav
   ========================================================= */
.ah-lightbox {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  background: rgba(20, 20, 34, 0.92);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  opacity: 0;
  transition: opacity 0.2s ease;
}
.ah-lightbox.is-open {
  opacity: 1;
}

.ah-lightbox__stage {
  position: relative;
  max-width: 90vw;
  max-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.ah-lightbox__img {
  max-width: 100%;
  max-height: 90vh;
  object-fit: contain;
  border-radius: 0.5rem;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
  user-select: none;
  -webkit-user-drag: none;
}

.ah-lightbox__caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2.25rem;
  text-align: center;
  color: #fff;
  font-size: 0.875rem;
  line-height: 1.4;
  padding: 0 1rem;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

.ah-lightbox__counter {
  position: fixed;
  top: 1rem;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  font-variant-numeric: tabular-nums;
  background: rgba(0, 0, 0, 0.35);
  padding: 0.25rem 0.75rem;
  border-radius: 999px;
  backdrop-filter: blur(4px);
}

.ah-lightbox__btn {
  position: fixed;
  width: 48px;
  height: 48px;
  border: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(8px);
  color: #fff;
  font-size: 1.1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.15s ease, transform 0.15s ease;
  z-index: 1;
}
.ah-lightbox__btn:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: scale(1.05);
}
.ah-lightbox__btn:focus {
  outline: none;
}
.ah-lightbox__btn:focus-visible {
  box-shadow: 0 0 0 3px rgba(137, 3, 130, 0.35);
}

.ah-lightbox__close {
  top: 1rem;
  right: 1rem;
}

.ah-lightbox__prev {
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
}
.ah-lightbox__prev:hover {
  transform: translateY(-50%) scale(1.05);
}

.ah-lightbox__next {
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
}
.ah-lightbox__next:hover {
  transform: translateY(-50%) scale(1.05);
}

/* Hint that gallery items are zoomable */
.theme-archihub .ah-album-gallery__item {
  cursor: zoom-in;
}

@media (max-width: 767.98px) {
  .ah-lightbox {
    padding: 1rem;
  }
  .ah-lightbox__btn {
    width: 40px;
    height: 40px;
    font-size: 0.95rem;
  }
  .ah-lightbox__close {
    top: 0.75rem;
    right: 0.75rem;
  }
  .ah-lightbox__prev {
    left: 0.5rem;
  }
  .ah-lightbox__next {
    right: 0.5rem;
  }
  .ah-lightbox__caption {
    font-size: 0.8125rem;
    bottom: -2rem;
  }
}
/* ── Cover ── */
.ah-fb-cover {
  position: relative;
  height: 280px;
  border-radius: 1rem 1rem 0 0;
  overflow: hidden;
  background: radial-gradient(circle at 30% 30%, rgba(225, 29, 91, 0.25), transparent 55%), radial-gradient(circle at 70% 70%, rgba(137, 3, 130, 0.35), transparent 55%), linear-gradient(135deg, #890382 0%, #E11D5B 100%);
}

.ah-fb-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ah-fb-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.25) 0%, transparent 40%);
  pointer-events: none;
}

/* ── Header (logo overlapping cover) ── */
.ah-fb-head {
  position: relative;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-top: none;
  border-radius: 0 0 1rem 1rem;
  padding: 0 1.75rem 1.25rem;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
}

.ah-fb-head__top {
  display: flex;
  gap: 1.25rem;
  align-items: flex-end;
  margin-top: -64px;
  flex-wrap: wrap;
}

.ah-fb-logo {
  width: 144px;
  height: 144px;
  border-radius: 50%;
  border: 4px solid #fff;
  background: linear-gradient(135deg, #890382 0%, #E11D5B 100%);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
  font-family: "DM Sans", system-ui, sans-serif;
  font-size: 3rem;
  font-weight: 700;
  box-shadow: 0 6px 18px rgba(137, 3, 130, 0.25);
}
.ah-fb-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ah-fb-head__info {
  flex: 1;
  min-width: 0;
  padding-bottom: 0.25rem;
}

.ah-fb-name {
  font-family: "DM Sans", system-ui, sans-serif;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.1;
  color: #1e1e1e;
  margin: 0;
  word-wrap: break-word;
}

.ah-fb-meta {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  flex-wrap: wrap;
  margin-top: 0.35rem;
  font-size: 0.875rem;
  color: #717171;
}
.ah-fb-meta .sep {
  opacity: 0.35;
}
.ah-fb-meta a {
  color: #890382;
  text-decoration: none;
}
.ah-fb-meta a:hover {
  color: #E11D5B;
  text-decoration: underline;
}

.ah-fb-rating {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-weight: 600;
  color: #f59e0b;
}
.ah-fb-rating .ah-fb-rating__num {
  color: #1e1e1e;
  font-size: 1rem;
}
.ah-fb-rating .ah-fb-rating__count {
  color: #717171;
  font-weight: 400;
  font-size: 0.8125rem;
}

.ah-fb-actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}

/* ── Tabs ── */
.ah-fb-tabs {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 1.25rem 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.ah-fb-tab {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.85rem 1.1rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #717171;
  background: transparent;
  border: none;
  border-bottom: 3px solid transparent;
  cursor: pointer;
  transition: color 0.15s ease, border-color 0.15s ease;
  appearance: none;
}
.ah-fb-tab i {
  font-size: 0.95rem;
}
.ah-fb-tab:hover {
  color: #890382;
}
.ah-fb-tab.active {
  color: #890382;
  border-bottom-color: #890382;
}
.ah-fb-tab:focus {
  outline: none;
}

/* ── Content panes ── */
.ah-fb-pane {
  margin-top: 1.5rem;
  display: none;
}
.ah-fb-pane.active {
  display: block;
}

/* ── About / Coordonnées card ── */
.ah-fb-about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
@media (max-width: 767.98px) {
  .ah-fb-about-grid {
    grid-template-columns: 1fr;
  }
}

.ah-fb-card {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 1rem;
  padding: 1.25rem 1.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
}

.ah-fb-card__title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: "DM Sans", system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: #1e1e1e;
  margin: 0 0 1rem;
}
.ah-fb-card__title i {
  color: #890382;
}

.ah-fb-info {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
  font-size: 0.875rem;
}
.ah-fb-info:last-child {
  border-bottom: none;
}
.ah-fb-info i {
  color: #890382;
  font-size: 1rem;
  width: 1.25rem;
  text-align: center;
  flex-shrink: 0;
}
.ah-fb-info a {
  color: #1e1e1e;
  text-decoration: none;
}
.ah-fb-info a:hover {
  color: #890382;
}

.ah-fb-description {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: #444;
  white-space: pre-wrap;
}

/* Mini map in Coordonnées card */
.ah-fb-map {
  position: relative;
  margin-top: 0.75rem;
  border-radius: 0.75rem;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.06);
  background: #f5f5f7;
}
.ah-fb-map iframe {
  display: block;
  width: 100%;
  height: 180px;
  border: 0;
}

/* Scoped under .theme-archihub to win over the global `.theme-archihub a:hover { color: rouge }` rule. */
.theme-archihub .ah-fb-map__cta {
  position: absolute;
  bottom: 0.65rem;
  right: 0.65rem;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.4rem 0.7rem;
  border-radius: 999px;
  background: #fff;
  color: #1e1e1e;
  font-size: 0.75rem;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}
.theme-archihub .ah-fb-map__cta i {
  color: var(--ah-violet);
  font-size: 0.85rem;
}
.theme-archihub .ah-fb-map__cta:hover, .theme-archihub .ah-fb-map__cta:focus {
  background: var(--ah-violet);
  color: #fff;
  text-decoration: none;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(137, 3, 130, 0.25);
}
.theme-archihub .ah-fb-map__cta:hover i, .theme-archihub .ah-fb-map__cta:focus i {
  color: #fff;
}

/* Team list */
.ah-fb-team {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 0.65rem;
}

.ah-fb-team__item {
  text-align: center;
  padding: 0.85rem 0.5rem;
  border-radius: 0.75rem;
  background: rgba(137, 3, 130, 0.03);
  transition: background 0.15s ease;
}
.ah-fb-team__item:hover {
  background: rgba(137, 3, 130, 0.06);
}

.ah-fb-team__avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(137, 3, 130, 0.08);
  color: #890382;
  margin: 0 auto 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1rem;
  overflow: hidden;
  border: 2px solid #fff;
  box-shadow: 0 0 0 1px rgba(137, 3, 130, 0.15);
}
.ah-fb-team__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ah-fb-team__name {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #1e1e1e;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ── Albums (photos by project) ── */
.ah-fb-albums {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem;
}

.ah-fb-album {
  display: block;
  text-decoration: none;
  border-radius: 1rem;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  color: inherit;
}
.ah-fb-album:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(137, 3, 130, 0.12);
  text-decoration: none;
  color: inherit;
}

.ah-fb-album__cover {
  aspect-ratio: 4/3;
  background: rgba(137, 3, 130, 0.04);
  position: relative;
  overflow: hidden;
}
.ah-fb-album__cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ah-fb-album__count {
  position: absolute;
  right: 0.65rem;
  bottom: 0.65rem;
  padding: 0.15rem 0.55rem;
  font-size: 0.7rem;
  font-weight: 700;
  color: #fff;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(4px);
  border-radius: 999px;
}

.ah-fb-album__body {
  padding: 0.85rem 1rem;
}

.ah-fb-album__title {
  font-weight: 600;
  font-size: 0.9375rem;
  color: #1e1e1e;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ah-fb-album__meta {
  margin-top: 2px;
  font-size: 0.75rem;
  color: #890382;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* ── Reviews ── */
.ah-fb-reviews-summary {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 1.5rem;
  align-items: center;
}
@media (max-width: 767.98px) {
  .ah-fb-reviews-summary {
    grid-template-columns: 1fr;
    text-align: center;
  }
}

.ah-fb-rating-big {
  text-align: center;
}

.ah-fb-rating-big__num {
  font-family: "DM Sans", system-ui, sans-serif;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1;
  color: #1e1e1e;
}

.ah-fb-rating-big__stars {
  color: #f59e0b;
  font-size: 1.1rem;
  margin: 0.35rem 0 0.15rem;
}

.ah-fb-rating-big__count {
  font-size: 0.8125rem;
  color: #717171;
}

.ah-fb-bars {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.ah-fb-bar {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  font-size: 0.8125rem;
}

.ah-fb-bar__label {
  width: 36px;
  color: #717171;
  text-align: right;
  font-weight: 500;
}
.ah-fb-bar__label i {
  color: #f59e0b;
  font-size: 0.7rem;
  margin-left: 2px;
}

.ah-fb-bar__track {
  flex: 1;
  height: 8px;
  background: rgba(0, 0, 0, 0.05);
  border-radius: 4px;
  overflow: hidden;
}

.ah-fb-bar__fill {
  height: 100%;
  background: linear-gradient(90deg, #f59e0b, #f97316);
  border-radius: 4px;
  transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.ah-fb-bar__count {
  width: 28px;
  color: #717171;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

/* Review cards */
.ah-fb-review {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 1rem;
  padding: 1.25rem 1.5rem;
  margin-bottom: 1rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
}

.ah-fb-review__head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.5rem;
}

.ah-fb-review__avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, #890382, #E11D5B);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.9rem;
  flex-shrink: 0;
}

.ah-fb-review__author {
  flex: 1;
  min-width: 0;
}

.ah-fb-review__name {
  font-weight: 600;
  font-size: 0.9375rem;
  color: #1e1e1e;
  line-height: 1.2;
}

.ah-fb-review__date {
  font-size: 0.75rem;
  color: #717171;
  margin-top: 1px;
}

.ah-fb-review__stars {
  color: #f59e0b;
  font-size: 1rem;
  letter-spacing: 1px;
}

.ah-fb-review__body {
  color: #333;
  font-size: 0.9375rem;
  line-height: 1.55;
  white-space: pre-wrap;
}

.ah-fb-review__reply {
  margin-top: 0.85rem;
  padding: 0.75rem 1rem;
  border-left: 3px solid #890382;
  background: rgba(137, 3, 130, 0.04);
  border-radius: 0 0.5rem 0.5rem 0;
}

.ah-fb-review__reply-header {
  font-size: 0.75rem;
  color: #890382;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 0.25rem;
}

.ah-fb-review__reply-body {
  font-size: 0.875rem;
  color: #333;
}

/* Inline edit button on the reply header (preview mode) */
.ah-fb-reply-edit {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.68rem;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
  padding: 0.15rem 0.55rem;
  border: 1px solid rgba(137, 3, 130, 0.2);
  border-radius: 999px;
  background: #fff;
  color: var(--ah-violet);
  cursor: pointer;
  transition: background 0.12s, border-color 0.12s;
}
.ah-fb-reply-edit:hover {
  background: rgba(137, 3, 130, 0.08);
  border-color: var(--ah-violet);
}

/* Make the reply header flexible so the edit button can sit on the right */
.ah-fb-review__reply-header {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.ah-fb-reply-form {
  margin-top: 0.85rem;
  padding: 0.85rem 1rem;
  background: rgba(137, 3, 130, 0.03);
  border: 1px dashed rgba(137, 3, 130, 0.25);
  border-radius: 0.5rem;
}
.ah-fb-reply-form textarea {
  font-size: 0.875rem;
  line-height: 1.5;
}

/* Star rater (in form) */
.ah-fb-rater {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.ah-fb-rater__star {
  width: 36px;
  height: 36px;
  border: none;
  background: transparent;
  color: #d1d5db;
  font-size: 1.5rem;
  cursor: pointer;
  transition: color 0.12s ease, transform 0.1s ease;
  padding: 0;
  appearance: none;
}
.ah-fb-rater__star:hover {
  transform: scale(1.1);
}
.ah-fb-rater__star.active {
  color: #f59e0b;
}
.ah-fb-rater__star:focus {
  outline: none;
}
.ah-fb-rater__star:focus-visible {
  color: #f59e0b;
}

/* CTA "Laisser un avis" callout */
.ah-fb-review-cta {
  background: linear-gradient(135deg, rgba(137, 3, 130, 0.04), rgba(225, 29, 91, 0.04));
  border: 1px solid rgba(137, 3, 130, 0.15);
  border-radius: 1rem;
  padding: 1.25rem 1.5rem;
  margin-bottom: 1.25rem;
}

/* Empty states */
.ah-fb-empty {
  text-align: center;
  padding: 3rem 1.5rem;
  color: #717171;
  /* Only the direct first-level icon (the big illustration), not icons nested in buttons/links */
}
.ah-fb-empty > i:first-child {
  font-size: 3rem;
  opacity: 0.3;
  display: block;
  margin-bottom: 1rem;
}

@media (max-width: 767.98px) {
  .ah-fb-cover {
    height: 180px;
  }
  .ah-fb-logo {
    width: 110px;
    height: 110px;
    font-size: 2.25rem;
    border-width: 3px;
  }
  .ah-fb-head__top {
    margin-top: -50px;
  }
  .ah-fb-name {
    font-size: 1.5rem;
  }
  .ah-fb-head {
    padding: 0 1.25rem 1.25rem;
  }
}
/* ────────────────────────────────────────────────────────────
   Meeting reports — photo grid, dropzone, annotation editor
   ──────────────────────────────────────────────────────────── */
/* Quill wrapper for the meeting-report content editor.
   Quill applies its own borders to .ql-toolbar and .ql-container, so we
   only set the editor min-height and ensure the wrapper doesn't clip. */
.ah-mr-quill .ql-container {
  min-height: 220px;
  background: #fff;
  border-bottom-left-radius: 0.375rem;
  border-bottom-right-radius: 0.375rem;
}
.ah-mr-quill .ql-toolbar {
  border-top-left-radius: 0.375rem;
  border-top-right-radius: 0.375rem;
}
.ah-mr-quill .ql-editor {
  min-height: 220px;
}

.ah-mr-dropzone {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 1.5rem;
  border: 2px dashed rgba(137, 3, 130, 0.25);
  border-radius: 0.75rem;
  background: rgba(137, 3, 130, 0.03);
  color: #475569;
  font-size: 0.875rem;
  transition: background 0.2s, border-color 0.2s;
  cursor: default;
}
.ah-mr-dropzone.is-over {
  background: rgba(137, 3, 130, 0.08);
  border-color: #890382;
}

.ah-mr-photo {
  background: #fff;
}
.ah-mr-photo__thumb {
  position: relative;
  width: 100%;
  aspect-ratio: 4/3;
  background-size: cover;
  background-position: center;
  background-color: #f1f5f9;
  border-radius: 0.625rem;
  overflow: hidden;
}
.ah-mr-photo__thumb:hover .ah-mr-photo__actions {
  opacity: 1;
}
.ah-mr-photo__actions {
  position: absolute;
  top: 0.375rem;
  right: 0.375rem;
  display: flex;
  gap: 0.25rem;
  opacity: 0;
  transition: opacity 0.15s;
}
.ah-mr-photo__btn {
  background: rgba(255, 255, 255, 0.92);
  border: 0;
  color: #1e1e1e;
  width: 2rem;
  height: 2rem;
  border-radius: 0.375rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 0.875rem;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
  transition: background 0.15s, color 0.15s;
}
.ah-mr-photo__btn:hover {
  background: #890382;
  color: #fff;
}
.ah-mr-photo__btn--danger:hover {
  background: #dc2626;
}

/* ─────────── Annotation editor — modal aligned with the rest of the app ─────────── */
.ah-mr-editor-modal {
  border: 0;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
}
.ah-mr-editor-modal__header {
  background: linear-gradient(135deg, #890382 0%, #b9117c 100%);
  color: #fff;
  border: 0;
  padding: 1rem 1.25rem;
}
.ah-mr-editor-modal__header .modal-title {
  font-size: 1rem;
  font-weight: 600;
}
.ah-mr-editor-modal__header .btn-close {
  filter: invert(1) brightness(2);
  opacity: 0.85;
}
.ah-mr-editor-modal__body {
  background: #f6f7fb;
  padding: 0;
}
.ah-mr-editor-modal__footer {
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  padding: 0.875rem 1.25rem;
  background: #fff;
}

.ah-mr-editor-toolbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.375rem;
  padding: 0.75rem 1rem;
  background: #fff;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
.ah-mr-editor-toolbar__group {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.ah-mr-editor-toolbar__group--colors {
  gap: 0.375rem;
}
.ah-mr-editor-toolbar__group--actions {
  margin-left: auto;
  gap: 0.25rem;
}
.ah-mr-editor-toolbar__divider {
  width: 1px;
  height: 1.75rem;
  background: rgba(0, 0, 0, 0.08);
  margin: 0 0.25rem;
}

.ah-mr-tool-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.625rem;
  border: 1px solid transparent;
  border-radius: 0.5rem;
  background: transparent;
  color: #475569;
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.ah-mr-tool-btn i {
  font-size: 0.9375rem;
}
.ah-mr-tool-btn:hover {
  background: rgba(137, 3, 130, 0.06);
  color: #890382;
}
.ah-mr-tool-btn.active {
  background: rgba(137, 3, 130, 0.1);
  color: #890382;
  border-color: rgba(137, 3, 130, 0.25);
}
.ah-mr-tool-btn--ghost {
  padding: 0.375rem 0.5rem;
}
.ah-mr-tool-btn--ghost span {
  display: none;
}

.ah-mr-color-swatch {
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  border: 2px solid rgba(0, 0, 0, 0.08);
  cursor: pointer;
  padding: 0;
  transition: transform 0.12s, border-color 0.12s, box-shadow 0.12s;
}
.ah-mr-color-swatch:hover {
  transform: scale(1.12);
}
.ah-mr-color-swatch.active {
  border-color: #fff;
  box-shadow: 0 0 0 2px #890382;
}

.ah-mr-editor-canvas-wrap {
  position: relative;
  width: 100%;
  min-height: 50vh;
  max-height: 65vh;
  overflow: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(45deg, #e9ecef 25%, transparent 25%), linear-gradient(-45deg, #e9ecef 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #e9ecef 75%), linear-gradient(-45deg, transparent 75%, #e9ecef 75%);
  background-size: 20px 20px;
  background-position: 0 0, 0 10px, 10px -10px, -10px 0;
  background-color: #f6f7fb;
  padding: 1.5rem;
}
.ah-mr-editor-canvas-wrap .canvas-container {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  border-radius: 0.375rem;
  overflow: hidden;
}

/* --- Attendees picker (CR « Présents ») --- */
.ah-mr-attendees-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 0.6rem;
}
.ah-mr-attendees-chips.is-empty {
  display: none;
}

.ah-mr-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.3rem 0.35rem 0.3rem 0.7rem;
  background: rgba(137, 3, 130, 0.08);
  border: 1px solid rgba(137, 3, 130, 0.2);
  border-radius: 999px;
  font-size: 0.85rem;
  line-height: 1.2;
  color: #5a0556;
}

.ah-mr-chip__x {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border: 0;
  border-radius: 50%;
  background: rgba(137, 3, 130, 0.14);
  color: #890382;
  font-size: 0.8rem;
  line-height: 1;
  cursor: pointer;
  transition: background 0.12s ease, color 0.12s ease;
}
.ah-mr-chip__x:hover, .ah-mr-chip__x:focus {
  background: #890382;
  color: #fff;
}

/* Présents — affichage en lecture (vue détail) */
.ah-mr-presence {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.5rem;
}

.ah-mr-presence__status {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 600;
}
.ah-mr-presence__status.is-present {
  background: rgba(16, 185, 129, 0.12);
  border: 1px solid rgba(16, 185, 129, 0.35);
  color: #0f7a55;
}
.ah-mr-presence__status.is-absent {
  background: rgba(220, 38, 38, 0.1);
  border: 1px solid rgba(220, 38, 38, 0.3);
  color: #b42318;
}

.ah-mr-presence__mark {
  font-size: 0.8rem;
  line-height: 1;
  font-weight: 700;
}

.ah-mr-person {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 0.85rem 0.25rem 0.3rem;
  background: #fff;
  border: 1px solid #ece7f0;
  border-radius: 999px;
  font-size: 0.875rem;
  font-weight: 500;
  color: #1e1e1e;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
}

.ah-mr-person__avatar {
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #890382, #b5179e);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
}

.ah-mr-attendees-search {
  position: relative;
}
.ah-mr-attendees-search > .bi-search {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 0.7rem;
  transform: translateY(-50%);
  color: #890382;
  font-size: 0.95rem;
  line-height: 1;
  pointer-events: none;
}
.ah-mr-attendees-search input.form-control {
  padding-left: 2.2rem;
}

.ah-mr-attendees-list {
  position: absolute;
  z-index: 20;
  top: calc(100% + 2px);
  left: 0;
  right: 0;
  max-height: 220px;
  overflow-y: auto;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 0.5rem;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  padding: 0.25rem;
}
.ah-mr-attendees-list[hidden] {
  display: none;
}

.ah-mr-attendee-option {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  border: 0;
  background: transparent;
  text-align: left;
  padding: 0.5rem 0.65rem;
  border-radius: 0.375rem;
  font-size: 0.9rem;
  color: #1e1e1e;
  cursor: pointer;
}
.ah-mr-attendee-option .bi {
  color: #890382;
  font-size: 0.9rem;
}
.ah-mr-attendee-option:hover, .ah-mr-attendee-option:focus {
  background: rgba(137, 3, 130, 0.08);
}

[data-coreui-theme=dark] .ah-mr-attendees-list {
  background: #2a2b36;
  border-color: rgba(255, 255, 255, 0.14);
}
[data-coreui-theme=dark] .ah-mr-attendee-option {
  color: #e9ecef;
}
[data-coreui-theme=dark] .ah-mr-attendee-option:hover, [data-coreui-theme=dark] .ah-mr-attendee-option:focus {
  background: rgba(137, 3, 130, 0.25);
}
[data-coreui-theme=dark] .ah-mr-chip {
  background: rgba(137, 3, 130, 0.22);
  border-color: rgba(137, 3, 130, 0.45);
  color: #f0d6ee;
}
[data-coreui-theme=dark] .ah-mr-chip__x {
  background: rgba(255, 255, 255, 0.12);
  color: #f0d6ee;
}
[data-coreui-theme=dark] .ah-mr-chip__x:hover, [data-coreui-theme=dark] .ah-mr-chip__x:focus {
  background: #890382;
  color: #fff;
}
[data-coreui-theme=dark] .ah-mr-presence__status.is-present {
  background: rgba(16, 185, 129, 0.2);
  border-color: rgba(16, 185, 129, 0.45);
  color: #6ee7b7;
}
[data-coreui-theme=dark] .ah-mr-presence__status.is-absent {
  background: rgba(220, 38, 38, 0.2);
  border-color: rgba(220, 38, 38, 0.45);
  color: #fca5a5;
}
[data-coreui-theme=dark] .ah-mr-person {
  background: #2a2b36;
  border-color: rgba(255, 255, 255, 0.12);
  color: #e9ecef;
  box-shadow: none;
}

/* Avatar preview for artisan contact form */
.ah-contact-avatar-preview {
  width: 64px;
  height: 64px;
  border-radius: 0.75rem;
  background: rgba(137, 3, 130, 0.06);
  color: #890382;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  flex-shrink: 0;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.06);
}
.ah-contact-avatar-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Team card on client project page */
.ah-team-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 0.75rem;
}

.ah-team-card {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 0.75rem;
  background: #fff;
  transition: box-shadow 0.15s ease, border-color 0.15s ease;
}
.ah-team-card:hover {
  border-color: rgba(137, 3, 130, 0.2);
  box-shadow: 0 4px 14px rgba(137, 3, 130, 0.06);
}

.ah-team-card__avatar {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: rgba(137, 3, 130, 0.08);
  color: #890382;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  flex-shrink: 0;
  overflow: hidden;
  border: 2px solid #fff;
  box-shadow: 0 0 0 1px rgba(137, 3, 130, 0.15);
}
.ah-team-card__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ah-team-card__body {
  flex: 1;
  min-width: 0;
}

.ah-team-card__name {
  font-weight: 600;
  font-size: 0.875rem;
  color: #1e1e1e;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ah-team-card__role {
  font-size: 0.72rem;
  color: #890382;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-top: 1px;
}

.ah-team-card__contact {
  font-size: 0.75rem;
  color: #717171;
  margin-top: 4px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.ah-team-card__contact a {
  color: #717171;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.ah-team-card__contact a:hover {
  color: #890382;
}
.ah-team-card__contact i {
  font-size: 0.75rem;
  opacity: 0.8;
}

:root {
  --cui-body-bg: #f6f7fb;
  --cui-body-font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

body {
  background-color: var(--cui-body-bg);
  font-family: var(--cui-body-font-family);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* =========================================================
   DASHBOARD STAT CARDS
   ========================================================= */
.dash-stat-card {
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.dash-stat-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06) !important;
}

.dash-stat-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  flex-shrink: 0;
}

.dash-stat-value {
  font-family: "DM Sans", system-ui, sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
}

.dash-stat-label {
  font-size: 0.8125rem;
  font-weight: 400;
  color: #717171;
  line-height: 1.3;
}

/* =========================================================
   KANBAN BOARD
   ========================================================= */
.kanban-column {
  background: #f0f2f5;
  border-radius: 0.75rem;
  transition: background 0.15s ease, box-shadow 0.15s ease;
}

.kanban-column.kanban-drop-active {
  background: #e3e8f0;
  box-shadow: inset 0 0 0 2px var(--bs-primary);
}

.kanban-column-header {
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  font-family: "DM Sans", system-ui, sans-serif;
  font-weight: 600;
}

.kanban-card {
  cursor: grab;
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.kanban-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
}
.kanban-card.kanban-dragging {
  opacity: 0.4;
  cursor: grabbing;
}

.kanban-cards {
  min-height: 60px;
}

/* =========================================================
   NOTIFICATION CENTER DROPDOWN
   ========================================================= */
.notif-dropdown {
  min-width: 340px;
  max-width: 380px;
  border-radius: 0.75rem;
  overflow: hidden;
}

.notif-dropdown-header {
  background: var(--cui-card-bg, #fff);
}

.notif-dropdown-body {
  max-height: 360px;
  overflow-y: auto;
}

.notif-item {
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
  transition: background 0.12s ease;
  text-decoration: none;
  color: inherit;
}
.notif-item:hover {
  background: #f6f7fb;
  color: inherit;
}
.notif-item:last-child {
  border-bottom: 0;
}

.notif-icon-wrap {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  flex-shrink: 0;
}

.notif-title {
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.notif-subtitle {
  font-size: 0.75rem;
  line-height: 1.3;
}

.notif-time {
  font-size: 0.6875rem;
  margin-top: 2px;
}

/* Meter basique */
meter {
  height: 0.5rem;
  border: 0;
  background: #e9ecef;
  border-radius: 0.25rem;
  width: 100%;
}

meter::-webkit-meter-bar {
  background: #e9ecef;
  border-radius: 0.25rem;
}

meter::-webkit-meter-optimum-value {
  background: #198754;
}

meter::-webkit-meter-suboptimum-value {
  background: #ffc107;
}

meter::-webkit-meter-even-less-good-value {
  background: #dc3545;
}

/* Badge compact "chat" */
.badge-notify {
  --_size: 1.2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--_size);
  height: var(--_size);
  padding: 0 0.35rem;
  border-radius: 999px;
  font-size: 0.65rem;
  line-height: 1;
  font-weight: 700;
  color: #fff;
  background: #dc3545;
  border: 2px solid #fff;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.06), 0 2px 6px rgba(0, 0, 0, 0.15);
}

.badge-notify:empty::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 999px;
  background: currentColor;
  display: block;
}

.badge-notify.pulse::after {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 999px;
  border: 3px solid rgba(220, 53, 69, 0.35);
  animation: badge-pulse 1.6s ease-out infinite;
}

@keyframes badge-pulse {
  from {
    transform: scale(0.8);
    opacity: 0.7;
  }
  to {
    transform: scale(1.3);
    opacity: 0;
  }
}
.list-group .badge-notify {
  box-shadow: 0 0 0 2px #fff, 0 1px 3px rgba(0, 0, 0, 0.1);
}

.badge-notify.bg-primary {
  background: var(--bs-primary);
}

.badge-notify.bg-info {
  background: var(--bs-info);
}

/* =========================================================
   WYSIWYG (Quill) — ArchiHub theme overrides
   ========================================================= */
.ah-wysiwyg {
  border: 1px solid #dee2e6;
  border-radius: 0.5rem;
  overflow: hidden;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.ah-wysiwyg:focus-within {
  border-color: rgba(137, 3, 130, 0.4);
  box-shadow: 0 0 0 3px rgba(137, 3, 130, 0.08);
}
.ah-wysiwyg .ql-toolbar {
  border: none;
  border-bottom: 1px solid #eee;
  background: #fafafa;
  padding: 0.375rem 0.5rem;
}
.ah-wysiwyg .ql-toolbar .ql-formats {
  margin-right: 0.5rem;
}
.ah-wysiwyg .ql-toolbar button {
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 0.25rem;
}
.ah-wysiwyg .ql-toolbar button:hover, .ah-wysiwyg .ql-toolbar button.ql-active {
  color: #890382;
  background: rgba(137, 3, 130, 0.06);
}
.ah-wysiwyg .ql-toolbar .ql-picker-label {
  border-radius: 0.25rem;
  padding: 0.125rem 0.375rem;
}
.ah-wysiwyg .ql-toolbar .ql-picker-label:hover {
  color: #890382;
}
.ah-wysiwyg .ql-container {
  border: none;
  font-family: "Inter", system-ui, sans-serif;
  font-size: 0.875rem;
}
.ah-wysiwyg .ql-editor {
  min-height: 120px;
  padding: 0.75rem 1rem;
  line-height: 1.6;
  color: #1e1e1e;
}
.ah-wysiwyg .ql-editor.ql-blank::before {
  color: #a0a0a8;
  font-style: normal;
  left: 1rem;
  right: 1rem;
}
.ah-wysiwyg .ql-editor h2 {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.ah-wysiwyg .ql-editor h3 {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.ah-wysiwyg .ql-editor p {
  margin-bottom: 0.5rem;
}
.ah-wysiwyg .ql-editor ul, .ah-wysiwyg .ql-editor ol {
  padding-left: 1.25rem;
  margin-bottom: 0.5rem;
}
.ah-wysiwyg .ql-editor a {
  color: #890382;
}

/* ===== Messaging / Conversations ===== */
.ah-conv-filters {
  display: flex;
  gap: 0.4rem;
  flex-wrap: wrap;
}

.ah-conv-filter {
  display: inline-flex;
  align-items: center;
  padding: 0.4rem 0.85rem;
  border-radius: 2rem;
  font-size: 0.8rem;
  font-weight: 500;
  color: #6c757d;
  background: #fff;
  border: 1px solid #dee2e6;
  text-decoration: none;
  transition: all 0.15s;
}
.ah-conv-filter:hover {
  color: #890382;
  border-color: #890382;
  background: rgba(137, 3, 130, 0.06);
  text-decoration: none;
}
.ah-conv-filter--active, .ah-conv-filter--active:hover {
  color: #fff !important;
  background: #890382 !important;
  border-color: #890382 !important;
}

/* Messages list — table cells specifics */
.ah-msg-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: linear-gradient(135deg, #890382, #b040a8);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 700;
  box-shadow: 0 2px 6px rgba(137, 3, 130, 0.15);
}

.ah-msg-preview {
  margin-top: 2px;
  font-size: 0.75rem;
  color: #717171;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 380px;
}
.ah-msg-preview strong {
  font-weight: 600;
  color: #1e1e1e;
}

.ah-msg-unread-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #890382;
  margin-right: 0.35rem;
  vertical-align: middle;
}

/* Messaging quick-filter segmented control (Tous / Prospects / Clients / Perdus) */
.ah-msg-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.ah-msg-filter {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.45rem 0.85rem;
  border-radius: 999px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  background: #fff;
  color: #6b7280;
  font-size: 0.8125rem;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.ah-msg-filter .bi {
  font-size: 0.9rem;
  opacity: 0.85;
}
.ah-msg-filter__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  height: 1.25rem;
  padding: 0 0.35rem;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.06);
  color: #6b7280;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
}
.ah-msg-filter:hover {
  border-color: rgba(137, 3, 130, 0.3);
  color: #890382;
  background: rgba(137, 3, 130, 0.04);
}
.ah-msg-filter.is-active {
  background: var(--ah-gradient, linear-gradient(135deg, #890382, #b5179e));
  border-color: transparent;
  color: #fff;
  box-shadow: 0 4px 12px rgba(137, 3, 130, 0.25);
}
.ah-msg-filter.is-active .bi {
  opacity: 1;
}
.ah-msg-filter.is-active .ah-msg-filter__count {
  background: rgba(255, 255, 255, 0.25);
  color: #fff;
}

[data-coreui-theme=dark] .ah-msg-filter {
  background: #2a2b36;
  border-color: rgba(255, 255, 255, 0.1);
  color: #aeb0bb;
}
[data-coreui-theme=dark] .ah-msg-filter__count {
  background: rgba(255, 255, 255, 0.1);
  color: #aeb0bb;
}
[data-coreui-theme=dark] .ah-msg-filter:hover {
  color: #f0d6ee;
  background: rgba(137, 3, 130, 0.2);
}

/* Wrapper that holds the row link + the delete button overlay */
.ah-conv-row-wrap {
  position: relative;
}
.ah-conv-row-wrap:hover .ah-conv-row-delete-btn {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}

.ah-conv-row-delete {
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}

.ah-conv-row-delete-btn {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(225, 29, 91, 0.25);
  border-radius: 50%;
  background: #fff;
  color: #E11D5B;
  cursor: pointer;
  opacity: 0;
  transform: scale(0.85);
  transition: opacity 0.15s ease, transform 0.15s ease, background 0.15s ease;
  font-size: 0.85rem;
}
.ah-conv-row-delete-btn:hover {
  background: #E11D5B;
  color: #fff;
}
.ah-conv-row-delete-btn:focus {
  outline: none;
}
.ah-conv-row-delete-btn:focus-visible {
  opacity: 1;
  transform: translateY(-50%) scale(1);
  box-shadow: 0 0 0 3px rgba(225, 29, 91, 0.25);
}

/* On touch devices, always show the button (no hover state) */
@media (hover: none) {
  .ah-conv-row-delete-btn {
    opacity: 1;
    transform: translateY(-50%) scale(1);
  }
}
/* Hide the chevron arrow when the delete button is shown to avoid overlap */
.ah-conv-row-wrap:hover .ah-conv-row-chevron {
  opacity: 0;
}

.ah-conv-row-chevron {
  transition: opacity 0.15s ease;
}

.ah-conv-list {
  display: flex;
  flex-direction: column;
  border: 1px solid #e9ecef;
  border-radius: 0.75rem;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.ah-conv-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
  background: #fff;
  text-decoration: none;
  color: inherit;
  transition: all 0.15s;
  border-bottom: 1px solid #f0f0f0;
}
.ah-conv-row:last-child {
  border-bottom: none;
}
.ah-conv-row:hover {
  background: #faf7fa;
  text-decoration: none;
}
.ah-conv-row--unread {
  background: #fdf6fd;
}
.ah-conv-row--unread .ah-conv-row-name {
  font-weight: 700;
}

.ah-conv-row-avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #890382;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 0.875rem;
  flex-shrink: 0;
  box-shadow: 0 2px 6px rgba(137, 3, 130, 0.25);
}

.ah-conv-row-body {
  flex: 1;
  min-width: 0;
}

.ah-conv-row-main {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.ah-conv-row-name {
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ah-conv-row-sub {
  font-size: 0.8rem;
  color: #6c757d;
  display: flex;
  gap: 0.75rem;
  margin-top: 2px;
}

.ah-conv-preview {
  font-size: 0.78rem;
  color: #999;
  font-style: italic;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 500px;
  margin-top: 0.15rem;
}
.ah-conv-preview strong {
  font-style: normal;
  color: #6c757d;
}

.ah-conv-unread-count {
  font-size: 0.68rem;
  font-weight: 600;
  color: #890382;
  background: rgba(137, 3, 130, 0.1);
  padding: 0.1em 0.5em;
  border-radius: 2rem;
}

.ah-conv-row-end {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  flex-shrink: 0;
}

.ah-conv-row-date {
  font-size: 0.75rem;
  color: #999;
}

.ah-conv-row-chevron {
  color: #ccc;
  flex-shrink: 0;
}

.ah-conv-unread-dot {
  width: 8px;
  height: 8px;
  min-width: 8px;
  border-radius: 50%;
  background: #890382;
  display: inline-block;
  flex-shrink: 0;
}

.ah-conv-header {
  background: linear-gradient(135deg, #f8f0f7 0%, #fff 100%);
  border: 1px solid #e9ecef;
  border-radius: 0.75rem;
  padding: 1.5rem 1.75rem;
  margin-bottom: 1.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.ah-conv-header-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
}

.ah-conv-header-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.25rem 0;
  margin-top: 0.5rem;
  font-size: 0.82rem;
  color: #6c757d;
}
.ah-conv-header-meta > span,
.ah-conv-header-meta > a:not(.ah-conv-header-user-chip) {
  display: inline-flex;
  align-items: center;
}
.ah-conv-header-meta > span::before,
.ah-conv-header-meta > a:not(.ah-conv-header-user-chip)::before {
  content: "·";
  margin: 0 0.6rem;
  font-weight: 700;
  color: #ccc;
  font-size: 1.1rem;
}
.ah-conv-header-meta > :first-child::before {
  display: none;
}
.ah-conv-header-meta i {
  opacity: 0.6;
  margin-right: 0.2rem;
}

.ah-conv-header-user-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.2rem 0.7rem 0.2rem 0.25rem;
  border-radius: 2rem;
  background: rgba(137, 3, 130, 0.1);
  border: 1px solid rgba(137, 3, 130, 0.2);
  color: #890382;
  font-weight: 500;
  font-size: 0.82rem;
  text-decoration: none;
  transition: all 0.15s;
}
.ah-conv-header-user-chip:hover {
  background: rgba(137, 3, 130, 0.18);
  border-color: #890382;
  text-decoration: none;
}

.ah-conv-header-user-avatar {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #890382;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.65rem;
  font-weight: 700;
}

.ah-conv-header-actions {
  display: flex;
  gap: 0.5rem;
  flex-shrink: 0;
}

.ah-conv-card {
  border-radius: 0.75rem;
  border: 1px solid #e9ecef;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  overflow: hidden;
  background: #fff;
}

.ah-conv-card-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.85rem 1.25rem;
  font-weight: 600;
  font-size: 0.9rem;
  color: #333;
  background: transparent;
  border-bottom: 2px solid #e9ecef;
}
.ah-conv-card-header i {
  color: #890382;
  font-size: 1rem;
}
.ah-conv-card-header .badge {
  font-size: 0.72rem;
  font-weight: 600;
  color: #890382;
  background: rgba(137, 3, 130, 0.1);
  padding: 0.1em 0.55em;
  border-radius: 2rem;
}

.ah-conv-thread {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  background: #f4f5f7;
}

.ah-conv-date-sep {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  padding: 0.5rem 0;
  margin: 0.5rem 0 0.75rem;
}
.ah-conv-date-sep span {
  font-size: 0.68rem;
  color: #8898aa;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  white-space: nowrap;
  background: #e7e9ee;
  padding: 0.2rem 0.75rem;
  border-radius: 999px;
}

.ah-chat-row {
  display: flex;
  align-items: flex-end;
  gap: 0.55rem;
  margin: 0.3rem 0;
  max-width: 100%;
}

.ah-chat-row--mine {
  flex-direction: row-reverse;
}

.ah-chat-avatar {
  width: 34px;
  height: 34px;
  min-width: 34px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.7rem;
  color: #fff;
  flex-shrink: 0;
  align-self: flex-end;
  overflow: hidden;
}
.ah-chat-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

.ah-chat-avatar--artisan {
  background: #890382;
}

.ah-chat-avatar--client {
  background: #3b82f6;
}

.ah-chat-bubble-wrap {
  display: flex;
  flex-direction: column;
  max-width: 72%;
  min-width: 0;
}

.ah-chat-row--mine .ah-chat-bubble-wrap {
  align-items: flex-end;
}

.ah-chat-meta {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0 0.4rem 0.2rem;
  font-size: 0.68rem;
  color: #94a3b8;
  flex-wrap: wrap;
}

.ah-chat-row--mine .ah-chat-meta {
  flex-direction: row-reverse;
}

.ah-chat-sender {
  font-weight: 600;
  color: #64748b;
}

.ah-chat-time {
  color: #b0b8c4;
}

.ah-chat-bubble {
  padding: 0.6rem 0.85rem;
  border-radius: 1.1rem;
  font-size: 0.855rem;
  line-height: 1.55;
  word-wrap: break-word;
  box-shadow: 0 1px 1.5px rgba(0, 0, 0, 0.05);
}

.ah-chat-row--other .ah-chat-bubble {
  background: #fff;
  color: #374151;
  border: 1px solid #e7e9ee;
  border-bottom-left-radius: 0.35rem;
}

.ah-chat-row--mine .ah-chat-bubble {
  background: linear-gradient(135deg, #890382, #a8138f);
  color: #fff;
  border-bottom-right-radius: 0.35rem;
}

.ah-chat-row--mine .ah-chat-bubble a {
  color: #fff;
  text-decoration: underline;
}

.ah-chat-content {
  word-wrap: break-word;
}
.ah-chat-content p {
  margin-bottom: 0.3rem;
}
.ah-chat-content p:last-child {
  margin-bottom: 0;
}
.ah-chat-content a {
  color: #890382;
}
.ah-chat-content img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  margin-top: 0.35rem;
}
.ah-chat-content blockquote {
  border-left: 3px solid #e2e8f0;
  padding-left: 0.75rem;
  margin: 0.5rem 0;
  opacity: 0.85;
  font-size: 0.82rem;
}
.ah-chat-content ul, .ah-chat-content ol {
  padding-left: 1.25rem;
}

.ah-chat-row--mine .ah-chat-content blockquote {
  border-left-color: rgba(255, 255, 255, 0.4);
}

.ah-conv-msg-email-badge {
  display: inline-flex;
  align-items: center;
  font-size: 0.6rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #6366f1;
  background: rgba(99, 102, 241, 0.07);
  padding: 0.12rem 0.45rem;
  border-radius: 0.25rem;
}

.ah-chat-attachments {
  margin-top: 0.45rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.ah-chat-image {
  display: block;
  max-width: 260px;
  border-radius: 10px;
  overflow: hidden;
  line-height: 0;
}
.ah-chat-image img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.2s;
}
.ah-chat-image:hover img {
  transform: scale(1.03);
}

.ah-chat-attachment-link {
  display: inline-flex;
  align-items: center;
  gap: 0.15rem;
  padding: 0.35rem 0.7rem;
  border-radius: 2rem;
  font-size: 0.76rem;
  text-decoration: none;
  transition: all 0.2s;
  max-width: fit-content;
}
.ah-chat-attachment-link .bi-download {
  opacity: 0.6;
  transition: opacity 0.15s;
}
.ah-chat-attachment-link:hover .bi-download {
  opacity: 1;
}

.ah-chat-row--other .ah-chat-attachment-link {
  background: rgba(137, 3, 130, 0.06);
  border: 1px solid rgba(137, 3, 130, 0.15);
  color: #890382;
}
.ah-chat-row--other .ah-chat-attachment-link:hover {
  background: rgba(137, 3, 130, 0.14);
  border-color: rgba(137, 3, 130, 0.3);
  transform: translateY(-1px);
}

.ah-chat-row--mine .ah-chat-attachment-link {
  background: rgba(255, 255, 255, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.35);
  color: #fff;
}
.ah-chat-row--mine .ah-chat-attachment-link:hover {
  background: rgba(255, 255, 255, 0.28);
}

.ah-conv-reply {
  border-top: 2px solid #e9ecef;
  padding: 1.5rem;
  background: #fdf8fc;
}

.ah-conv-reply-label {
  font-weight: 600;
  font-size: 0.85rem;
  color: #890382;
  margin-bottom: 0.75rem;
}
.ah-conv-reply-label i {
  font-size: 0.95rem;
}

.ah-file-dropzone {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  border: 2px dashed #dee2e6;
  border-radius: 0.5rem;
  padding: 1rem 1.25rem;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s;
  background: rgba(0, 0, 0, 0.015);
}
.ah-file-dropzone:hover, .ah-file-dropzone--active {
  border-color: #890382;
  background: rgba(137, 3, 130, 0.04);
}
.ah-file-dropzone--active {
  box-shadow: 0 0 0 3px rgba(137, 3, 130, 0.12);
}
.ah-file-dropzone--compact {
  flex-direction: row;
  padding: 0.6rem 1rem;
  gap: 0.5rem;
}
.ah-file-dropzone--compact .ah-file-dropzone-icon {
  font-size: 1.1rem;
  margin-bottom: 0;
}
.ah-file-dropzone--compact .ah-file-dropzone-text {
  font-size: 0.78rem;
}
.ah-file-dropzone--compact .ah-file-dropzone-hint {
  display: none;
}

.ah-file-dropzone-icon {
  font-size: 1.5rem;
  color: #890382;
  line-height: 1;
}

.ah-file-dropzone-text {
  font-size: 0.82rem;
  color: #6c757d;
}
.ah-file-dropzone-text strong {
  color: #890382;
}

.ah-file-dropzone-hint {
  font-size: 0.72rem;
  color: #999;
}

@media (max-width: 767.98px) {
  .ah-conv-header {
    padding: 1.15rem 1.25rem;
  }
  .ah-conv-header-top {
    flex-direction: column;
  }
  .ah-conv-header-actions {
    margin-top: 0.75rem;
    flex-wrap: wrap;
  }
  .ah-conv-msg {
    max-width: 92%;
  }
  .ah-chat-bubble-wrap {
    max-width: 84%;
  }
  .ah-conv-thread {
    padding: 1rem;
  }
  .ah-conv-messages {
    padding: 1rem;
  }
  .ah-conv-reply {
    padding: 1rem;
  }
  .ah-conv-preview {
    max-width: 100%;
  }
}
.ah-file-list {
  margin-top: 0.5rem;
  overflow: hidden;
}

.ah-file-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.75rem;
  border-radius: 0.375rem;
  background: #f8f9fa;
  margin-bottom: 0.25rem;
  font-size: 0.8125rem;
  min-width: 0;
}
.ah-file-item--error {
  background: #fff3f3;
}

.ah-file-item-name {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ah-file-item-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  margin-left: 0.5rem;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: #e9ecef;
  color: #666;
  cursor: pointer;
  font-size: 0.7rem;
  flex-shrink: 0;
  transition: background 0.15s, color 0.15s;
}
.ah-file-item-remove:hover {
  background: #dc3545;
  color: #fff;
}

.ah-agenda-allday {
  display: flex;
  align-items: stretch;
  border-bottom: 1px solid #e2e8f0;
  background: #fafbfc;
}

.ah-agenda-allday-label {
  width: 64px;
  min-width: 64px;
  padding: 0.5rem 0.5rem 0.5rem 0.75rem;
  font-size: 0.65rem;
  color: #94a3b8;
  font-weight: 600;
  display: flex;
  align-items: center;
  border-right: 1px solid #e2e8f0;
}

.ah-agenda-allday-items {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  padding: 0.5rem 0.75rem;
}

.ah-agenda-timeline {
  max-height: 520px;
  overflow-y: auto;
}

.ah-agenda-row {
  display: flex;
  min-height: 48px;
  border-bottom: 1px solid #f1f5f9;
}
.ah-agenda-row:last-child {
  border-bottom: none;
}

.ah-agenda-hour {
  width: 64px;
  min-width: 64px;
  padding: 0.35rem 0.5rem 0.35rem 0.75rem;
  font-size: 0.7rem;
  font-weight: 500;
  color: #94a3b8;
  text-align: right;
  border-right: 1px solid #e2e8f0;
  flex-shrink: 0;
}

.ah-agenda-slot {
  flex: 1;
  padding: 0.25rem 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.ah-agenda-event {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.3rem 0.6rem;
  border-radius: 0.375rem;
  cursor: pointer;
  font-size: 0.75rem;
  transition: box-shadow 0.15s;
}
.ah-agenda-event:hover {
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}
.ah-agenda-event--allday {
  background: #f0e7f5;
  border-left: 3px solid #890382;
}
.ah-agenda-event--timed {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-left: 3px solid #890382;
}
.ah-agenda-event--high {
  border-left-color: #ef4444;
}
.ah-agenda-event--medium {
  border-left-color: #f59e0b;
}
.ah-agenda-event--low {
  border-left-color: #6366f1;
}

.ah-agenda-event-time {
  font-weight: 700;
  font-size: 0.7rem;
  color: #334155;
  white-space: nowrap;
}

.ah-agenda-event-title {
  font-weight: 500;
  color: #1e293b;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ah-agenda-event-project {
  font-size: 0.625rem;
  font-weight: 600;
  color: #890382;
  white-space: nowrap;
}

.ah-agenda-week-header {
  display: grid;
  grid-template-columns: 64px repeat(7, 1fr);
  border-bottom: 2px solid #e2e8f0;
}

.ah-agenda-week-gutter {
  width: 64px;
  min-width: 64px;
  padding: 0.5rem 0.5rem 0.5rem 0.75rem;
  font-size: 0.7rem;
  font-weight: 500;
  color: #94a3b8;
  text-align: right;
  border-right: 1px solid #e2e8f0;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.ah-agenda-week-day-header {
  padding: 0.5rem 0.25rem;
  text-align: center;
  font-size: 0.72rem;
  font-weight: 600;
  color: #64748b;
  border-right: 1px solid #f1f5f9;
}
.ah-agenda-week-day-header:last-child {
  border-right: none;
}
.ah-agenda-week-day-header--today {
  color: #890382;
  background: rgba(137, 3, 130, 0.03);
}

.ah-agenda-week-day-name {
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-size: 0.6rem;
  display: block;
}

.ah-agenda-week-day-num {
  font-size: 0.9rem;
  font-weight: 700;
  display: block;
  line-height: 1;
  margin-top: 0.15rem;
}
.ah-agenda-week-day-num--today {
  background: #890382;
  color: #fff;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
}

.ah-agenda-week-allday-row {
  display: grid;
  grid-template-columns: 64px repeat(7, 1fr);
  border-bottom: 1px solid #e2e8f0;
  background: #fafbfc;
}

.ah-agenda-week-allday-cell {
  padding: 0.3rem 0.25rem;
  border-right: 1px solid #f1f5f9;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.ah-agenda-week-allday-cell:last-child {
  border-right: none;
}

.ah-agenda-week-body {
  max-height: 480px;
  overflow-y: auto;
}

.ah-agenda-week-row {
  display: grid;
  grid-template-columns: 64px repeat(7, 1fr);
  min-height: 44px;
  border-bottom: 1px solid #f1f5f9;
}
.ah-agenda-week-row:last-child {
  border-bottom: none;
}

.ah-agenda-week-cell {
  padding: 0.2rem 0.2rem;
  border-right: 1px solid #f1f5f9;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.ah-agenda-week-cell:last-child {
  border-right: none;
}
.ah-agenda-week-cell--today {
  background: rgba(137, 3, 130, 0.015);
}
.ah-agenda-week-cell .ah-agenda-event {
  font-size: 0.65rem;
  padding: 0.2rem 0.35rem;
}

.ah-location-link {
  font-size: 0.8125rem;
  color: #555;
  transition: color 0.15s;
}
.ah-location-link i {
  font-size: 0.7rem;
  color: #890382;
  margin-right: 0.15rem;
}
.ah-location-link:hover {
  color: #890382;
}

.ah-due-date-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.ah-due-date-input {
  flex: 1;
  min-width: 0;
}

.ah-due-date-toggle {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.65rem;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 0.5rem;
  height: 38px;
}
.ah-due-date-toggle .form-check {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0;
  min-height: auto;
}
.ah-due-date-toggle .form-check-label {
  font-size: 0.72rem;
  color: #64748b;
  font-weight: 500;
  white-space: nowrap;
  line-height: 1;
  margin: 0;
  cursor: pointer;
}
.ah-due-date-toggle .form-check-input {
  margin: 0;
  float: none;
}

.ah-search-results {
  position: absolute;
  z-index: 1055;
  left: 0;
  right: 0;
  max-height: 240px;
  overflow-y: auto;
  background: #fff;
  border: 1px solid #dee2e6;
  border-top: none;
  border-radius: 0 0 0.375rem 0.375rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.ah-search-result-item {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  width: 100%;
  padding: 0.5rem 0.75rem;
  border: none;
  background: transparent;
  cursor: pointer;
  text-align: left;
  font-size: 0.875rem;
  transition: background 0.15s;
}
.ah-search-result-item:hover, .ah-search-result-item:focus {
  background: #f8f0f8;
  outline: none;
}

.ah-search-avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  color: #fff;
  font-weight: 600;
  font-size: 0.75rem;
  flex-shrink: 0;
  background: #6c757d;
}

.ah-search-info {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ah-search-no-result {
  padding: 0.75rem;
  color: #6c757d;
  font-size: 0.875rem;
  text-align: center;
}

.ah-recipient-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.75rem;
  background: #f0e6ef;
  border: 1px solid #d4b5d3;
  border-radius: 2rem;
  font-size: 0.875rem;
  color: #333;
}

.ah-recipient-chip-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.1);
  color: #666;
  cursor: pointer;
  font-size: 0.625rem;
  transition: background 0.15s;
}
.ah-recipient-chip-remove:hover {
  background: rgba(0, 0, 0, 0.2);
  color: #333;
}

[data-controller=recipient-search] {
  position: relative;
}

.ah-card-clean {
  background: #fff;
  border-radius: 0.5rem;
  border: 1px solid #e9ecef;
  overflow: hidden;
}

.ah-exchange-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.6rem 1rem;
  border-bottom: 1px solid #f1f5f9;
  text-decoration: none;
  color: inherit;
  transition: background 0.15s;
}
.ah-exchange-item:last-child {
  border-bottom: none;
}
.ah-exchange-item:hover {
  background: #f8fafc;
}

.ah-exchange-item-left {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.ah-exchange-status {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.ah-exchange-status--open {
  background: #22c55e;
}
.ah-exchange-status--closed {
  background: #94a3b8;
}

.ah-exchange-subject {
  font-size: 0.84rem;
  font-weight: 600;
  color: #1e293b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ah-exchange-meta {
  font-size: 0.72rem;
  color: #94a3b8;
  margin-top: 0.1rem;
}

.ah-exchange-item-right {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

.ah-exchange-badge {
  font-size: 0.62rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.2rem 0.5rem;
  border-radius: 0.25rem;
}
.ah-exchange-badge--open {
  color: #16a34a;
  background: rgba(34, 197, 94, 0.1);
}
.ah-exchange-badge--closed {
  color: #64748b;
  background: rgba(100, 116, 139, 0.08);
}

.ah-empty-state-mini {
  text-align: center;
  padding: 1.5rem 1rem;
  color: #b0b0b0;
}
.ah-empty-state-mini p {
  margin: 0.5rem 0 0;
  font-size: 0.8rem;
}

/* Dark mode removed — light only */

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsIm1hcHBpbmdzIjoiOzs7QUFBQSxnQkFBZ0I7QUFBaEI7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7QUFISjs7QUFNQTtBQUNBOztFQUVJO0VBQ0E7QUFISjs7QUFNQTtBQUNBOztFQUVJO0VBQ0E7QUFISjs7QUFNQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUhKOztBQUtBO0VBQ0k7RUFDQTtBQUZKOztBQUlBOztFQUVJO0FBREo7O0FBSUE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFESjs7QUFHQTtFQUNJO0VBQ0E7QUFBSjs7QUFHQTswREFBQTtBQUVBO0VBQ0k7QUFBSjs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBQ0o7QUFDSTtFQUNJO0VBQ0E7RUFDQTtBQUNSOztBQUdBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBQUo7O0FBRUE7RUFDSTtFQUNBO0FBQ0o7O0FBQ0E7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBRUo7O0FBQUE7RUFDSTtFQUNBO0FBR0o7O0FBREE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFJSjs7QUFEQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0FBSUo7O0FBREE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBSUo7O0FBREE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUlKOztBQUZBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFLSjs7QUFIQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUFNSjs7QUFIQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFNSjs7QUFKQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQU9KOztBQUxBO0FBQ0E7RUFBdUM7QUFTdkM7O0FBUEE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FBVUo7O0FBUkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBV0o7O0FBVEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQVlKOztBQVRBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQVlKOztBQVZBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBYUo7O0FBWEE7RUFDSTtFQUNBO0VBQ0E7QUFjSjs7QUFaQTtFQUNJO0VBQ0E7QUFlSjs7QUFaQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUFlSjs7QUFaQTtBQUNBOzs7RUFHSTtFQUNBO0VBQ0E7QUFlSjs7QUFiQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBZ0JKOztBQWJBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQWdCSjs7QUFiQTtBQUNBO0VBQ0k7QUFnQko7O0FBWkE7QUFDQTtFQUNJO0VBQ0E7QUFlSjs7QUFiQTtFQUNJO0FBZ0JKOztBQWJBOzs4REFBQTtBQUdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBZ0JKO0FBZEk7RUFDSTtFQUNBO0FBZ0JSOztBQVpBO0VBQ0k7RUFDQTtFQUNBO0FBZUo7O0FBWkE7RUFDSTtBQWVKOztBQVpBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBZUo7O0FBYkE7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7QUFnQko7O0FBZEE7RUFDSTtFQUNBO0FBaUJKOztBQWRBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFpQko7O0FBZkE7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQWtCSjs7QUFoQkE7RUFDSTtFQUNBO0FBbUJKOztBQWhCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUFtQko7O0FBakJBOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFvQko7O0FBbEJBO0VBQ0k7RUFDQTtBQXFCSjs7QUFsQkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FBcUJKOztBQW5CQTtFQUFxQztFQUE0QztBQXdCakY7O0FBdEJBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7QUF5Qko7O0FBdkJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUEwQko7O0FBdkJBO0FBQ0E7O0VBRUk7QUEwQko7O0FBdkJBO0FBQ0E7RUFBb0I7RUFBeUI7QUE0QjdDOztBQTNCQTtFQUFtRDtBQStCbkQ7O0FBN0JBOzs4REFBQTtBQUdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQWdDSjs7QUE3QkE7QUFDQTtFQUFvQztBQWlDcEM7O0FBaENBO0VBQW9DO0FBb0NwQzs7QUFsQ0E7QUFDQTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBcUNKOztBQWxDQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXFDSjs7QUFsQ0E7RUFDSTtJQUFPO0lBQVk7RUF1Q3JCO0VBdENFO0lBQU87SUFBWTtFQTBDckI7QUFDRjtBQXhDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBMENKO0FBeENJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBMENSO0FBdkNJO0VBQ0k7RUFDQTtFQUNBO0FBeUNSO0FBdkNRO0VBQVM7QUEwQ2pCO0FBdkNJO0VBQ0k7RUFDQTtBQXlDUjtBQXRDSTtFQUNJO0VBQ0E7QUF3Q1I7QUF0Q1E7RUFBUztBQXlDakI7QUF0Q0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQXdDUjtBQXRDUTtFQUFTO0FBeUNqQjs7QUFyQ0E7RUFDSTtBQXdDSjtBQXRDSTtFQUFTO0FBeUNiO0FBdkNJO0VBQ0k7RUFDQTtBQXlDUjtBQXZDUTtFQUFTO0FBMENqQjs7QUF0Q0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBeUNKOztBQXRDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXlDSjs7QUF0Q0E7NEVBQUE7QUFFQTtFQUNJO0VBQ0E7QUF5Q0o7O0FBdkNBOztrQ0FBQTtBQUdBO0VBQ0k7RUFDQTtFQUNBO0FBMENKOztBQXhDQTtFQUNJO0VBQ0E7QUEyQ0o7O0FBekNBO0VBQ0k7QUE0Q0o7O0FBekNBOzs4REFBQTtBQUdBOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUE0Q0o7O0FBMUNBOztFQUVJO0VBQ0E7RUFDQTtBQTZDSjs7QUEzQ0E7RUFDSTtBQThDSjs7QUE1Q0E7O0VBRUk7RUFDQTtFQUNBO0FBK0NKOztBQTVDQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBK0NKOztBQTdDQTtFQUNJO0FBZ0RKOztBQTlDQTtFQUNJO0VBQ0E7RUFDQTtBQWlESjs7QUEvQ0E7RUFDSTtFQUNBO0FBa0RKOztBQS9DQTtBQUNBO0VBQXVCO0FBbUR2Qjs7QUFsREE7RUFBMEI7QUFzRDFCOztBQXBEQTtBQUNBO0VBQ0k7RUFBMkI7RUFBZ0I7QUF5RC9DOztBQXREQTtBQUNBO0VBQ0k7RUFDQTtBQXlESjs7QUF0REE7QUFDQTtFQUE2QjtFQUFnQjtBQTJEN0M7O0FBekRBO0FBQ0E7RUFBcUM7QUE2RHJDOztBQTNEQTs7OERBQUE7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBOERKOztBQTVEQTtFQUNJO0VBQ0E7QUErREo7O0FBN0RBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUFnRUo7O0FBN0RBOzs4REFBQTtBQUdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQWdFSjs7QUE5REE7RUFDSTtFQUNBO0VBQW9CO0VBQ3BCO0VBQWE7RUFDYjtFQUNBO0VBQ0E7RUFDQTtBQW1FSjs7QUFoRUE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FBbUVKOztBQWhFQTs7OERBQUE7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FBbUVKOztBQWpFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQW9FSjs7QUFqRUE7QUFDQTtFQUNJO0VBQ0E7QUFvRUo7QUFsRUk7RUFDSTtBQW9FUjs7QUFoRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBbUVKO0FBakVJO0VBQ0k7QUFtRVI7O0FBL0RBO0FBQ0E7RUFDSTtFQUNBO0FBa0VKOztBQWhFQTtFQUNJO0VBQ0E7QUFtRUo7O0FBakVBO0VBQ0k7QUFvRUo7O0FBbEVBO0VBQ0k7QUFxRUo7O0FBbkVBO0FBQ0E7RUFDSTtFQUNBO0FBc0VKOztBQXBFQTtFQUNJO0FBdUVKOztBQXBFQTs7OztrRUFBQTtBQUtBO0FBQ0E7RUFBdUI7QUF3RXZCOztBQXRFQTtFQUNJO0VBQ0E7SUFBa0M7RUEwRXBDO0VBekVFO0lBQTREO0VBNEU5RDtFQTFFRTtFQUNBO0lBQXNEO0VBNkV4RDtFQTVFRTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VBOEVOO0VBNUVFO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFQThFTjtFQTVFRTtJQUF3RTtFQStFMUU7RUE5RUU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VBZ0ZOO0VBOUVFO0lBQXVFO0VBaUZ6RTtFQWhGRTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0VBa0ZOO0VBL0VFO0VBQ0E7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFQWlGTjtFQS9FRTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFQWlGTjtFQS9FRTtJQUErQjtJQUFnQjtFQW1GakQ7RUFsRkU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUFvRk47RUFsRkU7SUFDSTtJQUNBO0lBQ0E7RUFvRk47RUFsRkU7O0lBQytEO0VBcUZqRTtFQXBGRTtJQUErRDtFQXVGakU7RUFyRkU7RUFDQTtrRUFBQTtFQUVBO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFQXVGTjtFQXJGRTtJQUF1RDtFQXdGekQ7RUF2RkU7SUFBaUU7RUEwRm5FO0VBeEZFOzs7O0lBSUk7SUFDQTtFQTBGTjtFQXZGRTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFQXlGTjtFQXRGRTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUF3Rk47RUF0RkU7SUFBNEQ7RUF5RjlEO0VBdkZFO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFQXlGTjtFQXRGRTtFQUNBO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFQXdGTjtFQXRGRTtJQUFxRTtFQXlGdkU7RUF2RkU7RUFDQTtJQUNJO0lBQ0E7RUF5Rk47RUF2RkU7SUFBd0U7RUEwRjFFO0VBeEZFO0VBQ0E7SUFDSTtFQTBGTjtFQXhGRTtJQUEyRDtFQTJGN0Q7QUFDRjtBQXpGQTtBQUNBO0VBQ0k7RUFBYTtFQUFjO0VBQzNCO0VBQ0E7RUFBc0I7RUFBcUI7RUFDM0M7RUFBa0I7RUFDbEI7RUFDQTtFQUNBO0FBZ0dKOztBQTdGQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFnR0o7O0FBOUZBO0VBQ0k7RUFDQTtBQWlHSjs7QUE5RkE7QUFDQTtFQUNJO0VBQXFCO0VBQ3JCO0VBQ0E7RUFDQTtBQWtHSjs7QUEvRkE7QUFDQTtFQUFzQztFQUF5QjtBQW9HL0Q7O0FBbkdBO0VBQTRDO0VBQXdCO0VBQTRCO0FBeUdoRzs7QUF2R0E7QUFDQTtFQUFrQztFQUFzQjtBQTRHeEQ7O0FBMUdBO0FBQ0E7RUFDSTtFQUFvQjtFQUFnQjtBQStHeEM7O0FBNUdBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUErR0o7O0FBN0dBO0VBQ0k7RUFDQTtBQWdISjs7QUE5R0E7RUFDSTtFQUNBO0VBQ0E7QUFpSEo7O0FBL0dBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFrSEo7O0FBaEhBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUFtSEo7O0FBakhBOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFvSEo7O0FBbEhBOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFxSEo7O0FBbkhBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXNISjs7QUFwSEE7RUFDSTtJQUF1QjtFQXdIekI7RUF2SEU7SUFBaUI7RUEwSG5CO0FBQ0Y7QUF4SEE7QUFDQTtFQUNJO0VBQVc7RUFBWTtFQUN2QjtFQUFXO0VBQ1g7QUE2SEo7O0FBMUhBO0FBQ0E7RUFBeUM7QUE4SHpDOztBQTVIQTtBQUNBO0VBQ0k7RUFBc0I7QUFnSTFCOztBQTdIQTs7OERBQUE7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBZ0lKOztBQTdIQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFnSUo7O0FBOUhBO0VBQ0k7RUFDQTtFQUNBO0FBaUlKOztBQS9IQTtFQUNJO0VBQ0E7RUFDQTtBQWtJSjs7QUFoSUE7RUFDSTtFQUNBO0FBbUlKOztBQWpJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQW9JSjs7QUFqSUE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFvSUo7O0FBOUhBO0VBQ0k7QUFpSUo7O0FBNUhBOzs4REFBQTtBQUdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUErSEo7O0FBN0hBO0VBQ0k7RUFDQTtBQWdJSjs7QUE5SEE7RUFDSTtFQUNBO0FBaUlKOztBQS9IQTtFQUNJO0VBQWE7RUFDYjtFQUNBO0VBQWU7RUFBcUI7RUFDcEM7RUFDQTtBQXFJSjs7QUFuSUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBc0lKOztBQXBJQTtFQUNJO0VBQ0E7RUFDQTtBQXVJSjs7QUFwSUE7OzhEQUFBO0FBR0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBdUlKOztBQXJJQTtFQUNJO0VBQ0E7QUF3SUo7O0FBdElBO0VBQ0k7RUFDQTtBQXlJSjs7QUF2SUE7RUFDSTtFQUNBO0FBMElKLEM7Ozs7QUNwNUNBLGdCQUFnQjtBQ0FoQjs7aUVBQUE7QUFJQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBREtKO0FDRkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRElKO0FDRkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QURJSjtBQ0RBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QURHSjtBQ0RBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FER0o7QUUvQ0E7Ozs7RUFBQTtBQ09BOztFQVNJO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUdGO0VBQ0E7RUFNQTtFQUNBO0VBQ0E7RUFPQTtFQ3dPSSwwQkFMSTtFRGpPUjtFQUNBO0VBS0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFHQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFNQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0VBQ0E7RUFDQTtBSGdDRjs7QUtqTEk7RUZ1SkE7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBR0U7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFHRjtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0FINENKOztBTW5RQTs7O0VBR0U7QU5zUUY7O0FNdlBJO0VBTko7SUFPTTtFTjJQSjtBQUNGO0FNOU9BO0VBQ0U7RUFDQTtFRitPSSxvQ0FMSTtFRXhPUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTmdQRjs7QU12T0E7RUFDRTtFQUNBLGNDNnBCNEI7RUQ1cEI1QjtFQUNBO0VBQ0EsYUNtcUI0QjtBUHpiOUI7O0FNaE9BO0VBQ0U7RUFDQSxxQkNrbUI0QjtFRC9sQjVCLGdCQ2ttQjRCO0VEam1CNUIsZ0JDa21CNEI7RURqbUI1QjtBTmlPRjs7QU05TkE7RUZ5TVE7QUp5QlI7O0FJckxJO0VFN0NKO0lGZ05RO0VKdUJOO0FBQ0Y7QU1uT0E7RUZvTVE7QUprQ1I7O0FJOUxJO0VFeENKO0lGMk1RO0VKZ0NOO0FBQ0Y7QU12T0E7RUYrTFE7QUoyQ1I7O0FJdk1JO0VFbkNKO0lGc01RO0VKeUNOO0FBQ0Y7QU0zT0E7RUYwTFE7QUpvRFI7O0FJaE5JO0VFOUJKO0lGaU1RO0VKa0ROO0FBQ0Y7QU0vT0E7RUZpTE0sa0JBTEk7QUpzRVY7O0FNN09BO0VGNEtNLGVBTEk7QUowRVY7O0FNdE9BO0VBQ0U7RUFDQSxtQkNvWDBCO0FQM0k1Qjs7QU0vTkE7RUFDRTtFQUNBO0VBQ0E7QU5rT0Y7O0FNNU5BO0VBQ0U7RUFDQTtFQUNBO0FOK05GOztBTXpOQTs7RUFFRTtBTjRORjs7QU16TkE7OztFQUdFO0VBQ0E7QU40TkY7O0FNek5BOzs7O0VBSUU7QU40TkY7O0FNek5BO0VBQ0UsZ0JDdWU0QjtBUDNROUI7O0FNdk5BO0VBQ0U7RUFDQTtBTjBORjs7QU1wTkE7RUFDRTtBTnVORjs7QU0vTUE7O0VBRUUsbUJDZ2Q0QjtBUDlQOUI7O0FNMU1BO0VGK0VNLGtCQUxJO0FKb0lWOztBTXZNQTtFQUNFLGlCQytoQjRCO0VEOWhCNUI7RUFDQTtBTjBNRjs7QU1qTUE7O0VBRUU7RUYwREksaUJBTEk7RUVuRFI7RUFDQTtBTm9NRjs7QU1qTUE7RUFBTTtBTnFNTjs7QU1wTUE7RUFBTTtBTndNTjs7QU1uTUE7RUFDRTtFQUNBLDBCQzRPd0M7QVB0QzFDOztBTXBNRTtFQUNFO0FOdU1KOztBTTdMRTtFQUVFO0VBQ0E7QU4rTEo7O0FNeExBOzs7O0VBSUUsc0NDMlg0QjtFSDFXeEIsY0FMSTtBSmdMVjs7QU1wTEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFRktJLGtCQUxJO0VFRVI7QU51TEY7O0FNcExFO0VGQUksa0JBTEk7RUVPTjtFQUNBO0FOdUxKOztBTW5MQTtFRlBNLGtCQUxJO0VFY1I7RUFDQTtBTnNMRjs7QU1uTEU7RUFDRTtBTnNMSjs7QU1sTEE7RUFDRTtFRm5CSSxrQkFMSTtFRTBCUjtFQUNBO0VFcFNFO0FSMGRKOztBTW5MRTtFQUNFO0VGMUJFLGNBTEk7QUpzTlY7O0FNNUtBO0VBQ0U7QU4rS0Y7O0FNektBOztFQUVFO0FONEtGOztBTXBLQTtFQUNFO0VBQ0E7QU51S0Y7O0FNcEtBO0VBQ0UsbUJDOGE0QjtFRDdhNUIsc0JDNmE0QjtFRDVhNUI7RUFDQTtBTnVLRjs7QU1oS0E7RUFFRTtFQUNBO0FOa0tGOztBTS9KQTs7Ozs7O0VBTUU7RUFDQTtFQUNBO0FOa0tGOztBTTFKQTtFQUNFO0FONkpGOztBTXZKQTtFQUVFO0FOeUpGOztBTWpKQTtFQUNFO0FOb0pGOztBTS9JQTs7Ozs7RUFLRTtFQUNBO0VGekhJLGtCQUxJO0VFZ0lSO0FOa0pGOztBTTlJQTs7RUFFRTtBTmlKRjs7QU01SUE7RUFDRTtBTitJRjs7QU01SUE7RUFHRTtBTjZJRjs7QU0xSUU7RUFDRTtBTjZJSjs7QU10SUE7RUFDRTtBTnlJRjs7QU1qSUE7Ozs7RUFJRTtBTm9JRjs7QU1qSUk7Ozs7RUFDRTtBTnVJTjs7QU1oSUE7RUFDRTtFQUNBO0FObUlGOztBTTlIQTtFQUNFO0FOaUlGOztBTXZIQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FOMEhGOztBTWxIQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLHFCQzhQNEI7RUQ1UDVCO0VGaE5NO0FKcVVSOztBSWplSTtFRXNXSjtJRm5NUTtFSm1VTjtBQUNGO0FNeEhFO0VBQ0U7QU4wSEo7O0FNbkhBOzs7Ozs7O0VBT0U7QU5zSEY7O0FNbkhBO0VBQ0U7QU5zSEY7O0FNN0dBO0VBQ0U7RUFDQTtBTmdIRjs7QU16R0U7Ozs7RUFJRTtBTjRHSjs7QU1yR0E7RUFDRTtBTndHRjs7QU1uR0E7RUFDRTtBTnNHRjs7QU0vRkE7RUFDRTtFQUNBO0FOa0dGOztBTTdGQTtFQUNFO0FOZ0dGOztBTTNGQTtFQUNFO0FOOEZGOztBTXZGQTtFQUNFO0VBQ0E7QU4wRkY7O0FNbEZBO0VBQ0U7QU5xRkY7O0FNN0VBO0VBQ0U7QU5nRkY7O0FTbHBCQTtFTG9RTSxrQkFMSTtFSzdQUixnQkZpckI4QjtBUDVCaEM7O0FTaHBCRTtFQUdFLGdCRm1xQmtCO0VFbHFCbEIsZ0JGa3BCMEI7RUhyWnRCO0FKcVpSOztBSWpqQkk7RUtyR0Y7SUx3UU07RUptWk47QUFDRjtBUzVwQkU7RUFHRSxnQkZtcUJrQjtFRWxxQmxCLGdCRmtwQjBCO0VIclp0QjtBSmdhUjs7QUk1akJJO0VLckdGO0lMd1FNO0VKOFpOO0FBQ0Y7QVN2cUJFO0VBR0UsZ0JGbXFCa0I7RUVscUJsQixnQkZrcEIwQjtFSHJadEI7QUoyYVI7O0FJdmtCSTtFS3JHRjtJTHdRTTtFSnlhTjtBQUNGO0FTbHJCRTtFQUdFLGdCRm1xQmtCO0VFbHFCbEIsZ0JGa3BCMEI7RUhyWnRCO0FKc2JSOztBSWxsQkk7RUtyR0Y7SUx3UU07RUpvYk47QUFDRjtBUzdyQkU7RUFHRSxnQkZtcUJrQjtFRWxxQmxCLGdCRmtwQjBCO0VIclp0QjtBSmljUjs7QUk3bEJJO0VLckdGO0lMd1FNO0VKK2JOO0FBQ0Y7QVN4c0JFO0VBR0UsZ0JGbXFCa0I7RUVscUJsQixnQkZrcEIwQjtFSHJadEI7QUo0Y1I7O0FJeG1CSTtFS3JHRjtJTHdRTTtFSjBjTjtBQUNGO0FTM3JCQTtFQzVERTtFQUNBO0FWMHZCRjs7QVMxckJBO0VDakVFO0VBQ0E7QVYrdkJGOztBUzVyQkE7RUFDRTtBVCtyQkY7O0FTN3JCRTtFQUNFLHlCRitxQjBCO0FQaUI5Qjs7QVN0ckJBO0VMK01NLGtCQUxJO0VLeE1SO0FUeXJCRjs7QVNyckJBO0VBQ0UsbUJGNFZPO0VIcEpILGtCQUxJO0FKc2ZWOztBU3RyQkU7RUFDRTtBVHlyQko7O0FTcnJCQTtFQUNFO0VBQ0EsbUJGa1ZPO0VIcEpILGtCQUxJO0VLdkxSLGNGakZVO0FQeXdCWjs7QVN0ckJFO0VBQ0U7QVR5ckJKOztBV3h4QkE7RUNGRTtFQUdBO0FaNHhCRjs7QVd2eEJBO0VBQ0UsZ0JKdXlEa0M7RUl0eURsQztFQUNBO0VIQ0U7RUlaRjtFQUdBO0FacXlCRjs7QVdqeEJBO0VBRUU7QVhteEJGOztBV2h4QkE7RUFDRTtFQUNBO0FYbXhCRjs7QVdoeEJBO0VQeVBNLGtCQUxJO0VPbFBSO0FYbXhCRjs7QWF2ekJFOzs7Ozs7O0VDTEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWRzMEJGOztBZTl3Qkk7RUY1Q0U7SUFDRSxnQk4yZ0JlO0VQbVRyQjtBQUNGO0FlcHhCSTtFRjVDRTtJQUNFLGdCTjJnQmU7RVB3VHJCO0FBQ0Y7QWV6eEJJO0VGNUNFO0lBQ0UsZ0JOMmdCZTtFUDZUckI7QUFDRjtBZTl4Qkk7RUY1Q0U7SUFDRSxpQk4yZ0JlO0VQa1VyQjtBQUNGO0FlbnlCSTtFRjVDRTtJQUNFLGlCTjJnQmU7RVB1VXJCO0FBQ0Y7QWdCbDJCQTtFQUVJO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUdGO0FoQnMyQkY7O0FnQmwyQkU7RUNMQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBakIwMkJGOztBZ0J6MkJJO0VDUUY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQnEyQkY7O0FpQnR6Qk07RUFDRTtBakJ5ekJSOztBaUJ0ekJNO0VBcENKO0VBQ0E7QWpCODFCRjs7QWlCaDFCRTtFQUNFO0VBQ0E7QWpCbTFCSjs7QWlCcjFCRTtFQUNFO0VBQ0E7QWpCdzFCSjs7QWlCMTFCRTtFQUNFO0VBQ0E7QWpCNjFCSjs7QWlCLzFCRTtFQUNFO0VBQ0E7QWpCazJCSjs7QWlCcDJCRTtFQUNFO0VBQ0E7QWpCdTJCSjs7QWlCejJCRTtFQUNFO0VBQ0E7QWpCNDJCSjs7QWlCNzBCTTtFQWhESjtFQUNBO0FqQmk0QkY7O0FpQjUwQlU7RUFoRU47RUFDQTtBakJnNUJKOztBaUJqMUJVO0VBaEVOO0VBQ0E7QWpCcTVCSjs7QWlCdDFCVTtFQWhFTjtFQUNBO0FqQjA1Qko7O0FpQjMxQlU7RUFoRU47RUFDQTtBakIrNUJKOztBaUJoMkJVO0VBaEVOO0VBQ0E7QWpCbzZCSjs7QWlCcjJCVTtFQWhFTjtFQUNBO0FqQnk2Qko7O0FpQjEyQlU7RUFoRU47RUFDQTtBakI4NkJKOztBaUIvMkJVO0VBaEVOO0VBQ0E7QWpCbTdCSjs7QWlCcDNCVTtFQWhFTjtFQUNBO0FqQnc3Qko7O0FpQnozQlU7RUFoRU47RUFDQTtBakI2N0JKOztBaUI5M0JVO0VBaEVOO0VBQ0E7QWpCazhCSjs7QWlCbjRCVTtFQWhFTjtFQUNBO0FqQnU4Qko7O0FpQmg0Qlk7RUF4RFY7QWpCNDdCRjs7QWlCcDRCWTtFQXhEVjtBakJnOEJGOztBaUJ4NEJZO0VBeERWO0FqQm84QkY7O0FpQjU0Qlk7RUF4RFY7QWpCdzhCRjs7QWlCaDVCWTtFQXhEVjtBakI0OEJGOztBaUJwNUJZO0VBeERWO0FqQmc5QkY7O0FpQng1Qlk7RUF4RFY7QWpCbzlCRjs7QWlCNTVCWTtFQXhEVjtBakJ3OUJGOztBaUJoNkJZO0VBeERWO0FqQjQ5QkY7O0FpQnA2Qlk7RUF4RFY7QWpCZytCRjs7QWlCeDZCWTtFQXhEVjtBakJvK0JGOztBaUJqNkJROztFQUVFO0FqQm82QlY7O0FpQmo2QlE7O0VBRUU7QWpCbzZCVjs7QWlCMzZCUTs7RUFFRTtBakI4NkJWOztBaUIzNkJROztFQUVFO0FqQjg2QlY7O0FpQnI3QlE7O0VBRUU7QWpCdzdCVjs7QWlCcjdCUTs7RUFFRTtBakJ3N0JWOztBaUIvN0JROztFQUVFO0FqQms4QlY7O0FpQi83QlE7O0VBRUU7QWpCazhCVjs7QWlCejhCUTs7RUFFRTtBakI0OEJWOztBaUJ6OEJROztFQUVFO0FqQjQ4QlY7O0FpQm45QlE7O0VBRUU7QWpCczlCVjs7QWlCbjlCUTs7RUFFRTtBakJzOUJWOztBZXBoQ0k7RUVjRTtJQUNFO0VqQjBnQ047RWlCdmdDSTtJQXBDSjtJQUNBO0VqQjhpQ0E7RWlCaGlDQTtJQUNFO0lBQ0E7RWpCa2lDRjtFaUJwaUNBO0lBQ0U7SUFDQTtFakJzaUNGO0VpQnhpQ0E7SUFDRTtJQUNBO0VqQjBpQ0Y7RWlCNWlDQTtJQUNFO0lBQ0E7RWpCOGlDRjtFaUJoakNBO0lBQ0U7SUFDQTtFakJrakNGO0VpQnBqQ0E7SUFDRTtJQUNBO0VqQnNqQ0Y7RWlCdmhDSTtJQWhESjtJQUNBO0VqQjBrQ0E7RWlCcmhDUTtJQWhFTjtJQUNBO0VqQndsQ0Y7RWlCemhDUTtJQWhFTjtJQUNBO0VqQjRsQ0Y7RWlCN2hDUTtJQWhFTjtJQUNBO0VqQmdtQ0Y7RWlCamlDUTtJQWhFTjtJQUNBO0VqQm9tQ0Y7RWlCcmlDUTtJQWhFTjtJQUNBO0VqQndtQ0Y7RWlCemlDUTtJQWhFTjtJQUNBO0VqQjRtQ0Y7RWlCN2lDUTtJQWhFTjtJQUNBO0VqQmduQ0Y7RWlCampDUTtJQWhFTjtJQUNBO0VqQm9uQ0Y7RWlCcmpDUTtJQWhFTjtJQUNBO0VqQnduQ0Y7RWlCempDUTtJQWhFTjtJQUNBO0VqQjRuQ0Y7RWlCN2pDUTtJQWhFTjtJQUNBO0VqQmdvQ0Y7RWlCamtDUTtJQWhFTjtJQUNBO0VqQm9vQ0Y7RWlCN2pDVTtJQXhEVjtFakJ3bkNBO0VpQmhrQ1U7SUF4RFY7RWpCMm5DQTtFaUJua0NVO0lBeERWO0VqQjhuQ0E7RWlCdGtDVTtJQXhEVjtFakJpb0NBO0VpQnprQ1U7SUF4RFY7RWpCb29DQTtFaUI1a0NVO0lBeERWO0VqQnVvQ0E7RWlCL2tDVTtJQXhEVjtFakIwb0NBO0VpQmxsQ1U7SUF4RFY7RWpCNm9DQTtFaUJybENVO0lBeERWO0VqQmdwQ0E7RWlCeGxDVTtJQXhEVjtFakJtcENBO0VpQjNsQ1U7SUF4RFY7RWpCc3BDQTtFaUI5bENVO0lBeERWO0VqQnlwQ0E7RWlCdGxDTTs7SUFFRTtFakJ3bENSO0VpQnJsQ007O0lBRUU7RWpCdWxDUjtFaUI5bENNOztJQUVFO0VqQmdtQ1I7RWlCN2xDTTs7SUFFRTtFakIrbENSO0VpQnRtQ007O0lBRUU7RWpCd21DUjtFaUJybUNNOztJQUVFO0VqQnVtQ1I7RWlCOW1DTTs7SUFFRTtFakJnbkNSO0VpQjdtQ007O0lBRUU7RWpCK21DUjtFaUJ0bkNNOztJQUVFO0VqQnduQ1I7RWlCcm5DTTs7SUFFRTtFakJ1bkNSO0VpQjluQ007O0lBRUU7RWpCZ29DUjtFaUI3bkNNOztJQUVFO0VqQituQ1I7QUFDRjtBZTlyQ0k7RUVjRTtJQUNFO0VqQm1yQ047RWlCaHJDSTtJQXBDSjtJQUNBO0VqQnV0Q0E7RWlCenNDQTtJQUNFO0lBQ0E7RWpCMnNDRjtFaUI3c0NBO0lBQ0U7SUFDQTtFakIrc0NGO0VpQmp0Q0E7SUFDRTtJQUNBO0VqQm10Q0Y7RWlCcnRDQTtJQUNFO0lBQ0E7RWpCdXRDRjtFaUJ6dENBO0lBQ0U7SUFDQTtFakIydENGO0VpQjd0Q0E7SUFDRTtJQUNBO0VqQit0Q0Y7RWlCaHNDSTtJQWhESjtJQUNBO0VqQm12Q0E7RWlCOXJDUTtJQWhFTjtJQUNBO0VqQml3Q0Y7RWlCbHNDUTtJQWhFTjtJQUNBO0VqQnF3Q0Y7RWlCdHNDUTtJQWhFTjtJQUNBO0VqQnl3Q0Y7RWlCMXNDUTtJQWhFTjtJQUNBO0VqQjZ3Q0Y7RWlCOXNDUTtJQWhFTjtJQUNBO0VqQml4Q0Y7RWlCbHRDUTtJQWhFTjtJQUNBO0VqQnF4Q0Y7RWlCdHRDUTtJQWhFTjtJQUNBO0VqQnl4Q0Y7RWlCMXRDUTtJQWhFTjtJQUNBO0VqQjZ4Q0Y7RWlCOXRDUTtJQWhFTjtJQUNBO0VqQml5Q0Y7RWlCbHVDUTtJQWhFTjtJQUNBO0VqQnF5Q0Y7RWlCdHVDUTtJQWhFTjtJQUNBO0VqQnl5Q0Y7RWlCMXVDUTtJQWhFTjtJQUNBO0VqQjZ5Q0Y7RWlCdHVDVTtJQXhEVjtFakJpeUNBO0VpQnp1Q1U7SUF4RFY7RWpCb3lDQTtFaUI1dUNVO0lBeERWO0VqQnV5Q0E7RWlCL3VDVTtJQXhEVjtFakIweUNBO0VpQmx2Q1U7SUF4RFY7RWpCNnlDQTtFaUJydkNVO0lBeERWO0VqQmd6Q0E7RWlCeHZDVTtJQXhEVjtFakJtekNBO0VpQjN2Q1U7SUF4RFY7RWpCc3pDQTtFaUI5dkNVO0lBeERWO0VqQnl6Q0E7RWlCandDVTtJQXhEVjtFakI0ekNBO0VpQnB3Q1U7SUF4RFY7RWpCK3pDQTtFaUJ2d0NVO0lBeERWO0VqQmswQ0E7RWlCL3ZDTTs7SUFFRTtFakJpd0NSO0VpQjl2Q007O0lBRUU7RWpCZ3dDUjtFaUJ2d0NNOztJQUVFO0VqQnl3Q1I7RWlCdHdDTTs7SUFFRTtFakJ3d0NSO0VpQi93Q007O0lBRUU7RWpCaXhDUjtFaUI5d0NNOztJQUVFO0VqQmd4Q1I7RWlCdnhDTTs7SUFFRTtFakJ5eENSO0VpQnR4Q007O0lBRUU7RWpCd3hDUjtFaUIveENNOztJQUVFO0VqQml5Q1I7RWlCOXhDTTs7SUFFRTtFakJneUNSO0VpQnZ5Q007O0lBRUU7RWpCeXlDUjtFaUJ0eUNNOztJQUVFO0VqQnd5Q1I7QUFDRjtBZXYyQ0k7RUVjRTtJQUNFO0VqQjQxQ047RWlCejFDSTtJQXBDSjtJQUNBO0VqQmc0Q0E7RWlCbDNDQTtJQUNFO0lBQ0E7RWpCbzNDRjtFaUJ0M0NBO0lBQ0U7SUFDQTtFakJ3M0NGO0VpQjEzQ0E7SUFDRTtJQUNBO0VqQjQzQ0Y7RWlCOTNDQTtJQUNFO0lBQ0E7RWpCZzRDRjtFaUJsNENBO0lBQ0U7SUFDQTtFakJvNENGO0VpQnQ0Q0E7SUFDRTtJQUNBO0VqQnc0Q0Y7RWlCejJDSTtJQWhESjtJQUNBO0VqQjQ1Q0E7RWlCdjJDUTtJQWhFTjtJQUNBO0VqQjA2Q0Y7RWlCMzJDUTtJQWhFTjtJQUNBO0VqQjg2Q0Y7RWlCLzJDUTtJQWhFTjtJQUNBO0VqQms3Q0Y7RWlCbjNDUTtJQWhFTjtJQUNBO0VqQnM3Q0Y7RWlCdjNDUTtJQWhFTjtJQUNBO0VqQjA3Q0Y7RWlCMzNDUTtJQWhFTjtJQUNBO0VqQjg3Q0Y7RWlCLzNDUTtJQWhFTjtJQUNBO0VqQms4Q0Y7RWlCbjRDUTtJQWhFTjtJQUNBO0VqQnM4Q0Y7RWlCdjRDUTtJQWhFTjtJQUNBO0VqQjA4Q0Y7RWlCMzRDUTtJQWhFTjtJQUNBO0VqQjg4Q0Y7RWlCLzRDUTtJQWhFTjtJQUNBO0VqQms5Q0Y7RWlCbjVDUTtJQWhFTjtJQUNBO0VqQnM5Q0Y7RWlCLzRDVTtJQXhEVjtFakIwOENBO0VpQmw1Q1U7SUF4RFY7RWpCNjhDQTtFaUJyNUNVO0lBeERWO0VqQmc5Q0E7RWlCeDVDVTtJQXhEVjtFakJtOUNBO0VpQjM1Q1U7SUF4RFY7RWpCczlDQTtFaUI5NUNVO0lBeERWO0VqQnk5Q0E7RWlCajZDVTtJQXhEVjtFakI0OUNBO0VpQnA2Q1U7SUF4RFY7RWpCKzlDQTtFaUJ2NkNVO0lBeERWO0VqQmsrQ0E7RWlCMTZDVTtJQXhEVjtFakJxK0NBO0VpQjc2Q1U7SUF4RFY7RWpCdytDQTtFaUJoN0NVO0lBeERWO0VqQjIrQ0E7RWlCeDZDTTs7SUFFRTtFakIwNkNSO0VpQnY2Q007O0lBRUU7RWpCeTZDUjtFaUJoN0NNOztJQUVFO0VqQms3Q1I7RWlCLzZDTTs7SUFFRTtFakJpN0NSO0VpQng3Q007O0lBRUU7RWpCMDdDUjtFaUJ2N0NNOztJQUVFO0VqQnk3Q1I7RWlCaDhDTTs7SUFFRTtFakJrOENSO0VpQi83Q007O0lBRUU7RWpCaThDUjtFaUJ4OENNOztJQUVFO0VqQjA4Q1I7RWlCdjhDTTs7SUFFRTtFakJ5OENSO0VpQmg5Q007O0lBRUU7RWpCazlDUjtFaUIvOENNOztJQUVFO0VqQmk5Q1I7QUFDRjtBZWhoREk7RUVjRTtJQUNFO0VqQnFnRE47RWlCbGdESTtJQXBDSjtJQUNBO0VqQnlpREE7RWlCM2hEQTtJQUNFO0lBQ0E7RWpCNmhERjtFaUIvaERBO0lBQ0U7SUFDQTtFakJpaURGO0VpQm5pREE7SUFDRTtJQUNBO0VqQnFpREY7RWlCdmlEQTtJQUNFO0lBQ0E7RWpCeWlERjtFaUIzaURBO0lBQ0U7SUFDQTtFakI2aURGO0VpQi9pREE7SUFDRTtJQUNBO0VqQmlqREY7RWlCbGhESTtJQWhESjtJQUNBO0VqQnFrREE7RWlCaGhEUTtJQWhFTjtJQUNBO0VqQm1sREY7RWlCcGhEUTtJQWhFTjtJQUNBO0VqQnVsREY7RWlCeGhEUTtJQWhFTjtJQUNBO0VqQjJsREY7RWlCNWhEUTtJQWhFTjtJQUNBO0VqQitsREY7RWlCaGlEUTtJQWhFTjtJQUNBO0VqQm1tREY7RWlCcGlEUTtJQWhFTjtJQUNBO0VqQnVtREY7RWlCeGlEUTtJQWhFTjtJQUNBO0VqQjJtREY7RWlCNWlEUTtJQWhFTjtJQUNBO0VqQittREY7RWlCaGpEUTtJQWhFTjtJQUNBO0VqQm1uREY7RWlCcGpEUTtJQWhFTjtJQUNBO0VqQnVuREY7RWlCeGpEUTtJQWhFTjtJQUNBO0VqQjJuREY7RWlCNWpEUTtJQWhFTjtJQUNBO0VqQituREY7RWlCeGpEVTtJQXhEVjtFakJtbkRBO0VpQjNqRFU7SUF4RFY7RWpCc25EQTtFaUI5akRVO0lBeERWO0VqQnluREE7RWlCamtEVTtJQXhEVjtFakI0bkRBO0VpQnBrRFU7SUF4RFY7RWpCK25EQTtFaUJ2a0RVO0lBeERWO0VqQmtvREE7RWlCMWtEVTtJQXhEVjtFakJxb0RBO0VpQjdrRFU7SUF4RFY7RWpCd29EQTtFaUJobERVO0lBeERWO0VqQjJvREE7RWlCbmxEVTtJQXhEVjtFakI4b0RBO0VpQnRsRFU7SUF4RFY7RWpCaXBEQTtFaUJ6bERVO0lBeERWO0VqQm9wREE7RWlCamxETTs7SUFFRTtFakJtbERSO0VpQmhsRE07O0lBRUU7RWpCa2xEUjtFaUJ6bERNOztJQUVFO0VqQjJsRFI7RWlCeGxETTs7SUFFRTtFakIwbERSO0VpQmptRE07O0lBRUU7RWpCbW1EUjtFaUJobURNOztJQUVFO0VqQmttRFI7RWlCem1ETTs7SUFFRTtFakIybURSO0VpQnhtRE07O0lBRUU7RWpCMG1EUjtFaUJqbkRNOztJQUVFO0VqQm1uRFI7RWlCaG5ETTs7SUFFRTtFakJrbkRSO0VpQnpuRE07O0lBRUU7RWpCMm5EUjtFaUJ4bkRNOztJQUVFO0VqQjBuRFI7QUFDRjtBZXpyREk7RUVjRTtJQUNFO0VqQjhxRE47RWlCM3FESTtJQXBDSjtJQUNBO0VqQmt0REE7RWlCcHNEQTtJQUNFO0lBQ0E7RWpCc3NERjtFaUJ4c0RBO0lBQ0U7SUFDQTtFakIwc0RGO0VpQjVzREE7SUFDRTtJQUNBO0VqQjhzREY7RWlCaHREQTtJQUNFO0lBQ0E7RWpCa3RERjtFaUJwdERBO0lBQ0U7SUFDQTtFakJzdERGO0VpQnh0REE7SUFDRTtJQUNBO0VqQjB0REY7RWlCM3JESTtJQWhESjtJQUNBO0VqQjh1REE7RWlCenJEUTtJQWhFTjtJQUNBO0VqQjR2REY7RWlCN3JEUTtJQWhFTjtJQUNBO0VqQmd3REY7RWlCanNEUTtJQWhFTjtJQUNBO0VqQm93REY7RWlCcnNEUTtJQWhFTjtJQUNBO0VqQnd3REY7RWlCenNEUTtJQWhFTjtJQUNBO0VqQjR3REY7RWlCN3NEUTtJQWhFTjtJQUNBO0VqQmd4REY7RWlCanREUTtJQWhFTjtJQUNBO0VqQm94REY7RWlCcnREUTtJQWhFTjtJQUNBO0VqQnd4REY7RWlCenREUTtJQWhFTjtJQUNBO0VqQjR4REY7RWlCN3REUTtJQWhFTjtJQUNBO0VqQmd5REY7RWlCanVEUTtJQWhFTjtJQUNBO0VqQm95REY7RWlCcnVEUTtJQWhFTjtJQUNBO0VqQnd5REY7RWlCanVEVTtJQXhEVjtFakI0eERBO0VpQnB1RFU7SUF4RFY7RWpCK3hEQTtFaUJ2dURVO0lBeERWO0VqQmt5REE7RWlCMXVEVTtJQXhEVjtFakJxeURBO0VpQjd1RFU7SUF4RFY7RWpCd3lEQTtFaUJodkRVO0lBeERWO0VqQjJ5REE7RWlCbnZEVTtJQXhEVjtFakI4eURBO0VpQnR2RFU7SUF4RFY7RWpCaXpEQTtFaUJ6dkRVO0lBeERWO0VqQm96REE7RWlCNXZEVTtJQXhEVjtFakJ1ekRBO0VpQi92RFU7SUF4RFY7RWpCMHpEQTtFaUJsd0RVO0lBeERWO0VqQjZ6REE7RWlCMXZETTs7SUFFRTtFakI0dkRSO0VpQnp2RE07O0lBRUU7RWpCMnZEUjtFaUJsd0RNOztJQUVFO0VqQm93RFI7RWlCandETTs7SUFFRTtFakJtd0RSO0VpQjF3RE07O0lBRUU7RWpCNHdEUjtFaUJ6d0RNOztJQUVFO0VqQjJ3RFI7RWlCbHhETTs7SUFFRTtFakJveERSO0VpQmp4RE07O0lBRUU7RWpCbXhEUjtFaUIxeERNOztJQUVFO0VqQjR4RFI7RWlCenhETTs7SUFFRTtFakIyeERSO0VpQmx5RE07O0lBRUU7RWpCb3lEUjtFaUJqeURNOztJQUVFO0VqQm15RFI7QUFDRjtBa0I1NURBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0EsbUJYNlpPO0VXNVpQLG1CWHV2QjRCO0VXdHZCNUI7QWxCMjVERjs7QWtCcDVERTtFQUNFO0VBRUE7RUFDQTtFQUNBLDRDWCt2QjBCO0VXOXZCMUI7QWxCczVESjs7QWtCbjVERTtFQUNFO0FsQnM1REo7O0FrQm41REU7RUFDRTtBbEJzNURKOztBa0JsNURBO0VBQ0U7QWxCcTVERjs7QWtCOTREQTtFQUNFO0FsQmk1REY7O0FrQnY0REU7RUFDRTtBbEIwNERKOztBa0IzM0RFO0VBQ0U7QWxCODNESjs7QWtCMzNESTtFQUNFO0FsQjgzRE47O0FrQnYzREU7RUFDRTtBbEIwM0RKOztBa0J2M0RFO0VBQ0U7QWxCMDNESjs7QWtCaDNERTtFQUNFO0VBQ0E7QWxCbTNESjs7QWtCNzJERTtFQUNFO0VBQ0E7QWxCZzNESjs7QWtCeDJEQTtFQUNFO0VBQ0E7QWxCMjJERjs7QWtCbjJERTtFQUNFO0VBQ0E7QWxCczJESjs7QW1Cai9ERTtFQU9FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7QW5CNitESjs7QW1CLy9ERTtFQU9FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7QW5CMi9ESjs7QW1CN2dFRTtFQU9FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7QW5CeWdFSjs7QW1CM2hFRTtFQU9FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7QW5CdWhFSjs7QW1CemlFRTtFQU9FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7QW5CcWlFSjs7QW1CdmpFRTtFQU9FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7QW5CbWpFSjs7QW1CcmtFRTtFQU9FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7QW5CaWtFSjs7QW1CbmxFRTtFQU9FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7QW5CK2tFSjs7QWtCLzdESTtFQUNFO0VBQ0E7QWxCazhETjs7QWU5aEVJO0VHMEZBO0lBQ0U7SUFDQTtFbEJ3OERKO0FBQ0Y7QWVyaUVJO0VHMEZBO0lBQ0U7SUFDQTtFbEI4OERKO0FBQ0Y7QWUzaUVJO0VHMEZBO0lBQ0U7SUFDQTtFbEJvOURKO0FBQ0Y7QWVqakVJO0VHMEZBO0lBQ0U7SUFDQTtFbEIwOURKO0FBQ0Y7QWV2akVJO0VHMEZBO0lBQ0U7SUFDQTtFbEJnK0RKO0FBQ0Y7QW9Ccm9FQTtFQUNFLHFCYis2QnNDO0FQd3RDeEM7O0FvQjluRUE7RUFDRTtFQUNBO0VBQ0E7RWhCZ1JJLGtCQUxJO0VnQnZRUixnQmJ5b0I0QjtBUHMvQzlCOztBb0IzbkVBO0VBQ0U7RUFDQTtFaEJzUUksa0JBTEk7QUo4M0RWOztBb0IzbkVBO0VBQ0U7RUFDQTtFaEJnUUksbUJBTEk7QUpvNERWOztBcUI3cEVBO0VBQ0UsbUJkdzZCc0M7RUgzb0JsQyxrQkFMSTtFaUJwUlIsaUNkdzZCc0M7QVBzdkN4Qzs7QXNCOXBFQTtFQUNFO0VBQ0E7RUFDQTtFbEJzUkksZUFMSTtFa0I5UVIsZ0Jmd29CNEI7RWV2b0I1QixnQmYrb0I0QjtFZTlvQjVCLDRCZmc4QnNDO0VlLzdCdEM7RUFDQSxvQ2Z5N0JzQztFZXg3QnRDO0VBQ0E7RWRERTtFZUpFLHdFRFdKO0F0QjRwRUY7O0F1Qm5xRU07RURYTjtJQ1lRO0V2QnVxRU47QUFDRjtBc0JocUVFO0VBQ0U7QXRCa3FFSjs7QXNCaHFFSTtFQUNFO0F0Qm1xRU47O0FzQjlwRUU7RUFDRSw0QmYwNkJvQztFZXo2QnBDLG9DZm82Qm9DO0VlbjZCcEMsc0NmazdCb0M7RWVqN0JwQztFQUtFLGlEZndqQmtCO0FQcW1EeEI7O0FzQnpwRUU7RUFNRTtFQU1BO0VBS0E7QXRCOG9FSjs7QXNCem9FRTtFQUNFO0VBQ0E7QXRCNG9FSjs7QXNCeG9FRTtFQUNFO0VBRUE7QXRCMG9FSjs7QXNCbG9FRTtFQUVFLHlDZmszQm9DO0VlLzJCcEM7QXRCa29FSjs7QXNCOW5FRTtFQUNFO0VBQ0E7RUFDQSwwQmZpdUIwQjtFZWh1QjFCLDRCZjAyQm9DO0VpQjk4QnRDLHdDakI0bkNnQztFZXRoQzlCO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZ0RmNnVCMEI7RWU1dUIxQjtFQzlGRSxxSUQrRkY7QXRCaW9FSjs7QXVCNXRFTTtFRCtFSjtJQzlFTTtFdkJndUVOO0FBQ0Y7QXNCcG9FRTtFQUNFLHlDZjZnQzhCO0FQeW5DbEM7O0FzQjduRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGdCZjhoQjRCO0VlN2hCNUIsNEJmKzFCc0M7RWU5MUJ0QztFQUNBO0VBQ0E7QXRCZ29FRjs7QXNCOW5FRTtFQUNFO0F0QmlvRUo7O0FzQjluRUU7RUFFRTtFQUNBO0F0QmdvRUo7O0FzQnJuRUE7RUFDRSxvRWZnMUJzQztFZS8wQnRDO0VsQnVJSSxtQkFMSTtFSXpRTjtBUml3RUo7O0FzQnRuRUU7RUFDRTtFQUNBO0VBQ0EseUJmaXJCMEI7QVB3OEM5Qjs7QXNCcm5FQTtFQUNFLGtFZm8wQnNDO0VlbjBCdEM7RWxCMEhJLGtCQUxJO0VJelFOO0FSOHdFSjs7QXNCdG5FRTtFQUNFO0VBQ0E7RUFDQSx1QmZ3cUIwQjtBUGk5QzlCOztBc0JqbkVFO0VBQ0UscUVmaXpCb0M7QVBtMEN4Qzs7QXNCam5FRTtFQUNFLG9FZjh5Qm9DO0FQczBDeEM7O0FzQmpuRUU7RUFDRSxrRWYyeUJvQztBUHkwQ3hDOztBc0IvbUVBO0VBQ0UsV2Z5eUJzQztFZXh5QnRDLGlFZmt5QnNDO0VlanlCdEMsaUJmOG5CNEI7QVBvL0M5Qjs7QXNCaG5FRTtFQUNFO0F0Qm1uRUo7O0FzQmhuRUU7RUFDRTtFZDNMQTtBUit5RUo7O0FzQmhuRUU7RUFDRTtFZGhNQTtBUm96RUo7O0FzQmhuRUU7RUFBb0IsZ0Vma3hCa0I7QVBrMkN4Qzs7QXNCbm5FRTtFQUFvQiw4RGZreEJrQjtBUHEyQ3hDOztBeUJwMEVBO0VBQ0U7RUFFQTtFQUNBO0VBQ0EsNkJsQnN6QjRCO0VrQnJ6QjVCLDJCbEIraUNrQztFa0I5aUNsQyxxQmxCbXpCNEI7RWtCbHpCNUIsd0JsQmt6QjRCO0VIcGlCeEIsZUFMSTtFcUJ0UVIsZ0JsQmdvQjRCO0VrQi9uQjVCLGdCbEJ1b0I0QjtFa0J0b0I1Qiw0QmxCdzdCc0M7RWtCdjdCdEM7RUFDQSxvQ2xCaTdCc0M7RWtCaDdCdEM7RUFDQTtFQ2tGSTtFRGhGSiwwQmxCMmlDa0M7RWtCMWlDbEM7RWpCWkU7RWVKRSx3RUVtQko7QXpCbzBFRjs7QXVCbjFFTTtFRVJOO0lGU1E7RXZCdTFFTjtBQUNGO0F5QngwRUU7RUFDRSxzQ2xCcTdCb0M7RWtCcDdCcEM7RUFLRSxpRGxCNmlDNEI7QVB5eENsQzs7QXlCbDBFRTtFQUVFLDJCbEJxeEIwQjtFa0JweEIxQjtBekJvMEVKOztBeUJqMEVFO0VBRUUseUNsQnM1Qm9DO0FQNjZDeEM7O0F5Qjl6RUU7RUFDRTtFQUNBO0F6QmkwRUo7O0F5Qjd6RUE7RUFDRSw0QmxCK3dCNEI7RWtCOXdCNUIsb0JsQjZ3QjRCO0VrQjV3QjVCLHVCbEI0d0I0QjtFSGhqQnhCLG1CQUxJO0VJelFOO0FSbzNFSjs7QXlCN3pFQTtFQUNFLDBCbEIyd0I0QjtFa0Ixd0I1QixtQmxCeXdCNEI7RWtCeHdCNUIsc0JsQnd3QjRCO0VIcGpCeEIsa0JBTEk7RUl6UU47QVI0M0VKOztBeUIzekVJO0VBQ0U7QXpCOHpFTjs7QTJCMzRFQTtFQUNFO0VBQ0Esa0JwQnkrQndDO0VvQngrQnhDLDJCcEJ5K0J3QztFb0J4K0J4Qyx1QnBCeStCd0M7QVBxNkMxQzs7QTJCNTRFRTtFQUNFO0VBQ0E7QTNCKzRFSjs7QTJCMzRFQTtFQUNFO0VBQ0E7QTNCODRFRjs7QTJCNTRFRTtFQUNFO0VBQ0E7QTNCKzRFSjs7QTJCMzRFQTtFQUNFO0VBRUE7RUFDQSxVcEJnOUJ3QztFb0IvOEJ4QyxXcEIrOEJ3QztFb0I5OEJ4QztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsNkRwQmk5QndDO0VvQmg5QnhDO0EzQjY0RUY7O0EyQjE0RUU7RW5CN0JFO0FSMjZFSjs7QTJCMTRFRTtFQUVFLGtCcEJ5OEJzQztBUG04QzFDOztBMkJ6NEVFO0VBQ0UsdUJwQmc4QnNDO0FQNDhDMUM7O0EyQno0RUU7RUFDRSxzQ3BCNDVCb0M7RW9CMzVCcEM7RUFDQSxpRHBCc2lCb0I7QVBzMkR4Qjs7QTJCejRFRTtFQUNFO0VBQ0E7QTNCNDRFSjs7QTJCMTRFSTtFQUlJO0EzQjA0RVI7O0EyQnQ0RUk7RUFJSTtBM0JzNEVSOztBMkJqNEVFO0VBQ0Usb0NwQnNnQjBCO0VvQnJnQjFCLGdDcEJxZ0IwQjtFb0JoZ0J4QjtBM0JnNEVOOztBMkI1M0VFO0VBQ0U7RUFDQTtFQUNBLFlwQnc2QnVDO0FQdTlDM0M7O0EyQngzRUk7RUFDRTtFQUNBLFlwQis1QnFDO0FQNDlDM0M7O0EyQnQzRUE7RUFDRTtBM0J5M0VGOztBMkJqM0VBO0VBQ0UsMkJwQjA1QmdDO0FQMDlDbEM7O0EyQmwzRUU7RUFDRTtFQUVBLFVwQm81QjhCO0VvQm41QjlCO0VBQ0E7RUFDQTtFbkJuSEE7RWVKRSxpREl5SEY7QTNCbzNFSjs7QXVCeitFTTtFSTZHSjtJSjVHTTtFdkI2K0VOO0FBQ0Y7QTJCeDNFSTtFQUNFO0EzQjAzRU47O0EyQnYzRUk7RUFDRSxpQ3BCbTVCNEI7RW9COTRCMUI7QTNCczNFUjs7QTJCajNFRTtFQUNFO0EzQm8zRUo7O0EyQmwzRUk7RUFDRTtBM0JxM0VOOztBMkI1MkVFO0VBQ0Usa0JBSE87RUFJUDtBM0IrMkVKOztBMkI3MkVJO0VBQ0UsWUFSSTtFQVNKLGNBUks7RUFTTDtBM0JnM0VOOztBMkI3MkVJO0VBRUU7QTNCKzJFTjs7QTJCMzNFRTtFQUNFLGlCQUhPO0VBSVA7QTNCODNFSjs7QTJCNTNFSTtFQUNFLFVBUkk7RUFTSixhQVJLO0VBU0w7QTNCKzNFTjs7QTJCNTNFSTtFQUVFO0EzQjgzRU47O0EyQnozRUE7RUFDRTtFQUNBLHVCcEJ5MUJnQztBUG1pRGxDOztBMkJ6M0VBO0VBQ0U7RUFDQTtFQUNBO0EzQjQzRUY7O0EyQngzRUk7RUFDRTtFQUNBO0VBQ0EsYXBCa3JCd0I7QVB5c0Q5Qjs7QTJCcDNFSTtFQUNFO0EzQnUzRU47O0E0QjVqRkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1QitqRkY7O0E0QjdqRkU7RUFDRTtBNUJna0ZKOztBNEI1akZJO0VBQTBCLGlFckJnbUNhO0FQZytDM0M7O0E0Qi9qRkk7RUFBMEIsaUVyQitsQ2E7QVBvK0MzQzs7QTRCaGtGRTtFQUNFO0E1Qm1rRko7O0E0QmhrRkU7RUFDRSxXckJpbEN1QztFcUJobEN2QyxZckJnbEN1QztFcUIva0N2QztFQUNBO0VKL0JGLG9DakI2bEI0QjtFcUI1akIxQixTckIra0N1QztFQy9sQ3ZDO0VlSkUsNEdLdUJGO0E1QmtrRko7O0F1QnJsRk07RUtVSjtJTFRNO0V2QnlsRk47QUFDRjtBNEJ0a0ZJO0VKdENGLDBDakJxbkN5QztBUDAvQzNDOztBNEJwa0ZFO0VBQ0UsV3JCMGpDOEI7RXFCempDOUIsY3JCMGpDOEI7RXFCempDOUI7RUFDQSxlckJ5akM4QjtFcUJ4akM5Qix5Q3JCeWpDOEI7RXFCeGpDOUI7RXBCaENBO0FSd21GSjs7QTRCbmtGRTtFQUNFLFdyQnNqQ3VDO0VxQnJqQ3ZDLFlyQnFqQ3VDO0VxQnBqQ3ZDO0VKekRGLG9DakI2bEI0QjtFcUJsaUIxQixTckJxakN1QztFQy9sQ3ZDO0VlSkUsNEdLaURGO0E1QnFrRko7O0F1QmxuRk07RUtxQ0o7SUxwQ007RXZCc25GTjtBQUNGO0E0QnprRkk7RUpoRUYsMENqQnFuQ3lDO0FQdWhEM0M7O0E0QnZrRkU7RUFDRSxXckJnaUM4QjtFcUIvaEM5QixjckJnaUM4QjtFcUIvaEM5QjtFQUNBLGVyQitoQzhCO0VxQjloQzlCLHlDckIraEM4QjtFcUI5aEM5QjtFcEIxREE7QVJxb0ZKOztBNEJ0a0ZFO0VBQ0U7QTVCeWtGSjs7QTRCdmtGSTtFQUNFLDRDckJraUNxQztBUHdpRDNDOztBNEJ2a0ZJO0VBQ0UsNENyQjhoQ3FDO0FQNGlEM0M7O0E2QnBxRkE7RUFDRTtBN0J1cUZGOztBNkJycUZFOzs7RUFHRSx3RHRCNm5Db0M7RXNCNW5DcEMsNER0QjRuQ29DO0VzQjNuQ3BDLGlCdEI0bkNvQztBUDRpRHhDOztBNkJycUZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VOWEUsZ0VNWUY7QTdCd3FGSjs7QXVCaHJGTTtFTVJKO0lOU007RXZCb3JGTjtBQUNGO0E2QjNxRkU7O0VBRUU7QTdCNnFGSjs7QTZCM3FGSTs7RUFDRTtBN0IrcUZOOztBNkI1cUZJOzs7RUFFRSxxQnRCK2xDa0M7RXNCOWxDbEMsd0J0QitsQ2tDO0FQaWxEeEM7O0E2QjdxRkk7O0VBQ0UscUJ0QjBsQ2tDO0VzQnpsQ2xDLHdCdEIwbENrQztBUHVsRHhDOztBNkI3cUZFO0VBQ0UsNkJ0Qm14QjBCO0VzQmx4QjFCLHFCdEJtbENvQztFc0JsbENwQyx3QnRCbWxDb0M7QVA2bER4Qzs7QTZCenFGSTs7OztFQUNFLDhEdEI4a0NrQztBUGltRHhDOztBNkIxcUZJO0VBQ0UsOER0QndrQ2tDO0FQcW1EeEM7O0E2QnhxRkk7O0VBQ0U7RUFDQTtFQUNBO0VBQ0EsYXRCNmpDa0M7RXNCNWpDbEM7RUFDQSxvQ3RCNjNCa0M7RUN4N0JwQztBUnd1Rko7O0E2QnpxRkU7RUFDRSx5Q3RCMDNCb0M7QVBrekR4Qzs7QTZCeHFGSTtFQUNFO0E3QjJxRk47O0E2QnZxRkU7O0VBRUUsY3RCMUVRO0FQb3ZGWjs7QThCbHdGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlCcXdGRjs7QThCbndGRTs7O0VBR0U7RUFDQTtFQUNBO0VBQ0E7QTlCc3dGSjs7QThCbHdGRTs7O0VBR0U7QTlCcXdGSjs7QThCL3ZGRTtFQUNFO0VBQ0E7QTlCa3dGSjs7QThCaHdGSTtFQUNFO0E5Qm13Rk47O0E4Qnh2RkE7RUFDRTtFQUNBO0VBQ0E7RTFCOE9JLGVBTEk7RTBCdk9SLGdCdkJpbUI0QjtFdUJobUI1QixnQnZCd21CNEI7RXVCdm1CNUI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFdEJ4Q0U7QVJveUZKOztBOEJsdkZBOzs7O0VBSUU7RTFCd05JLGtCQUxJO0VJelFOO0FSNnlGSjs7QThCbHZGQTs7OztFQUlFO0UxQitNSSxtQkFMSTtFSXpRTjtBUnN6Rko7O0E4Qmx2RkE7O0VBRUU7QTlCcXZGRjs7QThCeHVGSTs7OztFdEJuRUE7RUFDQTtBUmt6Rko7O0E4QnZ1Rkk7Ozs7RXRCNUVBO0VBQ0E7QVIwekZKOztBOEJsdUZFO0VBQ0U7RXRCNUVBO0VBQ0E7QVJrekZKOztBOEJudUZFOztFdEJoRkU7RUFDQTtBUnd6Rko7O0ErQjcwRkU7RUFDRTtFQUNBO0VBQ0EsbUJ4QjQ0Qm9DO0VIM29CbEMsa0JBTEk7RTJCelBOLGtDeEJvb0NxQjtBUDJzRHpCOztBK0I1MEZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTNCb1BFLG1CQUxJO0UyQjVPTixXeEJ1bkNxQjtFd0J0bkNyQixvQ3hCc25DcUI7RUNwcENyQjtBUjYyRko7O0ErQjEwRkk7Ozs7RUFFRTtBL0IrMEZOOztBK0I5M0ZJO0VBcURFLGdEeEJ5bUNtQjtFd0J0bUNqQix5Q3hCbTZCZ0M7RXdCbDZCaEM7RUFDQTtFTDJDRjtFS3pDRTtBL0IyMEZSOztBK0J4MEZNO0VBQ0UsZ0R4QjhsQ2lCO0V3QnpsQ2YsNER4QnlsQ2U7QVA4dUR6Qjs7QStCNTRGSTtFQStFSSx5Q3hCNDRCZ0M7RW1CdDNCbEM7QTFCNHlGTjs7QStCajVGSTtFQXVGRSxnRHhCdWtDbUI7QVB1dkR6Qjs7QStCM3pGUTtFQUVFO0VBQ0EsNEJ4QnUrQjhCO0VtQi85QmxDO0VLTkk7QS9CNnpGVjs7QStCenpGTTtFQUNFLGdEeEIwakNpQjtFd0JyakNmLDREeEJxakNlO0FQbXdEekI7O0ErQmo2Rkk7RUFrSEk7QS9CbXpGUjs7QStCcjZGSTtFQXlIRSxnRHhCcWlDbUI7QVAyd0R6Qjs7QStCOXlGTTtFQUNFLDZDeEJraUNpQjtBUCt3RHpCOztBK0I5eUZNO0VBQ0UsNER4QjhoQ2lCO0FQbXhEekI7O0ErQjl5Rk07RUFDRSxrQ3hCMGhDaUI7QVB1eER6Qjs7QStCNXlGSTtFQUNFO0EvQit5Rk47O0ErQno3Rkk7Ozs7O0VBb0pNO0EvQjZ5RlY7O0ErQjc2RkU7RUFDRTtFQUNBO0VBQ0EsbUJ4QjQ0Qm9DO0VIM29CbEMsa0JBTEk7RTJCelBOLG9DeEJvb0NxQjtBUDJ5RHpCOztBK0I1NkZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTNCb1BFLG1CQUxJO0UyQjVPTixXeEJ1bkNxQjtFd0J0bkNyQixtQ3hCc25DcUI7RUNwcENyQjtBUjY4Rko7O0ErQjE2Rkk7Ozs7RUFFRTtBL0IrNkZOOztBK0I5OUZJO0VBcURFLGtEeEJ5bUNtQjtFd0J0bUNqQix5Q3hCbTZCZ0M7RXdCbDZCaEM7RUFDQTtFTDJDRjtFS3pDRTtBL0IyNkZSOztBK0J4NkZNO0VBQ0Usa0R4QjhsQ2lCO0V3QnpsQ2YsMkR4QnlsQ2U7QVA4MER6Qjs7QStCNStGSTtFQStFSSx5Q3hCNDRCZ0M7RW1CdDNCbEM7QTFCNDRGTjs7QStCai9GSTtFQXVGRSxrRHhCdWtDbUI7QVB1MUR6Qjs7QStCMzVGUTtFQUVFO0VBQ0EsNEJ4QnUrQjhCO0VtQi85QmxDO0VLTkk7QS9CNjVGVjs7QStCejVGTTtFQUNFLGtEeEIwakNpQjtFd0JyakNmLDJEeEJxakNlO0FQbTJEekI7O0ErQmpnR0k7RUFrSEk7QS9CbTVGUjs7QStCcmdHSTtFQXlIRSxrRHhCcWlDbUI7QVAyMkR6Qjs7QStCOTRGTTtFQUNFLCtDeEJraUNpQjtBUCsyRHpCOztBK0I5NEZNO0VBQ0UsMkR4QjhoQ2lCO0FQbTNEekI7O0ErQjk0Rk07RUFDRSxvQ3hCMGhDaUI7QVB1M0R6Qjs7QStCNTRGSTtFQUNFO0EvQis0Rk47O0ErQnpoR0k7Ozs7O0VBc0pNO0EvQjI0RlY7O0FnQy9oR0E7RUFFRTtFQUNBO0VBQ0E7RTVCa1JJLHlCQUxJO0U0QjNRUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0U1QmlRSSxtQ0FMSTtFNEIxUFI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0V4QnhCRTtFZ0JqQkYsbUNRMkNxQjtFVDlCakIscUlTZ0NKO0FoQzZoR0Y7O0F1QnpqR007RVNSTjtJVFNRO0V2QjZqR047QUFDRjtBZ0NqaUdFO0VBQ0U7RUFFQTtFQUNBO0FoQ2tpR0o7O0FnQy9oR0U7RUFFRTtFQUNBO0VBQ0E7QWhDaWlHSjs7QWdDOWhHRTtFQUNFO0VSOURGLHlDUStEdUI7RUFDckI7RUFDQTtFQUtFO0FoQzZoR047O0FnQ3poR0U7RUFDRTtFQUNBO0VBS0U7QWhDd2hHTjs7QWdDcGhHRTtFQUtFO0VBQ0E7RUFHQTtBaENpaEdKOztBZ0M5Z0dJO0VBS0k7QWhDNmdHUjs7QWdDeGdHRTtFQUtJO0FoQ3VnR047O0FnQ25nR0U7RUFHRTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0FoQ21nR0o7O0FnQ3ovRkE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQzIvRkY7O0FnQ3YvRkE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQ3kvRkY7O0FnQ3IvRkE7RUFDRTtFQUNBO0VBQ0E7QWhDdy9GRjs7QWdDbi9GRTtFQ3pKQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQ2dwR0Y7O0FnQ3BnR0U7RUN6SkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakNpcUdGOztBZ0NyaEdFO0VDekpBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpDa3JHRjs7QWdDdGlHRTtFQ3pKQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQ21zR0Y7O0FnQ3ZqR0U7RUN6SkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakNvdEdGOztBZ0N4a0dFO0VDekpBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpDcXVHRjs7QWdDemxHRTtFQ3pKQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQ3N2R0Y7O0FnQzFtR0U7RUN6SkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakN1d0dGOztBZ0NqbUdFO0VDMUpBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpDK3ZHRjs7QWdDbG5HRTtFQzFKQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQ2d4R0Y7O0FnQ25vR0U7RUMxSkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakNpeUdGOztBZ0NwcEdFO0VDMUpBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpDa3pHRjs7QWdDcnFHRTtFQzFKQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQ20wR0Y7O0FnQ3RyR0U7RUMxSkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakNvMUdGOztBZ0N2c0dFO0VDMUpBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpDcTJHRjs7QWdDeHRHRTtFQzFKQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQ3MzR0Y7O0FnQ251R0U7RUNwSUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakMyMkdGOztBZ0NqdkdFO0VDcElBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpDeTNHRjs7QWdDL3ZHRTtFQ3BJQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQ3U0R0Y7O0FnQzd3R0U7RUNwSUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakNxNUdGOztBZ0MzeEdFO0VDcElBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpDbTZHRjs7QWdDenlHRTtFQ3BJQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQ2k3R0Y7O0FnQ3Z6R0U7RUNwSUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakMrN0dGOztBZ0NyMEdFO0VDcElBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpDNjhHRjs7QWdDdjBHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQSwwQnpCd1B3QztBUGlsRzFDOztBZ0MvekdFO0VBQ0U7QWhDazBHSjs7QWdDdnpHQTtFQ2xLRTtFQUNBO0U3Qm1NSSw0QkFMSTtFNkI1TFI7QWpDNjlHRjs7QWdDMXpHQTtFQ3RLRTtFQUNBO0U3Qm1NSSw2QkFMSTtFNkI1TFI7QWpDbytHRjs7QWdDMXpHTTtFQ25QSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQ2lqSEY7O0FnQzMwR007RUNuUEo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakNra0hGOztBZ0M1MUdNO0VDblBKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpDbWxIRjs7QWdDNzJHTTtFQ25QSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQ29tSEY7O0FnQzkzR007RUNuUEo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakNxbkhGOztBZ0MvNEdNO0VDblBKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpDc29IRjs7QWdDaDZHTTtFQ25QSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQ3VwSEY7O0FnQ2o3R007RUNuUEo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakN3cUhGOztBZ0M1N0dNO0VDaE9KO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpDZ3FIRjs7QWdDNzhHTTtFQ2hPSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQ2lySEY7O0FnQzk5R007RUNoT0o7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakNrc0hGOztBZ0MvK0dNO0VDaE9KO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpDbXRIRjs7QWdDaGdITTtFQ2hPSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQ291SEY7O0FnQ2poSE07RUNoT0o7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakNxdkhGOztBZ0NsaUhNO0VDaE9KO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpDc3dIRjs7QWdDbmpITTtFQ2hPSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQ3V4SEY7O0FnQzlqSE07RUMxTUo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakM0d0hGOztBZ0M1a0hNO0VDMU1KO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpDMHhIRjs7QWdDMWxITTtFQzFNSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQ3d5SEY7O0FnQ3htSE07RUMxTUo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakNzekhGOztBZ0N0bkhNO0VDMU1KO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpDbzBIRjs7QWdDcG9ITTtFQzFNSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQ2sxSEY7O0FnQ2xwSE07RUMxTUo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakNnMkhGOztBZ0NocUhNO0VDMU1KO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpDODJIRjs7QWtDcjhIQTtFWGdCTSxnQ1dmSjtBbEN3OEhGOztBdUJyN0hNO0VXcEJOO0lYcUJRO0V2Qnk3SE47QUFDRjtBa0M1OEhFO0VBQ0U7QWxDODhISjs7QWtDeDhIRTtFQUNFO0FsQzI4SEo7O0FrQ3Y4SEE7RUFDRTtFQUNBO0VYREksNkJXRUo7QWxDMDhIRjs7QXVCeDhITTtFV0xOO0lYTVE7RXZCNDhITjtBQUNGO0FrQzk4SEU7RUFDRTtFQUNBO0VYTkUsNEJXT0Y7QWxDZzlISjs7QXVCbjlITTtFV0FKO0lYQ007RXZCdTlITjtBQUNGO0FtQ3QrSEE7Ozs7OztFQU1FO0FuQ3crSEY7O0FtQ3IrSEE7RUFDRTtBbkN3K0hGOztBb0N2OUhJO0VBQ0U7RUFDQSw0QjdCeWtCd0I7RTZCeGtCeEIsdUI3QnVrQndCO0U2QnRrQnhCO0VBckNKO0VBQ0E7RUFDQTtFQUNBO0FwQ2dnSUY7O0FvQ3Q4SEk7RUFDRTtBcEN5OEhOOztBbUNoL0hBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFL0JvUUksOEJBTEk7RStCN1BSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RS9CdU9JLHdDQUxJO0UrQmhPUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTNCOUNFO0FSK2hJSjs7QW1DNytIRTtFQUNFO0VBQ0E7RUFDQTtBbkNnL0hKOztBbUN4OUhJO0VBQ0U7QW5DMjlITjs7QW1DejlITTtFQUNFO0VBQ0E7QW5DNDlIUjs7QW1DeDlISTtFQUNFO0FuQzI5SE47O0FtQ3o5SE07RUFDRTtFQUNBO0FuQzQ5SFI7O0FlM2dJSTtFb0JpQ0E7SUFDRTtFbkM4K0hKO0VtQzUrSEk7SUFDRTtJQUNBO0VuQzgrSE47RW1DMStIRTtJQUNFO0VuQzQrSEo7RW1DMStISTtJQUNFO0lBQ0E7RW5DNCtITjtBQUNGO0FlNWhJSTtFb0JpQ0E7SUFDRTtFbkM4L0hKO0VtQzUvSEk7SUFDRTtJQUNBO0VuQzgvSE47RW1DMS9IRTtJQUNFO0VuQzQvSEo7RW1DMS9ISTtJQUNFO0lBQ0E7RW5DNC9ITjtBQUNGO0FlNWlJSTtFb0JpQ0E7SUFDRTtFbkM4Z0lKO0VtQzVnSUk7SUFDRTtJQUNBO0VuQzhnSU47RW1DMWdJRTtJQUNFO0VuQzRnSUo7RW1DMWdJSTtJQUNFO0lBQ0E7RW5DNGdJTjtBQUNGO0FlNWpJSTtFb0JpQ0E7SUFDRTtFbkM4aElKO0VtQzVoSUk7SUFDRTtJQUNBO0VuQzhoSU47RW1DMWhJRTtJQUNFO0VuQzRoSUo7RW1DMWhJSTtJQUNFO0lBQ0E7RW5DNGhJTjtBQUNGO0FlNWtJSTtFb0JpQ0E7SUFDRTtFbkM4aUlKO0VtQzVpSUk7SUFDRTtJQUNBO0VuQzhpSU47RW1DMWlJRTtJQUNFO0VuQzRpSUo7RW1DMWlJSTtJQUNFO0lBQ0E7RW5DNGlJTjtBQUNGO0FtQ25pSUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbkNxaUlKOztBb0Nob0lJO0VBQ0U7RUFDQSw0QjdCeWtCd0I7RTZCeGtCeEIsdUI3QnVrQndCO0U2QnRrQnhCO0VBOUJKO0VBQ0E7RUFDQTtFQUNBO0FwQ2txSUY7O0FvQy9tSUk7RUFDRTtBcENrbklOOztBbUMzaUlFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkM4aUlKOztBb0N2cElJO0VBQ0U7RUFDQSw0QjdCeWtCd0I7RTZCeGtCeEIsdUI3QnVrQndCO0U2QnRrQnhCO0VBdkJKO0VBQ0E7RUFDQTtFQUNBO0FwQ2tySUY7O0FvQ3RvSUk7RUFDRTtBcEN5b0lOOztBbUN4aklJO0VBQ0U7QW5DMmpJTjs7QW1DcmpJRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5Dd2pJSjs7QW9DbHJJSTtFQUNFO0VBQ0EsNEI3QnlrQndCO0U2QnhrQnhCLHVCN0J1a0J3QjtFNkJ0a0J4QjtBcENxcklOOztBb0MxcUlNO0VBQ0U7QXBDNnFJUjs7QW9DMXFJTTtFQUNFO0VBQ0EsMEI3QnNqQnNCO0U2QnJqQnRCLHVCN0JvakJzQjtFNkJuakJ0QjtFQW5DTjtFQUNBO0VBQ0E7QXBDaXRJRjs7QW9DM3FJSTtFQUNFO0FwQzhxSU47O0FtQzVrSUk7RUFDRTtBbkMra0lOOztBbUN4a0lBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkMya0lGOztBbUNya0lBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxnQjVCOGQ0QjtFNEI3ZDVCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFM0IzS0U7QVJvdklKOztBbUN0a0lFO0VBRUU7RVhqTUYsbURXbU11QjtBbkN1a0l6Qjs7QW1DcGtJRTtFQUVFO0VBQ0E7RVh6TUYsb0RXME11QjtBbkNza0l6Qjs7QW1DbmtJRTtFQUVFO0VBQ0E7RUFDQTtBbkNxa0lKOztBbUMvaklBO0VBQ0U7QW5Da2tJRjs7QW1DOWpJQTtFQUNFO0VBQ0E7RUFDQTtFL0JnRUksbUJBTEk7RStCekRSO0VBQ0E7QW5DaWtJRjs7QW1DN2pJQTtFQUNFO0VBQ0E7RUFDQTtBbkNna0lGOztBbUM1aklBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuQzhqSUY7O0FxQ3h6SUE7O0VBRUU7RUFDQTtFQUNBO0FyQzJ6SUY7O0FxQ3p6SUU7O0VBQ0U7RUFDQTtBckM2eklKOztBcUN4eklFOzs7Ozs7Ozs7Ozs7RUFNRTtBckNpMElKOztBcUM1eklBO0VBQ0U7RUFDQTtFQUNBO0FyQyt6SUY7O0FxQzd6SUU7RUFDRTtBckNnMElKOztBcUM1eklBO0U3QmpCSTtBUmkxSUo7O0FxQzV6SUU7O0VBRUU7QXJDK3pJSjs7QXFDM3pJRTs7O0U3QlhFO0VBQ0E7QVI0MElKOztBcUN4eklFOzs7RTdCUEU7RUFDQTtBUnEwSUo7O0FxQzV5SUE7RUFDRTtFQUNBO0FyQyt5SUY7O0FxQzd5SUU7RUFHRTtBckM4eUlKOztBcUMzeUlFO0VBQ0U7QXJDOHlJSjs7QXFDMXlJQTtFQUNFO0VBQ0E7QXJDNnlJRjs7QXFDMXlJQTtFQUNFO0VBQ0E7QXJDNnlJRjs7QXFDenhJQTtFQUNFO0VBQ0E7RUFDQTtBckM0eElGOztBcUMxeElFOztFQUVFO0FyQzZ4SUo7O0FxQzF4SUU7O0VBRUU7QXJDNnhJSjs7QXFDenhJRTs7RTdCM0ZFO0VBQ0E7QVJ5M0lKOztBcUN0eElFOzs7RTdCbEhFO0VBQ0E7QVI4NElKOztBc0NwNklBO0VBRUU7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdENtNklGOztBc0NoNklBO0VBQ0U7RUFDQTtFbENzUUksd0NBTEk7RWtDL1BSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWZsQkksdUdlbUJKO0F0Q202SUY7O0F1Qmw3SU07RWVNTjtJZkxRO0V2QnM3SU47QUFDRjtBc0N2NklFO0VBRUU7QXRDdzZJSjs7QXNDcDZJRTtFQUNFO0VBQ0EsaUQvQjBqQm9CO0FQNjJIeEI7O0FzQ242SUU7RUFFRTtFQUNBO0VBQ0E7QXRDcTZJSjs7QXNDNzVJQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7QXRDNjVJRjs7QXNDMzVJRTtFQUNFO0VBQ0E7RTlCL0NBO0VBQ0E7QVI4OElKOztBc0M3NUlJO0VBR0U7RUFDQTtBdEM4NUlOOztBc0MxNUlFOztFQUVFO0VBQ0E7RUFDQTtBdEM2NUlKOztBc0MxNUlFO0VBRUU7RTlCbkVBO0VBQ0E7QVJnK0lKOztBc0NuNUlBO0VBRUU7RUFDQTtFQUNBO0F0Q3E1SUY7O0FzQ2w1SUU7RTlCOUZFO0FSby9JSjs7QXNDbDVJRTs7RUFFRTtFZHJIRixxRGNzSHVCO0F0Q3E1SXpCOztBc0M1NElBO0VBRUU7RUFDQTtFQUNBO0VBR0E7QXRDNDRJRjs7QXNDMTRJRTtFQUNFO0VBQ0E7RUFDQTtBdEM2NElKOztBc0MzNElJO0VBRUU7QXRDNjRJTjs7QXNDejRJRTs7RUFFRSxnQi9Ca2dCMEI7RStCamdCMUI7RUFDQTtBdEM0NElKOztBc0NuNElBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFFQTtFQUNBO0F0Q2s0SUY7O0FzQ2g0SUU7RUFDRTtFQUNBO0VBQ0E7QXRDbTRJSjs7QXNDajRJSTtFQUVFO0F0Q200SU47O0FzQy8zSUU7O0VBRUUsZ0IvQndkMEI7RStCdmQxQjtFQUNBO0F0Q2s0SUo7O0FzQ3ozSUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RTlCek1FO0FScWtKSjs7QXNDejNJRTtFQUNFO0VBQ0E7RUFDQTtFOUIvTUE7QVI0a0pKOztBc0MxM0lJO0VBRUU7QXRDNDNJTjs7QXNDeDNJRTs7RUFFRTtFQUNBO0VBQ0E7QXRDMjNJSjs7QXNDejNJSTs7RUFDRTtBdEM2M0lOOztBc0N0M0lBO0VBQ0U7QXRDeTNJRjs7QXNDaDNJRTs7RUFFRTtFQUNBO0F0Q20zSUo7O0FzQzkySUU7O0VBRUU7RUFDQTtFQUNBO0F0Q2kzSUo7O0FzQzMySUU7O0VBQ0U7QXRDKzJJSjs7QXNDcjJJRTtFQUNFO0F0Q3cySUo7O0FzQ3QySUU7RUFDRTtBdEN5MklKOztBdUNob0pBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkNnb0pGOztBdUMxbkpFOztFQUNFO0VBQ0E7RUFDQTtFQUNBO0F2QzhuSko7O0F1QzFtSkE7RUFDRTtFQUNBO0VBQ0E7RW5Dc05JLDRDQUxJO0VtQy9NUjtFQUNBO0VBQ0E7QXZDNm1KRjs7QXVDM21KRTtFQUVFO0F2QzZtSko7O0F1Q25tSkE7RUFFRTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2Q2ttSkY7O0F1Qy9sSkk7RUFFRTtBdkNpbUpOOztBdUM3bEpFO0VBQ0U7QXZDZ21KSjs7QXVDdmxKQTtFQUNFLG1CaEM2bENrQztFZ0M1bENsQyxzQmhDNGxDa0M7RWdDM2xDbEM7QXZDMGxKRjs7QXVDeGxKRTs7O0VBR0U7QXZDMmxKSjs7QXVDOWtKQTtFQUNFO0VBQ0E7RUFHQTtBdkMra0pGOztBdUMza0pBO0VBQ0U7RW5DbUlJLDhDQUxJO0VtQzVIUjtFQUNBO0VBQ0E7RUFDQTtFL0JoSkU7RWVKRSxnRGdCc0pKO0F2QzhrSkY7O0F1Qmh1Sk07RWdCMElOO0loQnpJUTtFdkJvdUpOO0FBQ0Y7QXVDbGxKRTtFQUNFO0F2Q29sSko7O0F1Q2psSkU7RUFDRTtFQUNBO0VBQ0E7QXZDb2xKSjs7QXVDOWtKQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZDaWxKRjs7QXVDOWtKQTtFQUNFO0VBQ0E7QXZDaWxKRjs7QWVudEpJO0V3QjhJQTtJQUVJO0lBQ0E7RXZDd2tKTjtFdUN0a0pNO0lBQ0U7RXZDd2tKUjtFdUN0a0pRO0lBQ0U7RXZDd2tKVjtFdUNya0pRO0lBQ0U7SUFDQTtFdkN1a0pWO0V1Q25rSk07SUFDRTtFdkNxa0pSO0V1Q2xrSk07SUFDRTtJQUNBO0V2Q29rSlI7RXVDamtKTTtJQUNFO0V2Q21rSlI7RXVDaGtKTTtJQUVFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJaEJ2T0osZ0JnQnlPSTtFdkNna0pSO0V1QzdqSlE7SUFDRTtFdkMrakpWO0V1QzVqSlE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFdkM4akpWO0FBQ0Y7QWVud0pJO0V3QjhJQTtJQUVJO0lBQ0E7RXZDdW5KTjtFdUNybkpNO0lBQ0U7RXZDdW5KUjtFdUNybkpRO0lBQ0U7RXZDdW5KVjtFdUNwbkpRO0lBQ0U7SUFDQTtFdkNzbkpWO0V1Q2xuSk07SUFDRTtFdkNvbkpSO0V1Q2puSk07SUFDRTtJQUNBO0V2Q21uSlI7RXVDaG5KTTtJQUNFO0V2Q2tuSlI7RXVDL21KTTtJQUVFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJaEJ2T0osZ0JnQnlPSTtFdkMrbUpSO0V1QzVtSlE7SUFDRTtFdkM4bUpWO0V1QzNtSlE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFdkM2bUpWO0FBQ0Y7QWVsekpJO0V3QjhJQTtJQUVJO0lBQ0E7RXZDc3FKTjtFdUNwcUpNO0lBQ0U7RXZDc3FKUjtFdUNwcUpRO0lBQ0U7RXZDc3FKVjtFdUNucUpRO0lBQ0U7SUFDQTtFdkNxcUpWO0V1Q2pxSk07SUFDRTtFdkNtcUpSO0V1Q2hxSk07SUFDRTtJQUNBO0V2Q2txSlI7RXVDL3BKTTtJQUNFO0V2Q2lxSlI7RXVDOXBKTTtJQUVFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJaEJ2T0osZ0JnQnlPSTtFdkM4cEpSO0V1QzNwSlE7SUFDRTtFdkM2cEpWO0V1QzFwSlE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFdkM0cEpWO0FBQ0Y7QWVqMkpJO0V3QjhJQTtJQUVJO0lBQ0E7RXZDcXRKTjtFdUNudEpNO0lBQ0U7RXZDcXRKUjtFdUNudEpRO0lBQ0U7RXZDcXRKVjtFdUNsdEpRO0lBQ0U7SUFDQTtFdkNvdEpWO0V1Q2h0Sk07SUFDRTtFdkNrdEpSO0V1Qy9zSk07SUFDRTtJQUNBO0V2Q2l0SlI7RXVDOXNKTTtJQUNFO0V2Q2d0SlI7RXVDN3NKTTtJQUVFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJaEJ2T0osZ0JnQnlPSTtFdkM2c0pSO0V1QzFzSlE7SUFDRTtFdkM0c0pWO0V1Q3pzSlE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFdkMyc0pWO0FBQ0Y7QWVoNUpJO0V3QjhJQTtJQUVJO0lBQ0E7RXZDb3dKTjtFdUNsd0pNO0lBQ0U7RXZDb3dKUjtFdUNsd0pRO0lBQ0U7RXZDb3dKVjtFdUNqd0pRO0lBQ0U7SUFDQTtFdkNtd0pWO0V1Qy92Sk07SUFDRTtFdkNpd0pSO0V1Qzl2Sk07SUFDRTtJQUNBO0V2Q2d3SlI7RXVDN3ZKTTtJQUNFO0V2Qyt2SlI7RXVDNXZKTTtJQUVFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJaEJ2T0osZ0JnQnlPSTtFdkM0dkpSO0V1Q3p2SlE7SUFDRTtFdkMydkpWO0V1Q3h2SlE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFdkMwdkpWO0FBQ0Y7QXVDanpKSTtFQUVJO0VBQ0E7QXZDa3pKUjs7QXVDaHpKUTtFQUNFO0F2Q216SlY7O0F1Q2p6SlU7RUFDRTtBdkNvekpaOztBdUNqekpVO0VBQ0U7RUFDQTtBdkNvekpaOztBdUNoekpRO0VBQ0U7QXZDbXpKVjs7QXVDaHpKUTtFQUNFO0VBQ0E7QXZDbXpKVjs7QXVDaHpKUTtFQUNFO0F2Q216SlY7O0F1Q2h6SlE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWhCdk9KLGdCZ0J5T0k7QXZDaXpKVjs7QXVDOXlKVTtFQUNFO0F2Q2l6Slo7O0F1Qzl5SlU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBdkNpekpaOztBdUNoeUpBOztFQUdFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZDa3lKRjs7QXVDNXhKSTtFQUNFO0F2Qyt4Sk47O0F3Qy9qS0E7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VoQ2xCRTtBUmtsS0o7O0F3QzVqS0U7RUFDRTtFQUNBO0F4QytqS0o7O0F3QzVqS0U7RUFDRTtFQUNBO0F4QytqS0o7O0F3QzdqS0k7RUFDRTtFaEN2QkY7RUFDQTtBUndsS0o7O0F3QzlqS0k7RUFDRTtFaENkRjtFQUNBO0FSZ2xLSjs7QXdDNWpLRTs7RUFFRTtBeEMraktKOztBd0MzaktBO0VBR0U7RUFDQTtFQUNBO0F4QzRqS0Y7O0F3Q3pqS0E7RUFDRTtFQUNBO0F4QzRqS0Y7O0F3Q3pqS0E7RUFDRTtFQUNBO0VBQ0E7QXhDNGpLRjs7QXdDempLQTtFQUNFO0F4QzRqS0Y7O0F3Q3BqS0U7RUFDRTtBeEN1aktKOztBd0MvaUtBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeENraktGOztBd0NoaktFO0VoQzlGRTtBUmtwS0o7O0F3Qy9pS0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBeENraktGOztBd0NoaktFO0VoQ3pHRTtBUjZwS0o7O0F3QzFpS0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBeEM2aUtGOztBd0MzaUtFO0VBQ0U7RUFDQTtBeEM4aUtKOztBd0MxaUtBO0VBQ0U7RUFDQTtBeEM2aUtGOztBd0N6aUtBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VoQzNJRTtBUndyS0o7O0F3Q3ppS0E7OztFQUdFO0F4QzRpS0Y7O0F3Q3ppS0E7O0VoQzVJSTtFQUNBO0FSMHJLSjs7QXdDMWlLQTs7RWhDbklJO0VBQ0E7QVJrcktKOztBd0NuaUtFO0VBQ0U7QXhDc2lLSjs7QWVscUtJO0V5QndISjtJQVFJO0lBQ0E7RXhDdWlLRjtFd0NwaUtFO0lBQ0U7SUFDQTtFeENzaUtKO0V3Q3BpS0k7SUFDRTtJQUNBO0V4Q3NpS047RXdDamlLTTtJaEMzS0o7SUFDQTtFUitzS0Y7RXdDbGlLUTs7SUFHRTtFeENtaUtWO0V3Q2ppS1E7O0lBR0U7RXhDa2lLVjtFd0M5aEtNO0loQzVLSjtJQUNBO0VSNnNLRjtFd0MvaEtROztJQUdFO0V4Q2dpS1Y7RXdDOWhLUTs7SUFHRTtFeEMraEtWO0FBQ0Y7QXlDaHdLQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekNpd0tGOztBeUM3dktBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFckMwUEksZUFMSTtFcUNuUFI7RUFDQTtFQUNBO0VBQ0E7RWpDekJFO0VpQzJCRjtFbEIvQkksMkNrQmdDSjtBekNnd0tGOztBdUI1eEtNO0VrQmVOO0lsQmRRO0V2Qmd5S047QUFDRjtBeUNwd0tFO0VBQ0U7RUFDQTtFQUNBO0F6Q3N3S0o7O0F5Q3B3S0k7RUFDRTtFQUNBO0F6Q3V3S047O0F5Q2x3S0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VsQnRERSxvRGtCdURGO0F6Q3F3S0o7O0F1Qnh6S007RWtCMENKO0lsQnpDTTtFdkI0ektOO0FBQ0Y7QXlDeHdLRTtFQUNFO0F6QzB3S0o7O0F5Q3Z3S0U7RUFDRTtFQUNBO0VBQ0E7QXpDMHdLSjs7QXlDdHdLQTtFQUNFO0F6Q3l3S0Y7O0F5Q3R3S0E7RUFDRTtFQUNBO0VBQ0E7QXpDeXdLRjs7QXlDdndLRTtFakNqRUU7RUFDQTtBUjQwS0o7O0F5Q3p3S0k7RWpDcEVBO0VBQ0E7QVJpMUtKOztBeUN6d0tFO0VBQ0U7QXpDNHdLSjs7QXlDeHdLRTtFakNoRUU7RUFDQTtBUjQwS0o7O0F5Q3p3S007RWpDcEVGO0VBQ0E7QVJpMUtKOztBeUN6d0tJO0VqQ3pFQTtFQUNBO0FSczFLSjs7QXlDeHdLQTtFQUNFO0F6QzJ3S0Y7O0F5Q2x3S0U7RUFDRTtFQUNBO0VqQ2xIQTtBUnczS0o7O0F5Q253S0k7RUFBZ0I7QXpDdXdLcEI7O0F5Q3R3S0k7RUFBZTtBekMwd0tuQjs7QXlDdndLSTs7O0VqQ3pIQTtBUnM0S0o7O0F5Q2x3S0k7RUFDRTtFQUNBO0F6Q3F3S047O0EwQzU1S0E7RUFFRTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RXRDK1FJLDBDQUxJO0VzQ3hRUjtFQUNBO0VsQ0ZFO0FSODVLSjs7QTBDdDVLRTtFQUNFO0ExQ3k1S0o7O0EwQ3Y1S0k7RUFDRTtFQUNBO0VBQ0E7RWhCd0NBO0ExQm0zS047O0EwQ2o1S0U7RUFDRTtBMUNvNUtKOztBMkM1N0tBO0VBRUU7RUFDQTtFdkMwUkksZ0NBTEk7RXVDblJSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFakM1QkE7RUFDQTtBVnk5S0Y7O0EyQzE3S0E7RUFDRTtFQUNBO0VBQ0E7RXZDOFBJLDBDQUxJO0V1Q3ZQUjtFQUNBO0VBQ0E7RUFDQTtFcEJ6QkkscUlvQjBCSjtBM0M2N0tGOztBdUJuOUtNO0VvQmFOO0lwQlpRO0V2QnU5S047QUFDRjtBMkNqOEtFO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7QTNDazhLSjs7QTJDLzdLRTtFQUNFO0VBQ0E7RUFDQTtFQUNBLFVwQ28xQ2dDO0VvQ24xQ2hDO0EzQ2s4S0o7O0EyQy83S0U7RUFFRTtFQUNBO0VuQjVERixpRG1CNkR1QjtFQUNyQjtBM0NpOEtKOztBMkM5N0tFO0VBRUU7RUFDQTtFQUNBO0VBQ0E7QTNDZzhLSjs7QTJDMzdLRTtFQUNFLHVEcEN1ekNnQztBUHVvSXBDOztBMkN6N0tNO0VuQ2xDRjtFQUNBO0FSKzlLSjs7QTJDeDdLTTtFbkN0REY7RUFDQTtBUmsvS0o7O0EyQzU2S0E7RUN2R0U7RUFDQTtFeEM2UkksbUNBTEk7RXdDdFJSO0E1Q3VoTEY7O0EyQy82S0E7RUMzR0U7RUFDQTtFeEM2Ukksb0NBTEk7RXdDdFJSO0E1QzhoTEY7O0E2Qy9oTEE7RUFFRTtFQUNBO0V6Q3lSSSw2QkFMSTtFeUNsUlI7RUFDQTtFQUNBO0VBR0E7RUFDQTtFekNpUkkscUNBTEk7RXlDMVFSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3QytoTEY7O0E2QzNoTEU7RUFDRTtBN0M4aExKOztBNkN6aExBO0VBQ0U7RUFDQTtBN0M0aExGOztBNkNyaExBO0VBQ0U7RUFDQTtFekNvUEksaUJBTEk7QUoweUtWOztBOENsa0xBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0V0Q0hFO0FSc2tMSjs7QThDOWpMQTtFQUVFO0E5Q2drTEY7O0E4QzVqTEE7RUFDRSxnQnZDdW5CNEI7RXVDdG5CNUI7QTlDK2pMRjs7QThDdmpMQTtFQUNFLHdCdkM0b0Q4QjtBUDg2SGhDOztBOEN2akxFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUMwakxKOztBOENsakxFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTlDcWpMSjs7QThDempMRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E5QzRqTEo7O0E4Q2hrTEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBOUNta0xKOztBOEN2a0xFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTlDMGtMSjs7QThDOWtMRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E5Q2lsTEo7O0E4Q3JsTEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBOUN3bExKOztBOEM1bExFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTlDK2xMSjs7QThDbm1MRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E5Q3NtTEo7O0ErQy9wTEU7RUFDRTtJQUFLO0UvQ21xTFA7QUFDRjtBK0MvcExBOztFQUdFO0UzQ2lSSSxpQ0FMSTtFMkMxUVI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0UzQ3FRSSx3Q0FMSTtFMkM5UFI7RXZDWEU7QVIwcUxKOztBK0MxcExBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFeEI1QkksOEN3QjZCSjtBL0M2cExGOztBdUJ0ckxNO0V3QmdCTjtJeEJmUTtFdkIwckxOO0FBQ0Y7QStDaHFMQTtFdkJMRTtFdUJPQTtBL0NrcUxGOztBK0MvcExBO0VBQ0U7QS9Da3FMRjs7QStDL3BMQTtFQUNFO0EvQ2txTEY7O0ErQzlwTEU7RUFDRTtBL0NpcUxKOztBK0M5cExNO0VBSko7SUFLTTtFL0NrcUxOO0FBQ0Y7QStDN3BMQTtFQUNFO0EvQytwTEY7O0ErQzNwTEE7RUFDRTtBL0M4cExGOztBK0M3cExFO0VBQ0Usc0J4Q25FUTtBUG11TFo7O0ErQzVwTEE7RUFDRTtFQUNBO0VBQ0EsbUJ4QzhWTztBUGkwS1Q7O0ErQzVwTEE7RUFDRTtFQUNBO0EvQytwTEY7O0ErQzVwTEE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxzQnhDcW9EcUM7QVAwaEl2Qzs7QStDNXBMQTtFQUNFO0VBQ0E7QS9DK3BMRjs7QStDN3BMRTtFQUNFO0EvQ2dxTEo7O0ErQzVwTEE7RUFDRTtBL0MrcExGOztBZ0Qxd0xBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFHQTtFQUNBO0V4Q1pFO0FScXhMSjs7QWdEcndMQTtFQUNFO0VBQ0E7QWhEd3dMRjs7QWdEdHdMRTtFQUVFO0VBQ0E7QWhEd3dMSjs7QWdEaHdMQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRG13TEY7O0FnRGp3TEU7RXhDL0JFO0VBQ0E7QVJveUxKOztBZ0Rsd0xFO0V4Q3JCRTtFQUNBO0FSMnhMSjs7QWdEbndMRTtFQUVFO0VBQ0E7RUFDQTtBaERxd0xKOztBZ0Rqd0xFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWhEb3dMSjs7QWdEaHdMRTtFQUNFO0FoRG13TEo7O0FnRGp3TEk7RUFDRTtFQUNBO0FoRG93TE47O0FnRDF2TEE7RUFDRTtFQUNBO0VBQ0E7QWhENnZMRjs7QWdEenZMSTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0FoRDJ2TE47O0FnRHh2TEk7RUFDRTtFQUNBO0FoRDJ2TE47O0FnRDl1TEk7RUFDRTtBaERpdkxOOztBZ0Q5dUxRO0V4QzFESjtFQVpBO0FSeXpMSjs7QWdEOXVMUTtFeEMzRUo7RUFZQTtBUmt6TEo7O0FnRDl1TFE7RUFDRTtBaERpdkxWOztBZ0Q5dUxRO0VBQ0U7RUFDQTtBaERpdkxWOztBZ0QvdUxVO0VBQ0U7RUFDQTtBaERrdkxaOztBZTMwTEk7RWlDaUVBO0lBQ0U7RWhEOHdMSjtFZ0Qzd0xNO0l4QzFESjtJQVpBO0VScTFMRjtFZ0Qxd0xNO0l4QzNFSjtJQVlBO0VSNjBMRjtFZ0R6d0xNO0lBQ0U7RWhEMndMUjtFZ0R4d0xNO0lBQ0U7SUFDQTtFaEQwd0xSO0VnRHh3TFE7SUFDRTtJQUNBO0VoRDB3TFY7QUFDRjtBZXAyTEk7RWlDaUVBO0lBQ0U7RWhEc3lMSjtFZ0RueUxNO0l4QzFESjtJQVpBO0VSNjJMRjtFZ0RseUxNO0l4QzNFSjtJQVlBO0VScTJMRjtFZ0RqeUxNO0lBQ0U7RWhEbXlMUjtFZ0RoeUxNO0lBQ0U7SUFDQTtFaERreUxSO0VnRGh5TFE7SUFDRTtJQUNBO0VoRGt5TFY7QUFDRjtBZTUzTEk7RWlDaUVBO0lBQ0U7RWhEOHpMSjtFZ0QzekxNO0l4QzFESjtJQVpBO0VScTRMRjtFZ0QxekxNO0l4QzNFSjtJQVlBO0VSNjNMRjtFZ0R6ekxNO0lBQ0U7RWhEMnpMUjtFZ0R4ekxNO0lBQ0U7SUFDQTtFaEQwekxSO0VnRHh6TFE7SUFDRTtJQUNBO0VoRDB6TFY7QUFDRjtBZXA1TEk7RWlDaUVBO0lBQ0U7RWhEczFMSjtFZ0RuMUxNO0l4QzFESjtJQVpBO0VSNjVMRjtFZ0RsMUxNO0l4QzNFSjtJQVlBO0VScTVMRjtFZ0RqMUxNO0lBQ0U7RWhEbTFMUjtFZ0RoMUxNO0lBQ0U7SUFDQTtFaERrMUxSO0VnRGgxTFE7SUFDRTtJQUNBO0VoRGsxTFY7QUFDRjtBZTU2TEk7RWlDaUVBO0lBQ0U7RWhEODJMSjtFZ0QzMkxNO0l4QzFESjtJQVpBO0VScTdMRjtFZ0QxMkxNO0l4QzNFSjtJQVlBO0VSNjZMRjtFZ0R6MkxNO0lBQ0U7RWhEMjJMUjtFZ0R4MkxNO0lBQ0U7SUFDQTtFaEQwMkxSO0VnRHgyTFE7SUFDRTtJQUNBO0VoRDAyTFY7QUFDRjtBZ0Q3MUxBO0V4Q25KSTtBUm0vTEo7O0FnRDcxTEU7RUFDRTtBaERnMkxKOztBZ0Q5MUxJO0VBQ0U7QWhEaTJMTjs7QWdEcDFMRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRHUxTEo7O0FnRGoyTEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaERvMkxKOztBZ0Q5MkxFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhEaTNMSjs7QWdEMzNMRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRDgzTEo7O0FnRHg0TEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEQyNExKOztBZ0RyNUxFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhEdzVMSjs7QWdEbDZMRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRHE2TEo7O0FnRC82TEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaERrN0xKOztBaUQvbU1BO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBLFUxQ28vRDJCO0UwQ24vRDNCLFcxQ20vRDJCO0UwQ2wvRDNCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXpDTkU7RXlDUUY7QWpEK21NRjs7QWlENW1NRTtFQUNFO0VBQ0E7RUFDQTtBakQrbU1KOztBaUQ1bU1FO0VBQ0U7RUFDQTtFQUNBO0FqRCttTUo7O0FpRDVtTUU7RUFFRTtFQUNBO0VBQ0E7QWpEOG1NSjs7QWlEdG1NQTtFQUhFO0FqRDZtTUY7O0FpRHRtTUE7O0VBRUU7QWpEeW1NRjs7QUt4cE1JO0U0Q3NDRjtBakRzbk1GOztBa0R6cU1BO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFOUMyUkksK0JBTEk7RThDcFJSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RTlDNlFJLHFDQUxJO0U4Q3RRUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTFDUkU7QVJrck1KOztBa0R2cU1FO0VBQ0U7QWxEMHFNSjs7QWtEdnFNRTtFQUNFO0FsRDBxTUo7O0FrRHRxTUE7RUFDRTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxEd3FNRjs7QWtEdHFNRTtFQUNFO0FsRHlxTUo7O0FrRHJxTUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFMUNoQ0U7RUFDQTtBUnlzTUo7O0FrRHZxTUU7RUFDRTtBbEQwcU1KOztBa0R0cU1BO0VBQ0U7RUFDQTtBbER5cU1GOztBbURudU1BO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7QW5EaXVNRjs7QW1EMXRNQTtFQUNFO0VBQ0E7RUFDQTtFQUVBO0FuRDR0TUY7O0FtRHp0TUU7RUFDRSw4QjVDaWpEZ0M7RWdCbG1EOUIsbUM0QmtERjtBbkQ0dE1KOztBdUIxd01NO0U0QjRDSjtJNUIzQ007RXZCOHdNTjtBQUNGO0FtRGh1TUU7RUFDRSxlNUM4aURnQztBUG9ySnBDOztBbUQ5dE1FO0VBQ0Usc0I1QzJpRGdDO0FQc3JKcEM7O0FtRDd0TUE7RUFDRTtBbkRndU1GOztBbUQ5dE1FO0VBQ0U7RUFDQTtBbkRpdU1KOztBbUQ5dE1FO0VBQ0U7QW5EaXVNSjs7QW1EN3RNQTtFQUNFO0VBQ0E7RUFDQTtBbkRndU1GOztBbUQ1dE1BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0UzQ3hGRTtFMkM0RkY7QW5ENHRNRjs7QW1EeHRNQTtFQUVFO0VBQ0E7RUFDQTtFQ3ZIQTtFQUNBO0VBQ0E7RUFDQSxtQ0R1SDBCO0VDdEgxQjtFQUNBO0VBQ0Esd0NEb0g0RDtBbkQ4dE05RDs7QW9ELzBNRTtFQUFTO0FwRG0xTVg7O0FvRGwxTUU7RUFBUyxvQ0RnSGlGO0FuRHN1TTVGOztBbURqdU1BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFM0N4R0U7RUFDQTtBUjYwTUo7O0FtRG51TUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuRHN1TUo7O0FtRGp1TUE7RUFDRTtFQUNBO0FuRG91TUY7O0FtRC90TUE7RUFDRTtFQUdBO0VBQ0E7QW5EZ3VNRjs7QW1ENXRNQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTNDL0hFO0VBQ0E7QVIrMU1KOztBbUQzdE1FO0VBQ0U7QW5EOHRNSjs7QWUvME1JO0VvQ3VIRjtJQUNFO0lBQ0E7RW5ENHRNRjtFbUR4dE1BO0lBQ0U7SUFDQTtJQUNBO0VuRDB0TUY7RW1EdnRNQTtJQUNFO0VuRHl0TUY7QUFDRjtBZTkxTUk7RW9DeUlGOztJQUVFO0VuRHd0TUY7QUFDRjtBZXAyTUk7RW9DZ0pGO0lBQ0U7RW5EdXRNRjtBQUNGO0FtRDlzTUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbkRndE1OOztBbUQ5c01NO0VBQ0U7RUFDQTtFM0MvTUo7QVJpNk1KOztBbUQ5c01NOztFM0NuTkY7QVJzNk1KOztBbUQ5c01NO0VBQ0U7QW5EaXRNUjs7QWVqM01JO0VvQzhJQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VuRHV1TUo7RW1EcnVNSTtJQUNFO0lBQ0E7STNDL01KO0VSdTdNRjtFbURwdU1JOztJM0NuTkY7RVIyN01GO0VtRG51TUk7SUFDRTtFbkRxdU1OO0FBQ0Y7QWV0NE1JO0VvQzhJQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VuRDJ2TUo7RW1EenZNSTtJQUNFO0lBQ0E7STNDL01KO0VSMjhNRjtFbUR4dk1JOztJM0NuTkY7RVIrOE1GO0VtRHZ2TUk7SUFDRTtFbkR5dk1OO0FBQ0Y7QWUxNU1JO0VvQzhJQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VuRCt3TUo7RW1EN3dNSTtJQUNFO0lBQ0E7STNDL01KO0VSKzlNRjtFbUQ1d01JOztJM0NuTkY7RVJtK01GO0VtRDN3TUk7SUFDRTtFbkQ2d01OO0FBQ0Y7QWU5Nk1JO0VvQzhJQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VuRG15TUo7RW1EanlNSTtJQUNFO0lBQ0E7STNDL01KO0VSbS9NRjtFbURoeU1JOztJM0NuTkY7RVJ1L01GO0VtRC94TUk7SUFDRTtFbkRpeU1OO0FBQ0Y7QWVsOE1JO0VvQzhJQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VuRHV6TUo7RW1EcnpNSTtJQUNFO0lBQ0E7STNDL01KO0VSdWdORjtFbURwek1JOztJM0NuTkY7RVIyZ05GO0VtRG56TUk7SUFDRTtFbkRxek1OO0FBQ0Y7QXFEL2hOQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWpEd1JJLGlDQUxJO0VpRGpSUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUN0QkEsdUMvQzJvQjRCO0UrQ3pvQjVCO0VBQ0EsZ0IvQ29wQjRCO0UrQ25wQjVCLGdCL0MycEI0QjtFK0MxcEI1QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWxEcVJJLHVDQUxJO0VpRGhRUjtFQUNBO0FyRHNpTkY7O0FxRHBpTkU7RUFBUztBckR3aU5YOztBcUR0aU5FO0VBQ0U7RUFDQTtFQUNBO0FyRHlpTko7O0FxRHZpTkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBckQwaU5OOztBcURyaU5BO0VBQ0U7QXJEd2lORjs7QXFEdGlORTtFQUNFO0VBQ0E7RUFDQTtBckR5aU5KOztBcURyaU5BO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7QXJEd2lORjs7QXFEdGlORTtFQUNFO0VBQ0E7RUFDQTtBckR5aU5KOztBcURyaU5BO0FBRUE7RUFDRTtBckR1aU5GOztBcURyaU5FO0VBQ0U7RUFDQTtFQUNBO0FyRHdpTko7O0FxRHBpTkE7QUFDQTtFQUNFO0VBQ0E7RUFDQTtBckR1aU5GOztBcURyaU5FO0VBQ0U7RUFDQTtFQUNBO0FyRHdpTko7O0FxRHBpTkE7QUFrQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0U3Q25HRTtBUjBuTko7O0F1RDNvTkE7RUFFRTtFQUNBO0VuRDRSSSxpQ0FMSTtFbURyUlI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFbkRtUkksb0NBTEk7RW1ENVFSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUQ3QkEsdUMvQzJvQjRCO0UrQ3pvQjVCO0VBQ0EsZ0IvQ29wQjRCO0UrQ25wQjVCLGdCL0MycEI0QjtFK0MxcEI1QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWxEcVJJLHVDQUxJO0VtRDFQUjtFQUNBO0VBQ0E7RUFDQTtFL0NsQkU7QVJ1cU5KOztBdURqcE5FO0VBQ0U7RUFDQTtFQUNBO0F2RG9wTko7O0F1RGxwTkk7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZEb3BOTjs7QXVEOW9ORTtFQUNFO0F2RGlwTko7O0F1RC9vTkk7RUFFRTtBdkRpcE5OOztBdUQ5b05JO0VBQ0U7RUFDQTtBdkRpcE5OOztBdUQ5b05JO0VBQ0U7RUFDQTtBdkRpcE5OOztBdUQ1b05BO0FBRUU7RUFDRTtFQUNBO0VBQ0E7QXZEOG9OSjs7QXVENW9OSTtFQUVFO0F2RDhvTk47O0F1RDNvTkk7RUFDRTtFQUNBO0F2RDhvTk47O0F1RDNvTkk7RUFDRTtFQUNBO0F2RDhvTk47O0F1RHpvTkE7QUFHRTtFQUNFO0F2RDBvTko7O0F1RHhvTkk7RUFFRTtBdkQwb05OOztBdUR2b05JO0VBQ0U7RUFDQTtBdkQwb05OOztBdUR2b05JO0VBQ0U7RUFDQTtBdkQwb05OOztBdURyb05FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkR3b05KOztBdURwb05BO0FBRUU7RUFDRTtFQUNBO0VBQ0E7QXZEc29OSjs7QXVEcG9OSTtFQUVFO0F2RHNvTk47O0F1RG5vTkk7RUFDRTtFQUNBO0F2RHNvTk47O0F1RG5vTkk7RUFDRTtFQUNBO0F2RHNvTk47O0F1RGpvTkE7QUFrQkE7RUFDRTtFQUNBO0VuRDJHSSw4Q0FMSTtFbURwR1I7RUFDQTtFQUNBO0UvQzlKRTtFQUNBO0FSa3hOSjs7QXVEbG5ORTtFQUNFO0F2RHFuTko7O0F1RGpuTkE7RUFDRTtFQUNBO0F2RG9uTkY7O0F3RHZ5TkE7RUFDRTtBeEQweU5GOztBd0R2eU5BO0VBQ0U7QXhEMHlORjs7QXdEdnlOQTtFQUNFO0VBQ0E7RUFDQTtBeEQweU5GOztBeUR4ME5FO0VBQ0U7RUFDQTtFQUNBO0F6RDIwTko7O0F3RDV5TkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWpDdkJJLHNDaUN3Qko7QXhEK3lORjs7QXVCbjBOTTtFaUNhTjtJakNaUTtFdkJ1ME5OO0FBQ0Y7QXdEbHpOQTs7O0VBR0U7QXhEb3pORjs7QXdEanpOQTs7RUFFRTtBeERvek5GOztBd0Rqek5BOztFQUVFO0F4RG96TkY7O0F3RDN5TkU7RUFDRTtFQUNBO0VBQ0E7QXhEOHlOSjs7QXdEM3lORTs7O0VBR0U7RUFDQTtBeEQ4eU5KOztBd0QzeU5FOztFQUVFO0VBQ0E7RWpDakVFLDJCaUNrRUY7QXhEOHlOSjs7QXVCNTJOTTtFaUMwREo7O0lqQ3pETTtFdkJpM05OO0FBQ0Y7QXdENXlOQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBLFVqRHd2RG1DO0VpRHZ2RG5DO0VBQ0EsV2pEekZVO0VpRDBGVjtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlqRGt2RG1DO0VnQjkwRC9CLDhCaUM2Rko7QXhENnlORjs7QXVCdDROTTtFaUN1RU47O0lqQ3RFUTtFdkIyNE5OO0FBQ0Y7QXdEanpORTs7O0VBRUUsV2pEcEdRO0VpRHFHUjtFQUNBO0VBQ0EsWWpEMHVEaUM7QVAwa0tyQzs7QXdEanpOQTtFQUNFO0F4RG96TkY7O0F3RGp6TkE7RUFDRTtBeERvek5GOztBd0QveU5BOztFQUVFO0VBQ0EsV2pENHVEbUM7RWlEM3VEbkMsWWpEMnVEbUM7RWlEMXVEbkM7RUFDQTtFQUNBO0F4RGt6TkY7O0F3RC95TkE7RTlCN0JNO0ExQmcxTk47O0F3RGh6TkE7RTlCaENNO0ExQm8xTk47O0F3RDN5TkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUEsaUJqRDJyRG1DO0VpRDFyRG5DO0VBQ0EsZ0JqRHlyRG1DO0FQb25LckM7O0F3RDN5TkU7RUFDRTtFQUNBO0VBQ0EsV2pEMHJEaUM7RWlEenJEakMsV2pEMHJEaUM7RWlEenJEakM7RUFDQSxpQmpEMHJEaUM7RWlEenJEakMsZ0JqRHlyRGlDO0VpRHhyRGpDO0VBQ0E7RUFDQSxzQmpEbEtRO0VpRG1LUjtFQUNBO0VBRUE7RUFDQTtFQUNBLFlqRGlyRGlDO0VnQnYxRC9CLDZCaUN1S0Y7QXhENnlOSjs7QXVCaDlOTTtFaUNrSko7SWpDakpNO0V2Qm85Tk47QUFDRjtBd0Roek5FO0VBQ0UsVWpEOHFEaUM7QVBvb0tyQzs7QXdEenlOQTtFQUNFO0VBQ0E7RUFDQSxlakR3cURtQztFaUR2cURuQztFQUNBLG9CakRxcURtQztFaURwcURuQyx1QmpEb3FEbUM7RWlEbnFEbkM7RUFDQTtBeEQ0eU5GOztBd0RqeU5BO0VBTEU7RUFDQTtFQUNBO0F4RDB5TkY7O0F3RG55TkE7O0VBRUU7RUFDQTtFQUNBO0F4RHN5TkY7O0FLdi9OSTtFbURvTUY7RUFDQTtFQUNBO0F4RHV6TkY7O0EwRHhnT0E7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0ExRDBnT0Y7O0EwRHRnT0E7RUFDRTtJQUFLO0UxRDBnT0w7QUFDRjtBMER2Z09BO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtBMURzZ09GOztBMERuZ09BO0VBRUU7RUFDQTtFQUNBO0ExRHFnT0Y7O0EwRDUvTkE7RUFDRTtJQUNFO0UxRCsvTkY7RTBENy9OQTtJQUNFO0lBQ0E7RTFEKy9ORjtBQUNGO0EwRDMvTkE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtBMUQwL05GOztBMER2L05BO0VBQ0U7RUFDQTtBMUQwL05GOztBMER0L05FO0VBQ0U7O0lBRUU7RTFEeS9OSjtBQUNGO0EyRHBrT0E7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNEcWtPRjs7QWUzZ09JO0U0Q3pDRjtJQUVJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SXBDaENBLDJDb0NrQ0E7RTNEc2pPSjtBQUNGO0F1QnJsT007RW9DZ0JKO0lwQ2ZNO0V2QndsT047QUFDRjtBZWppT0k7RTRDekJFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SWpDdURGO0UxQnVnT0o7RTJEMWpPSTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTNENGpPTjtFMkR6ak9JO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTNEMmpPTjtFMkR4ak9JO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UzRDBqT047RTJEdmpPSTtJQUVFO0UzRHdqT047RTJEcmpPSTtJQUdFO0UzRHFqT047QUFDRjtBZXJsT0k7RTRDNUJGO0lBaUVNO0lBQ0E7SUFDQTtFM0Rvak9OO0UyRGxqT007SUFDRTtFM0Rvak9SO0UyRGpqT007SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUVBO0UzRGtqT1I7QUFDRjtBZXpsT0k7RTRDekNGO0lBRUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJcENoQ0EsMkNvQ2tDQTtFM0Rtb09KO0FBQ0Y7QXVCbHFPTTtFb0NnQko7SXBDZk07RXZCcXFPTjtBQUNGO0FlOW1PSTtFNEN6QkU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJakN1REY7RTFCb2xPSjtFMkR2b09JO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFM0R5b09OO0UyRHRvT0k7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFM0R3b09OO0UyRHJvT0k7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTNEdW9PTjtFMkRwb09JO0lBRUU7RTNEcW9PTjtFMkRsb09JO0lBR0U7RTNEa29PTjtBQUNGO0FlbHFPSTtFNEM1QkY7SUFpRU07SUFDQTtJQUNBO0UzRGlvT047RTJEL25PTTtJQUNFO0UzRGlvT1I7RTJEOW5PTTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBRUE7RTNEK25PUjtBQUNGO0FldHFPSTtFNEN6Q0Y7SUFFSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lwQ2hDQSwyQ29Da0NBO0UzRGd0T0o7QUFDRjtBdUIvdU9NO0VvQ2dCSjtJcENmTTtFdkJrdk9OO0FBQ0Y7QWUzck9JO0U0Q3pCRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lqQ3VERjtFMUJpcU9KO0UyRHB0T0k7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UzRHN0T047RTJEbnRPSTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UzRHF0T047RTJEbHRPSTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFM0RvdE9OO0UyRGp0T0k7SUFFRTtFM0RrdE9OO0UyRC9zT0k7SUFHRTtFM0Qrc09OO0FBQ0Y7QWUvdU9JO0U0QzVCRjtJQWlFTTtJQUNBO0lBQ0E7RTNEOHNPTjtFMkQ1c09NO0lBQ0U7RTNEOHNPUjtFMkQzc09NO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFFQTtFM0Q0c09SO0FBQ0Y7QWVudk9JO0U0Q3pDRjtJQUVJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SXBDaENBLDJDb0NrQ0E7RTNENnhPSjtBQUNGO0F1QjV6T007RW9DZ0JKO0lwQ2ZNO0V2Qit6T047QUFDRjtBZXh3T0k7RTRDekJFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SWpDdURGO0UxQjh1T0o7RTJEanlPSTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTNEbXlPTjtFMkRoeU9JO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTNEa3lPTjtFMkQveE9JO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UzRGl5T047RTJEOXhPSTtJQUVFO0UzRCt4T047RTJENXhPSTtJQUdFO0UzRDR4T047QUFDRjtBZTV6T0k7RTRDNUJGO0lBaUVNO0lBQ0E7SUFDQTtFM0QyeE9OO0UyRHp4T007SUFDRTtFM0QyeE9SO0UyRHh4T007SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUVBO0UzRHl4T1I7QUFDRjtBZWgwT0k7RTRDekNGO0lBRUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJcENoQ0EsMkNvQ2tDQTtFM0QwMk9KO0FBQ0Y7QXVCejRPTTtFb0NnQko7SXBDZk07RXZCNDRPTjtBQUNGO0FlcjFPSTtFNEN6QkU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJakN1REY7RTFCMnpPSjtFMkQ5Mk9JO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFM0RnM09OO0UyRDcyT0k7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFM0QrMk9OO0UyRDUyT0k7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTNEODJPTjtFMkQzMk9JO0lBRUU7RTNENDJPTjtFMkR6Mk9JO0lBR0U7RTNEeTJPTjtBQUNGO0FlejRPSTtFNEM1QkY7SUFpRU07SUFDQTtJQUNBO0UzRHcyT047RTJEdDJPTTtJQUNFO0UzRHcyT1I7RTJEcjJPTTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBRUE7RTNEczJPUjtBQUNGO0EyRHQ3T0U7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VwQ2hDQSwyQ29Da0NBO0EzRHM3T047O0F1QnA5T007RW9DZ0JKO0lwQ2ZNO0V2Qnc5T047QUFDRjtBMkQxN09NO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RWpDdURGO0ExQnM0T047O0EyRHo3T007RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzRDQ3T1I7O0EyRHo3T007RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0Q0N09SOztBMkR6N09NO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzRDQ3T1I7O0EyRHo3T007RUFFRTtBM0QyN09SOztBMkR4N09NO0VBR0U7QTNEeTdPUjs7QTJEOTVPQTtFUHpIRTtFQUNBO0VBQ0E7RUFDQSxhN0Ntc0NrQztFNkNsc0NsQztFQUNBO0VBQ0EsMkRPb0hzRDtBM0R1Nk94RDs7QW9EeGhQRTtFQUFTO0FwRDRoUFg7O0FvRDNoUEU7RUFBUyxZN0NzbER5QjtBUHk4THBDOztBMkQ1Nk9BO0VBQ0U7RUFDQTtFQUNBO0EzRCs2T0Y7O0EyRDc2T0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzRGc3T0o7O0EyRDU2T0E7RUFDRTtFQUNBO0EzRCs2T0Y7O0EyRDU2T0E7RUFDRTtFQUNBO0VBQ0E7QTNEKzZPRjs7QTREcGtQQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZckQrNUNrQztBUHdxTXBDOztBNERya1BFO0VBQ0U7RUFDQTtBNUR3a1BKOztBNERua1BBO0VBQ0U7QTVEc2tQRjs7QTREbmtQQTtFQUNFO0E1RHNrUEY7O0E0RG5rUEE7RUFDRTtBNURza1BGOztBNERqa1BFO0VBQ0U7QTVEb2tQSjs7QTREaGtQQTtFQUNFO0lBQ0UsWXJEazRDZ0M7RVBpc01sQztBQUNGO0E0RGhrUEE7RUFDRTtFQUNBO0VBQ0E7QTVEa2tQRjs7QTREL2pQQTtFQUNFO0lBQ0U7RTVEa2tQRjtBQUNGO0E2RGhuUEE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXJEQUU7RWVKRSx3QnNDTUo7QTdEK21QRjs7QXVCam5QTTtFc0NsQk47SXRDbUJRO0V2QnFuUE47QUFDRjtBNkRsblBBO0VBQ0U7RUFDQTtFckRQRTtBUjRuUEo7O0E2RGpuUEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFckRsQkU7QVJ1b1BKOztBNkRoblBFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0RtblBKOztBNkR4blBFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0QyblBKOztBNkRob1BFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0Rtb1BKOztBNkR4b1BFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0Qyb1BKOztBNkR2b1BBO0VBQ0U7QTdEMG9QRjs7QTZEeG9QRTtFQUNFO0E3RDJvUEo7O0E2RHpvUEk7RUFDRTtBN0Q0b1BOOztBOER2c1BBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXRESUU7QVJvc1BKOztBOERqc1BFO0VBQ0U7QTlEb3NQSjs7QThEcnNQRTtFQUNFO0E5RHdzUEo7O0E4RHpzUEU7RUFDRTtBOUQ0c1BKOztBOEQ3c1BFO0VBQ0U7QTlEZ3RQSjs7QThEanRQRTtFQUNFO0E5RG90UEo7O0E4RHJ0UEU7RUFDRTtBOUR3dFBKOztBOER6dFBFO0VBQ0U7QTlENHRQSjs7QThEN3RQRTtFQUNFO0E5RGd1UEo7O0ErRHp2UEE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0R5dlBGOztBK0R0dlBBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxheEQwcUNrQztBUCtrTnBDOztBK0R0dlBBO0VBQ0U7RUFDQTtFQUNBLGF4RG9xQ2tDO0FQcWxOcEM7O0FnRXJ4UEE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXpDeEJJLHdDeUN5Qko7QWhFcXhQRjs7QXVCMXlQTTtFeUNoQk47SXpDaUJRO0V2Qjh5UE47QUFDRjtBZ0V0eFBFOztFQUNFO0VBQ0E7RUFDQTtFQUNBO0FoRXl4UEo7O0FnRTN3UEU7RUFDRTtFQUNBO0VBQ0EsYXpEZ29DZ0M7QVA4b05wQzs7QWdFMXdQQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FoRTZ3UEY7O0FnRXR3UEE7RUFDRTtFQUNBO0VBQ0EsdUJ6RHdzRDhCO0VIMy9DMUIsa0JBTEk7RTREdE1SO0VBQ0E7RUFDQTtBaEV5d1BGOztBZ0V2d1BFO0VBRUU7QWhFeXdQSjs7QWdFaHdQQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhFbXdQRjs7QWdFandQRTtFQUNFO0VBQ0E7QWhFb3dQSjs7QWdFbHdQSTtFQUVFO0FoRW93UE47O0FnRWp3UEk7RUFDRTtBaEVvd1BOOztBZ0Vod1BFOztFQUVFO0FoRW13UEo7O0FnRWh3UEU7RUFDRTtBaEVtd1BKOztBZ0UxdlBBO0VBQ0U7RUFDQTtFQUNBO0FoRTZ2UEY7O0FnRTN2UEU7RUFDRTtBaEU4dlBKOztBZ0U1dlBJO0VBRUU7QWhFOHZQTjs7QWdFenZQQTtFQUNFO0U1RHdJSSxrQkFMSTtFNERqSVI7RUFDQTtFQUNBO0V4RDFJRTtBUnU0UEo7O0FnRTF2UEU7RUFDRTtFQUNBO0FoRTZ2UEo7O0FnRTF2UEU7RUFDRTtBaEU2dlBKOztBZ0V6dlBFO0VBQ0U7QWhFNHZQSjs7QWdFeHZQQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEUydlBGOztBZ0V6dlBFO0VBQ0U7QWhFNHZQSjs7QWlFcjdQQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpFdzdQRjs7QWlFdjdQRTtFQ1BBLFczRGl3QmdCO0UyRGh3QmhCLFkzRGd3QmdCO0UyRC92QmhCLGUzRCt2QmdCO0FQbXNPbEI7O0FpRTE3UEk7RUNWRixXM0Rxd0JnQjtFMkRwd0JoQixZM0Rvd0JnQjtFMkRud0JoQixlM0Rtd0JnQjtBUHFzT2xCOztBaUU1N1BJO0VDZEYsYTNEb3dCZ0I7RTJEbndCaEIsYzNEbXdCZ0I7RTJEbHdCaEIsaUIzRGt3QmdCO0FQNHNPbEI7O0FpRTk3UEk7RUNsQkYsYzNEbXdCZ0I7RTJEbHdCaEIsZTNEa3dCZ0I7RTJEandCaEIsa0IzRGl3QmdCO0FQbXRPbEI7O0FpRWg4UEk7RUN0QkYsZTNEa3dCZ0I7RTJEandCaEIsZ0IzRGl3QmdCO0UyRGh3QmhCLG1CM0Rnd0JnQjtBUDB0T2xCOztBaUVqOFBNO0VDM0JKLFdENEJ5QjtFQzNCekIsWUQyQnlCO0VDMUJ6QixlRDBCeUI7QWpFczhQM0I7O0FpRXY4UE07RUMzQkosV0Q0QnlCO0VDM0J6QixZRDJCeUI7RUMxQnpCLGVEMEJ5QjtBakU0OFAzQjs7QWlFNzhQTTtFQzNCSixXRDRCeUI7RUMzQnpCLFlEMkJ5QjtFQzFCekIsZUQwQnlCO0FqRWs5UDNCOztBaUVuOVBNO0VDM0JKLFdENEJ5QjtFQzNCekIsWUQyQnlCO0VDMUJ6QixlRDBCeUI7QWpFdzlQM0I7O0FpRXo5UE07RUMzQkosV0Q0QnlCO0VDM0J6QixZRDJCeUI7RUMxQnpCLGVEMEJ5QjtBakU4OVAzQjs7QWlFLzlQTTtFQzNCSixXRDRCeUI7RUMzQnpCLFlEMkJ5QjtFQzFCekIsZUQwQnlCO0FqRW8rUDNCOztBaUVyK1BNO0VDM0JKLFdENEJ5QjtFQzNCekIsWUQyQnlCO0VDMUJ6QixlRDBCeUI7QWpFMCtQM0I7O0FtRTkvUEE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0U1Q1pJLHlINENhSjtBbkU2L1BGOztBdUJ0Z1FNO0U0Q2JOO0k1Q2NRO0V2QjBnUU47QUFDRjtBbUVqZ1FFO0VBQ0U7QW5FbWdRSjs7QW1FaGdRRTtFQUNFO0VBQ0E7QW5FbWdRSjs7QWV4K1BJO0VvRHRCRTtJQUNFO0VuRWtnUU47RW1FaGdRSTtJQUNFO0VuRWtnUU47RW1FNy9QSTtJQUNFO0VuRSsvUE47RW1FNy9QSTtJQUNFO0VuRSsvUE47QUFDRjtBZTErUEk7RW9EdEVKO0lBd0RJO0lBRUE7SUFDQTtJQUNBO0lBQ0E7RW5FMi9QRjtFbUV6L1BFO0lBQ0U7RW5FMi9QSjtFbUV6L1BJO0lBQ0U7RW5FMi9QTjtFbUV2L1BFO0lBQ0U7RW5FeS9QSjtFbUV2L1BJO0lBQ0U7RW5FeS9QTjtBQUNGO0FtRXAvUEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbkVzL1BGOztBbUVwL1BFO0VBQ0U7QW5FdS9QSjs7QW1FcC9QRTtFQUNFO0FuRXUvUEo7O0FtRW4vUEE7RUFFRTtBbkVxL1BGOztBbUVoL1BFO0VBQ0U7QW5FbS9QSjs7QW1FaC9QRTtFQUNFO0FuRW0vUEo7O0FtRWgvUEU7RUFDRTtBbkVtL1BKOztBbUVqL1BJO0VBQ0U7QW5Fby9QTjs7QW1Fai9QSTtFQUNFO0FuRW8vUE47O0FtRTkrUEU7RUFDRTtBbkVpL1BKOztBZXRqUUk7RW9EeUVJO0lBQ0U7RW5FaS9QUjtFbUUvK1BNO0lBQ0U7RW5FaS9QUjtBQUNGO0FtRTMvUEU7RUFDRTtBbkU2L1BKOztBZWxrUUk7RW9EeUVJO0lBQ0U7RW5FNi9QUjtFbUUzL1BNO0lBQ0U7RW5FNi9QUjtBQUNGO0FtRXZnUUU7RUFDRTtBbkV5Z1FKOztBZTlrUUk7RW9EeUVJO0lBQ0U7RW5FeWdRUjtFbUV2Z1FNO0lBQ0U7RW5FeWdRUjtBQUNGO0FtRW5nUUE7RUFDRTtFQUNBO0FuRXFnUUY7O0FtRW5nUUU7RUFDRTtBbkVzZ1FKOztBbUVsZ1FBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QW5FcWdRRjs7QW1FbmdRRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FuRXNnUUo7O0FtRWxnUUE7RUFDRTtBbkVxZ1FGOztBbUVsZ1FBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QW5FcWdRRjs7QW1FbGdRQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0UzRHJMRTtBUndyUUo7O0FtRWhnUUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0U1Q3BNRSxpRDRDcU1GO0FuRW1nUUo7O0F1QnBzUU07RTRDd0xKO0k1Q3ZMTTtFdkJ3c1FOO0FBQ0Y7QW1FbGdRRTtFQUNFO0FuRW9nUUo7O0FtRW5nUUk7RUFDRTtBbkVzZ1FOOztBbUVsZ1FFO0VBQ0U7RUFDQTtFQUNBO0FuRXFnUUo7O0FtRW5nUUk7RUFDRTtBbkVzZ1FOOztBZWxxUUk7RW9EeUdKO0lBd0RJO0VuRXNnUUY7QUFDRjtBbUVoZ1FBO0VBRUU7RUFDQTtFQUNBO0FuRWlnUUY7O0FlN3FRSTtFb0R3S0o7SWZwUEU7SUFDQTtJQUNBO0lBQ0EsbUNleVA0QjtJZnhQNUI7SUFDQTtJQUNBLHdDZXNQOEQ7RW5Fd2dROUQ7RW9EM3ZRQTtJQUFTO0VwRDh2UVQ7RW9EN3ZRQTtJQUFTLG9DZWtQbUY7RW5FOGdRNUY7QUFDRjtBbUUzZ1FBO0VBQ0U7RUFDQTtFQUVBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFFQTtBbkV5Z1FGOztBbUV2Z1FFO0VBQ0U7QW5FMGdRSjs7QW9FdnhRQTtFQUVFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwRWl4UUY7O0FvRS93UUU7OztFQUdFO0FwRWt4UUo7O0FvRS93UUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTdDcEVFLHNDNkNxRUY7QXBFa3hRSjs7QXVCbjFRTTtFNkMwREo7STdDekRNO0V2QnUxUU47QUFDRjtBb0VyeFFFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0U1RDdFQTtFZUpFLG1FNkNtRkY7QXBFdXhRSjs7QXVCdDJRTTtFNkNvRUo7STdDbkVNO0V2QjAyUU47QUFDRjtBb0UzeFFJO0VBQ0U7RUFDQTtBcEU2eFFOOztBb0UzeFFNO0VBQ0U7QXBFOHhRUjs7QW9FM3hRTTtFQUNFO0VBQ0E7QXBFOHhRUjs7QW9FMXhRSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FwRTZ4UU47O0FvRTN4UU07RUFDRTtBcEU4eFFSOztBb0UzeFFNO0VBQ0U7RUFDQTtBcEU4eFFSOztBb0UzeFFNO0VBQ0U7QXBFOHhRUjs7QW9FNXhRUTtFQUNFO0FwRSt4UVY7O0FvRTV4UVE7RUFDRTtFQUNBO0FwRSt4UVY7O0FvRTV4UVE7RUFDRTtFQUNBO0FwRSt4UVY7O0FvRTF4UUk7RUFDRTtJQUNFO0lBQ0E7SUFDQTtFcEU2eFFOO0VvRTN4UU07SUFDRTtFcEU2eFFSO0VvRTF4UU07SUFDRTtJQUNBO0VwRTR4UVI7RW9FenhRTTtJQUNFO0lBQ0E7RXBFMnhRUjtBQUNGO0FvRXR4UUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0U3Q3ZLRSxtQjZDd0tGO0FwRXd4UUo7O0F1QjU3UU07RTZDd0pKO0k3Q3ZKTTtFdkJnOFFOO0FBQ0Y7QW9FM3hRRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEU2eFFKOztBb0V6eFFFO0VBQ0U7QXBFNHhRSjs7QW9FenhRRTtFQUNFO0VBQ0E7RTVEdkxBO0VlSkUsd0M2QzZMRjtBcEU0eFFKOztBdUJyOVFNO0U2Q3FMSjtJN0NwTE07RXZCeTlRTjtBQUNGO0FvRWh5UUk7RUFDRTtFQUNBO0U3Q2pNQSw2QjZDa01BO0FwRWt5UU47O0F1QmgrUU07RTZDMkxGO0k3QzFMSTtFdkJvK1FOO0FBQ0Y7QW9FcnlRSTtFQUNFO0FwRXV5UU47O0FvRXB5UUk7RUFDRTtBcEV1eVFOOztBb0VyeVFNO0VBQ0U7QXBFd3lRUjs7QW9FcnlRTTtFQUNFO0FwRXd5UVI7O0FvRXJ5UU07RUFDRTtBcEV3eVFSOztBb0VueVFFO0VBQ0U7QXBFc3lRSjs7QW9FcHlRSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0U3Q3BPQSwyQjZDcU9BO0FwRXV5UU47O0F1QnhnUk07RTZDeU5GO0k3Q3hOSTtFdkI0Z1JOO0FBQ0Y7QW9FenlRRTtFQUNFO0VBQ0E7QXBFMnlRSjs7QW9FenlRSTtFQUNFO0FwRTR5UU47O0FvRXp5UUk7RUFDRTtBcEU0eVFOOztBb0V0eVFJOztFQUNFO0FwRTB5UU47O0FxRWpqUkE7RUFFRTtBckVtalJGOztBZXYvUUk7RXNEOURKO0lBTUk7SUFDQTtJQUNBO0lBQ0E7RXJFb2pSRjtFcUVsalJFO0lBQ0U7RXJFb2pSSjtFcUVqalJFO0lBQ0U7RXJFbWpSSjtFcUVoalJFO0lBQ0U7SUFDQTtJQUNBO0VyRWtqUko7RXFFL2lSRTtJQUNFO0lBQ0E7RXJFaWpSSjtFcUU5aVJFO0lBQ0U7RXJFZ2pSSjtFcUU3aVJFO0lBQ0U7RXJFK2lSSjtFcUU1aVJFOzs7Ozs7Ozs7O0lBTUU7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFckVralJKO0VxRS9pUkU7STNDcUJFO0UxQjZoUko7RXFFOWlSRTtJQUNFO0VyRWdqUko7QUFDRjtBcUU1aVJBO0VBRUU7QXJFNmlSRjs7QXFFcGlSRTtFQUNFO0VBQ0EsK0M5RDZnQjBCO0FQMGhROUI7O0FxRXJpUkk7RTNDSkU7QTFCNmlSTjs7QXFFcmlSSTtFQUNFO0FyRXdpUk47O0FlM2pSSTtFc0QyQkE7O0lBQ0U7RXJFcWlSSjtFcUVuaVJFOztJQUNFO0VyRXNpUko7QUFDRjtBeUR2b1JFO0VBQ0U7RUFDQTtFQUNBO0F6RHlvUko7O0FzRXRvUkU7RUFDRTtFQUNBO0F0RXlvUko7O0FzRTNvUkU7RUFDRTtFQUNBO0F0RThvUko7O0FzRWhwUkU7RUFDRTtFQUNBO0F0RW1wUko7O0FzRXJwUkU7RUFDRTtFQUNBO0F0RXdwUko7O0FzRTFwUkU7RUFDRTtFQUNBO0F0RTZwUko7O0FzRS9wUkU7RUFDRTtFQUNBO0F0RWtxUko7O0FzRXBxUkU7RUFDRTtFQUNBO0F0RXVxUko7O0FzRXpxUkU7RUFDRTtFQUNBO0F0RTRxUko7O0FzRXBxUk07RUFDRTtFQUNBO0F0RXVxUlI7O0FzRXpxUk07RUFDRTtFQUNBO0F0RTRxUlI7O0FzRTlxUk07RUFDRTtFQUNBO0F0RWlyUlI7O0FzRW5yUk07RUFDRTtFQUNBO0F0RXNyUlI7O0FzRXhyUk07RUFDRTtFQUNBO0F0RTJyUlI7O0FzRTdyUk07RUFDRTtFQUNBO0F0RWdzUlI7O0FzRWxzUk07RUFDRTtFQUNBO0F0RXFzUlI7O0FzRXZzUk07RUFDRTtFQUNBO0F0RTBzUlI7O0F1RXh0UkU7RUFDRTtFQUNBO0F2RTJ0Uko7O0F1RXh0Uk07RUFHRTtFQUNBO0F2RXl0UlI7O0F1RWx1UkU7RUFDRTtFQUNBO0F2RXF1Uko7O0F1RWx1Uk07RUFHRTtFQUNBO0F2RW11UlI7O0F1RTV1UkU7RUFDRTtFQUNBO0F2RSt1Uko7O0F1RTV1Uk07RUFHRTtFQUNBO0F2RTZ1UlI7O0F1RXR2UkU7RUFDRTtFQUNBO0F2RXl2Uko7O0F1RXR2Uk07RUFHRTtFQUNBO0F2RXV2UlI7O0F1RWh3UkU7RUFDRTtFQUNBO0F2RW13Uko7O0F1RWh3Uk07RUFHRTtFQUNBO0F2RWl3UlI7O0F1RTF3UkU7RUFDRTtFQUNBO0F2RTZ3Uko7O0F1RTF3Uk07RUFHRTtFQUNBO0F2RTJ3UlI7O0F1RXB4UkU7RUFDRTtFQUNBO0F2RXV4Uko7O0F1RXB4Uk07RUFHRTtFQUNBO0F2RXF4UlI7O0F1RTl4UkU7RUFDRTtFQUNBO0F2RWl5Uko7O0F1RTl4Uk07RUFHRTtFQUNBO0F2RSt4UlI7O0F1RXh4UkE7RUFDRTtFQUNBO0F2RTJ4UkY7O0F1RXh4Ukk7RUFFRTtFQUNBO0F2RTB4Uk47O0F3RXR6UkE7RUFDRTtFQUVBO0F4RXd6UkY7O0F5RTF6UkE7RUFDRTtFQUNBLGFsRTBlNEI7RWtFemU1QjtFQUNBO0VBQ0EsNkJsRXdlNEI7RWtFdmU1QjtBekU2elJGOztBeUUzelJFO0VBQ0U7RUFDQSxVbEVvZTBCO0VrRW5lMUIsV2xFbWUwQjtFa0VsZTFCO0VsRElFLHNDa0RIRjtBekU4elJKOztBdUJ2elJNO0VrRFpKO0lsRGFNO0V2QjJ6Uk47QUFDRjtBeUU3elJJO0VBQ0U7QXpFK3pSTjs7QTBFbjFSQTtFQUNFO0VBQ0E7QTFFczFSRjs7QTBFcDFSRTtFQUNFO0VBQ0E7RUFDQTtBMUV1MVJKOztBMEVwMVJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUV1MVJKOztBMEVsMVJFO0VBQ0U7QTFFcTFSSjs7QTBFdDFSRTtFQUNFO0ExRXkxUko7O0EwRTExUkU7RUFDRTtBMUU2MVJKOztBMEU5MVJFO0VBQ0U7QTFFaTJSSjs7QTJFcDNSQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYXBFNHJDa0M7QVAyclBwQzs7QTJFcDNSQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYXBFb3JDa0M7QVBtc1BwQzs7QTJFLzJSSTtFQUNFO0VBQ0E7RUFDQSxhcEV3cUM4QjtBUDBzUHBDOztBMkUvMlJJO0VBQ0U7RUFDQTtFQUNBLGFwRWtxQzhCO0FQZ3RQcEM7O0FlbjFSSTtFNER4Q0E7SUFDRTtJQUNBO0lBQ0EsYXBFd3FDOEI7RVB1dFBsQztFMkU1M1JFO0lBQ0U7SUFDQTtJQUNBLGFwRWtxQzhCO0VQNHRQbEM7QUFDRjtBZWgyUkk7RTREeENBO0lBQ0U7SUFDQTtJQUNBLGFwRXdxQzhCO0VQbXVQbEM7RTJFeDRSRTtJQUNFO0lBQ0E7SUFDQSxhcEVrcUM4QjtFUHd1UGxDO0FBQ0Y7QWU1MlJJO0U0RHhDQTtJQUNFO0lBQ0E7SUFDQSxhcEV3cUM4QjtFUCt1UGxDO0UyRXA1UkU7SUFDRTtJQUNBO0lBQ0EsYXBFa3FDOEI7RVBvdlBsQztBQUNGO0FleDNSSTtFNER4Q0E7SUFDRTtJQUNBO0lBQ0EsYXBFd3FDOEI7RVAydlBsQztFMkVoNlJFO0lBQ0U7SUFDQTtJQUNBLGFwRWtxQzhCO0VQZ3dQbEM7QUFDRjtBZXA0Ukk7RTREeENBO0lBQ0U7SUFDQTtJQUNBLGFwRXdxQzhCO0VQdXdQbEM7RTJFNTZSRTtJQUNFO0lBQ0E7SUFDQSxhcEVrcUM4QjtFUDR3UGxDO0FBQ0Y7QTRFbDlSQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E1RW85UkY7O0E0RWo5UkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBNUVvOVJGOztBNkUxOVJBOztFQ0VFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlFNjlSRjs7QThFMTlSRTs7RUFDRTtBOUU4OVJKOztBOEUxOVJFOztFQUNFO0E5RTg5Uko7O0ErRS8rUkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsVXhFOGRzQztFd0U3ZHRDO0EvRWsvUko7O0FnRjEvUkE7RUNGRTtFQUNBO0VBQ0E7QWpGZ2dTRjs7QWtGcGdTQTtFQUNFO0VBQ0E7RUFDQSw4QjNFNnVCNEI7RTJFNXVCNUI7RUFDQTtFQUNBO0VBQ0EsYTNFc3VCNEI7QVBpeVE5Qjs7QW1GNTZSVTtFQWNNO0FuRms2UmhCOztBbUZoN1JVO0VBY007QW5GczZSaEI7O0FtRnA3UlU7RUFjTTtBbkYwNlJoQjs7QW1GeDdSVTtFQWNNO0FuRjg2UmhCOztBbUY1N1JVO0VBY007QW5GazdSaEI7O0FtRmg4UlU7RUFjTTtBbkZzN1JoQjs7QW1GcDhSVTtFQWNNO0FuRjA3UmhCOztBbUZ4OFJVO0VBY007QW5GODdSaEI7O0FtRjU4UlU7RUFjTTtBbkZrOFJoQjs7QW1GaDlSVTtFQWNNO0FuRnM4UmhCOztBbUZwOVJVO0VBY007QW5GMDhSaEI7O0FtRng5UlU7RUFjTTtBbkY4OFJoQjs7QW1GNTlSVTtFQWNNO0FuRms5UmhCOztBbUZoK1JVO0VBY007QW5GczlSaEI7O0FtRnArUlU7RUFjTTtBbkYwOVJoQjs7QW1GeCtSVTtFQWNNO0FuRjg5UmhCOztBbUY1K1JVO0VBY007QW5GaytSaEI7O0FtRmgvUlU7RUFjTTtBbkZzK1JoQjs7QW1GcC9SVTtFQWNNO0FuRjArUmhCOztBbUZ4L1JVO0VBY007QW5GOCtSaEI7O0FtRjUvUlU7RUFjTTtBbkZrL1JoQjs7QW1GaGdTVTtFQWNNO0FuRnMvUmhCOztBbUZwZ1NVO0VBY007QW5GMC9SaEI7O0FtRnhnU1U7RUFjTTtBbkY4L1JoQjs7QW1GNWdTVTtFQWNNO0FuRmtnU2hCOztBbUZoaFNVO0VBY007QW5Gc2dTaEI7O0FtRnBoU1U7RUFjTTtBbkYwZ1NoQjs7QW1GeGhTVTtFQWNNO0FuRjhnU2hCOztBbUY1aFNVO0VBY007QW5Ga2hTaEI7O0FtRmhpU1U7RUFjTTtBbkZzaFNoQjs7QW1GcGlTVTtFQWNNO0FuRjBoU2hCOztBbUZ4aVNVO0VBY007QW5GOGhTaEI7O0FtRjVpU1U7RUFjTTtBbkZraVNoQjs7QW1GaGpTVTtFQWNNO0FuRnNpU2hCOztBbUZwalNVO0VBY007QW5GMGlTaEI7O0FtRnhqU1U7RUFjTTtBbkY4aVNoQjs7QW1GNWpTVTtFQWNNO0FuRmtqU2hCOztBbUZoa1NVO0VBY007QW5Gc2pTaEI7O0FtRnBrU1U7RUFjTTtBbkYwalNoQjs7QW1GeGtTVTtFQWNNO0FuRjhqU2hCOztBbUY1a1NVO0VBY007QW5Ga2tTaEI7O0FtRmhsU1U7RUFjTTtBbkZza1NoQjs7QW1GcGxTVTtFQWNNO0FuRjBrU2hCOztBbUZ4bFNVO0VBY007QW5GOGtTaEI7O0FtRjVsU1U7RUFjTTtBbkZrbFNoQjs7QW1GaG1TVTtFQWNNO0FuRnNsU2hCOztBbUY1blNVO0VBQ0U7QW5GK25TWjs7QW1GaG9TVTtFQUNFO0FuRm1vU1o7O0FtRnBvU1U7RUFDRTtBbkZ1b1NaOztBbUZ4b1NVO0VBQ0U7QW5GMm9TWjs7QW1GNW9TVTtFQUNFO0FuRitvU1o7O0FtRmhwU1U7RUFDRTtBbkZtcFNaOztBbUZwcFNVO0VBQ0U7QW5GdXBTWjs7QW1GeHBTVTtFQUNFO0FuRjJwU1o7O0FtRnBvU1U7RUFjTTtBbkYwblNoQjs7QW1GeG9TVTtFQWNNO0FuRjhuU2hCOztBbUY1b1NVO0VBY007QW5Ga29TaEI7O0FtRmhwU1U7RUFjTTtBbkZzb1NoQjs7QW1GcHBTVTtFQWNNO0FuRjBvU2hCOztBbUZ4cFNVO0VBY007QW5GOG9TaEI7O0FtRjVwU1U7RUFjTTtBbkZrcFNoQjs7QW1GaHFTVTtFQWNNO0FuRnNwU2hCOztBbUZwcVNVO0VBY007QW5GMHBTaEI7O0FtRnhxU1U7RUFjTTtBbkY4cFNoQjs7QW1GNXFTVTtFQWNNO0FuRmtxU2hCOztBbUZoclNVO0VBY007QW5Gc3FTaEI7O0FtRnByU1U7RUFjTTtBbkYwcVNoQjs7QW1GeHJTVTtFQWNNO0FuRjhxU2hCOztBbUY1clNVO0VBY007QW5Ga3JTaEI7O0FtRmhzU1U7RUFjTTtBbkZzclNoQjs7QW1GcHNTVTtFQWNNO0FuRjByU2hCOztBbUZ4c1NVO0V6RHZCSjtBMUJtdVNOOztBbUY1c1NVO0V6RHZCSjtBMUJ1dVNOOztBbUZodFNVO0V6RHZCSjtBMUIydVNOOztBbUZwdFNVO0VBY007QW5GMHNTaEI7O0FtRnh0U1U7RUFjTTtBbkY4c1NoQjs7QW1GNXRTVTtFQWNNO0FuRmt0U2hCOztBbUZodVNVO0VBY007QW5Gc3RTaEI7O0FtRnB1U1U7RUFjTTtBbkYwdFNoQjs7QW1GeHVTVTtFQWNNO0FuRjh0U2hCOztBbUY1dVNVO0VBY007QW5Ga3VTaEI7O0FtRmh2U1U7RUFjTTtBbkZzdVNoQjs7QW1GcHZTVTtFQWNNO0FuRjB1U2hCOztBbUZ4dlNVO0VBY007QW5GOHVTaEI7O0FtRjV2U1U7RUFJUTtFQVVGO0FuRm12U2hCOztBbUZqd1NVO0VBSVE7RUFVRjtBbkZ3dlNoQjs7QW1GdHdTVTtFQUlRO0VBVUY7QW5GNnZTaEI7O0FtRjN3U1U7RUFJUTtFQVVGO0FuRmt3U2hCOztBbUZoeFNVO0VBSVE7RUFVRjtBbkZ1d1NoQjs7QW1GcnhTVTtFQUlRO0VBVUY7QW5GNHdTaEI7O0FtRjF4U1U7RUFJUTtFQVVGO0FuRml4U2hCOztBbUYveFNVO0VBSVE7RUFVRjtBbkZzeFNoQjs7QW1GcHlTVTtFQUlRO0VBVUY7QW5GMnhTaEI7O0FtRnp5U1U7RUFJUTtFQVVGO0FuRmd5U2hCOztBbUY5eVNVO0VBY007QW5Gb3lTaEI7O0FtRmx6U1U7RUFjTTtBbkZ3eVNoQjs7QW1GdHpTVTtFQWNNO0FuRjR5U2hCOztBbUYxelNVO0VBY007QW5GZ3pTaEI7O0FtRjl6U1U7RUFjTTtBbkZvelNoQjs7QW1GbDBTVTtFQWNNO0FuRnd6U2hCOztBbUZ0MFNVO0VBY007QW5GNHpTaEI7O0FtRjEwU1U7RUFjTTtBbkZnMFNoQjs7QW1GOTBTVTtFQWNNO0FuRm8wU2hCOztBbUZsMVNVO0VBY007QW5GdzBTaEI7O0FtRnQxU1U7RUFjTTtBbkY0MFNoQjs7QW1GMTFTVTtFQWNNO0FuRmcxU2hCOztBbUY5MVNVO0VBY007QW5GbzFTaEI7O0FtRmwyU1U7RUFjTTtBbkZ3MVNoQjs7QW1GdDJTVTtFQWNNO0FuRjQxU2hCOztBbUYxMlNVO0VBY007QW5GZzJTaEI7O0FtRjkyU1U7RUFjTTtBbkZvMlNoQjs7QW1GbDNTVTtFQWNNO0FuRncyU2hCOztBbUZ0M1NVO0VBY007QW5GNDJTaEI7O0FtRjEzU1U7RUFjTTtBbkZnM1NoQjs7QW1GOTNTVTtFQWNNO0FuRm8zU2hCOztBbUZsNFNVO0VBY007QW5GdzNTaEI7O0FtRnQ0U1U7RUFjTTtBbkY0M1NoQjs7QW1GMTRTVTtFQWNNO0FuRmc0U2hCOztBbUY5NFNVO0VBY007QW5GbzRTaEI7O0FtRmw1U1U7RUFjTTtBbkZ3NFNoQjs7QW1GdDVTVTtFQWNNO0FuRjQ0U2hCOztBbUYxNVNVO0VBY007QW5GZzVTaEI7O0FtRjk1U1U7RUFjTTtBbkZvNVNoQjs7QW1GbDZTVTtFQWNNO0FuRnc1U2hCOztBbUZ0NlNVO0VBY007QW5GNDVTaEI7O0FtRjE2U1U7RUFjTTtBbkZnNlNoQjs7QW1GOTZTVTtFQWNNO0FuRm82U2hCOztBbUZsN1NVO0VBY007QW5GdzZTaEI7O0FtRnQ3U1U7RUFjTTtBbkY0NlNoQjs7QW1GMTdTVTtFQWNNO0FuRmc3U2hCOztBbUY5N1NVO0VBY007QW5GbzdTaEI7O0FtRmw4U1U7RUFjTTtBbkZ3N1NoQjs7QW1GdDhTVTtFQWNNO0FuRjQ3U2hCOztBbUYxOFNVO0VBY007QW5GZzhTaEI7O0FtRjk4U1U7RUFjTTtBbkZvOFNoQjs7QW1GbDlTVTtFQWNNO0FuRnc4U2hCOztBbUZ0OVNVO0VBY007QW5GNDhTaEI7O0FtRjE5U1U7RUFjTTtBbkZnOVNoQjs7QW1GOTlTVTtFQWNNO0FuRm85U2hCOztBbUZsK1NVO0VBY007QW5GdzlTaEI7O0FtRnQrU1U7RUFjTTtBbkY0OVNoQjs7QW1GMStTVTtFQWNNO0FuRmcrU2hCOztBbUY5K1NVO0VBY007QW5GbytTaEI7O0FtRmwvU1U7RUFjTTtBbkZ3K1NoQjs7QW1GdC9TVTtFQWNNO0FuRjQrU2hCOztBbUYxL1NVO0VBY007QW5GZy9TaEI7O0FtRjkvU1U7RUFjTTtBbkZvL1NoQjs7QW1GbGdUVTtFQWNNO0FuRncvU2hCOztBbUZ0Z1RVO0VBY007QW5GNC9TaEI7O0FtRjFnVFU7RUFjTTtBbkZnZ1RoQjs7QW1GOWdUVTtFQWNNO0FuRm9nVGhCOztBbUZsaFRVO0VBY007QW5Gd2dUaEI7O0FtRnRoVFU7RUFjTTtBbkY0Z1RoQjs7QW1GMWhUVTtFQWNNO0FuRmdoVGhCOztBbUY5aFRVO0VBY007QW5Gb2hUaEI7O0FtRmxpVFU7RUFjTTtBbkZ3aFRoQjs7QW1GdGlUVTtFQWNNO0FuRjRoVGhCOztBbUYxaVRVO0VBY007QW5GZ2lUaEI7O0FtRjlpVFU7RUFjTTtBbkZvaVRoQjs7QW1GbGpUVTtFQWNNO0FuRndpVGhCOztBbUZ0alRVO0VBY007QW5GNGlUaEI7O0FtRjFqVFU7RUFjTTtBbkZnalRoQjs7QW1GOWpUVTtFQWNNO0FuRm9qVGhCOztBbUYxbFRVO0VBQ0U7QW5GNmxUWjs7QW1GOWxUVTtFQUNFO0FuRmltVFo7O0FtRmxtVFU7RUFDRTtBbkZxbVRaOztBbUZ0bVRVO0VBQ0U7QW5GeW1UWjs7QW1GMW1UVTtFQUNFO0FuRjZtVFo7O0FtRnRsVFU7RUFjTTtBbkY0a1RoQjs7QW1GMWxUVTtFQWNNO0FuRmdsVGhCOztBbUY5bFRVO0VBY007QW5Gb2xUaEI7O0FtRmxtVFU7RUFjTTtBbkZ3bFRoQjs7QW1GdG1UVTtFQWNNO0FuRjRsVGhCOztBbUYxbVRVO0VBY007QW5GZ21UaEI7O0FtRjltVFU7RUFjTTtBbkZvbVRoQjs7QW1GbG5UVTtFQWNNO0FuRndtVGhCOztBbUZ0blRVO0VBY007QW5GNG1UaEI7O0FtRjFuVFU7RUFjTTtBbkZnblRoQjs7QW1GOW5UVTtFQWNNO0FuRm9uVGhCOztBbUZsb1RVO0VBY007QW5Gd25UaEI7O0FtRnRvVFU7RUFjTTtBbkY0blRoQjs7QW1GMW9UVTtFQWNNO0FuRmdvVGhCOztBbUY5b1RVO0VBY007QW5Gb29UaEI7O0FtRmxwVFU7RUFjTTtBbkZ3b1RoQjs7QW1GdHBUVTtFQWNNO0FuRjRvVGhCOztBbUYxcFRVO0VBY007QW5GZ3BUaEI7O0FtRjlwVFU7RUFjTTtBbkZvcFRoQjs7QW1GbHFUVTtFQWNNO0FuRndwVGhCOztBbUZ0cVRVO0VBY007QW5GNHBUaEI7O0FtRjFxVFU7RUFjTTtBbkZncVRoQjs7QW1GOXFUVTtFQWNNO0FuRm9xVGhCOztBbUZsclRVO0VBY007QW5Gd3FUaEI7O0FtRnRyVFU7RUFjTTtBbkY0cVRoQjs7QW1GMXJUVTtFQWNNO0FuRmdyVGhCOztBbUY5clRVO0VBY007QW5Gb3JUaEI7O0FtRmxzVFU7RUFjTTtBbkZ3clRoQjs7QW1GdHNUVTtFQWNNO0FuRjRyVGhCOztBbUYxc1RVO0VBY007QW5GZ3NUaEI7O0FtRjlzVFU7RUFjTTtBbkZvc1RoQjs7QW1GbHRUVTtFQWNNO0FuRndzVGhCOztBbUZ0dFRVO0VBY007QW5GNHNUaEI7O0FtRjF0VFU7RUFjTTtBbkZndFRoQjs7QW1GOXRUVTtFQWNNO0FuRm90VGhCOztBbUZsdVRVO0VBY007QW5Gd3RUaEI7O0FtRnR1VFU7RUFjTTtBbkY0dFRoQjs7QW1GMXVUVTtFQWNNO0FuRmd1VGhCOztBbUY5dVRVO0VBY007QW5Gb3VUaEI7O0FtRmx2VFU7RUFjTTtBbkZ3dVRoQjs7QW1GdHZUVTtFQWNNO0FuRjR1VGhCOztBbUYxdlRVO0VBY007QW5GZ3ZUaEI7O0FtRjl2VFU7RUFjTTtBbkZvdlRoQjs7QW1GbHdUVTtFQWNNO0FuRnd2VGhCOztBbUZ0d1RVO0VBY007QW5GNHZUaEI7O0FtRjF3VFU7RUFjTTtBbkZnd1RoQjs7QW1GOXdUVTtFQWNNO0FuRm93VGhCOztBbUZseFRVO0VBY007QW5Gd3dUaEI7O0FtRnR4VFU7RUFjTTtBbkY0d1RoQjs7QW1GMXhUVTtFQWNNO0FuRmd4VGhCOztBbUY5eFRVO0VBY007QW5Gb3hUaEI7O0FtRmx5VFU7RUFjTTtBbkZ3eFRoQjs7QW1GdHlUVTtFQWNNO0FuRjR4VGhCOztBbUYxeVRVO0VBY007QW5GZ3lUaEI7O0FtRjl5VFU7RUFjTTtBbkZveVRoQjs7QW1GbHpUVTtFQWNNO0FuRnd5VGhCOztBbUZ0elRVO0VBY007QW5GNHlUaEI7O0FtRjF6VFU7RUFjTTtBbkZnelRoQjs7QW1GOXpUVTtFQWNNO0FuRm96VGhCOztBbUZsMFRVO0VBY007QW5Gd3pUaEI7O0FtRnQwVFU7RUFjTTtBbkY0elRoQjs7QW1GMTBUVTtFQWNNO0FuRmcwVGhCOztBbUY5MFRVO0VBY007QW5GbzBUaEI7O0FtRmwxVFU7RUFjTTtBbkZ3MFRoQjs7QW1GdDFUVTtFQWNNO0FuRjQwVGhCOztBbUYxMVRVO0VBY007QW5GZzFUaEI7O0FtRjkxVFU7RUFjTTtFQUFBO0FuRnExVGhCOztBbUZuMlRVO0VBY007RUFBQTtBbkYwMVRoQjs7QW1GeDJUVTtFQWNNO0VBQUE7QW5GKzFUaEI7O0FtRjcyVFU7RUFjTTtFQUFBO0FuRm8yVGhCOztBbUZsM1RVO0VBY007RUFBQTtBbkZ5MlRoQjs7QW1GdjNUVTtFQWNNO0VBQUE7QW5GODJUaEI7O0FtRjUzVFU7RUFjTTtFQUFBO0FuRm0zVGhCOztBbUZqNFRVO0VBY007RUFBQTtBbkZ3M1RoQjs7QW1GdDRUVTtFQWNNO0VBQUE7QW5GNjNUaEI7O0FtRjM0VFU7RUFjTTtFQUFBO0FuRms0VGhCOztBbUZoNVRVO0VBY007RUFBQTtBbkZ1NFRoQjs7QW1GcjVUVTtFQWNNO0VBQUE7QW5GNDRUaEI7O0FtRjE1VFU7RUFjTTtFQUFBO0FuRmk1VGhCOztBbUYvNVRVO0VBY007RUFBQTtBbkZzNVRoQjs7QW1GcDZUVTtFQWNNO0FuRjA1VGhCOztBbUZ4NlRVO0VBY007QW5GODVUaEI7O0FtRjU2VFU7RUFjTTtBbkZrNlRoQjs7QW1GaDdUVTtFQWNNO0FuRnM2VGhCOztBbUZwN1RVO0VBY007QW5GMDZUaEI7O0FtRng3VFU7RUFjTTtBbkY4NlRoQjs7QW1GNTdUVTtFQWNNO0FuRms3VGhCOztBbUZoOFRVO0VBY007QW5GczdUaEI7O0FtRnA4VFU7RUFjTTtBbkYwN1RoQjs7QW1GeDhUVTtFQWNNO0FuRjg3VGhCOztBbUY1OFRVO0VBY007QW5GazhUaEI7O0FtRmg5VFU7RUFjTTtBbkZzOFRoQjs7QW1GcDlUVTtFQWNNO0FuRjA4VGhCOztBbUZ4OVRVO0VBY007QW5GODhUaEI7O0FtRjU5VFU7RUFjTTtBbkZrOVRoQjs7QW1GaCtUVTtFQWNNO0FuRnM5VGhCOztBbUZwK1RVO0VBY007QW5GMDlUaEI7O0FtRngrVFU7RUFjTTtBbkY4OVRoQjs7QW1GNStUVTtFQWNNO0FuRmsrVGhCOztBbUZoL1RVO0VBY007QW5GcytUaEI7O0FtRnAvVFU7RUFjTTtBbkYwK1RoQjs7QW1GeC9UVTtFQWNNO0FuRjgrVGhCOztBbUY1L1RVO0VBY007QW5Gay9UaEI7O0FtRmhnVVU7RUFjTTtBbkZzL1RoQjs7QW1GcGdVVTtFQWNNO0FuRjAvVGhCOztBbUZ4Z1VVO0VBY007QW5GOC9UaEI7O0FtRjVnVVU7RUFjTTtBbkZrZ1VoQjs7QW1GaGhVVTtFQWNNO0FuRnNnVWhCOztBbUZwaFVVO0VBY007QW5GMGdVaEI7O0FtRnhoVVU7RUFjTTtBbkY4Z1VoQjs7QW1GNWhVVTtFQWNNO0FuRmtoVWhCOztBbUZoaVVVO0VBY007QW5Gc2hVaEI7O0FtRnBpVVU7RUFjTTtBbkYwaFVoQjs7QW1GeGlVVTtFQWNNO0FuRjhoVWhCOztBbUY1aVVVO0VBY007RUFBQTtBbkZtaVVoQjs7QW1GampVVTtFQWNNO0VBQUE7QW5Gd2lVaEI7O0FtRnRqVVU7RUFjTTtFQUFBO0FuRjZpVWhCOztBbUYzalVVO0VBY007RUFBQTtBbkZralVoQjs7QW1GaGtVVTtFQWNNO0VBQUE7QW5GdWpVaEI7O0FtRnJrVVU7RUFjTTtFQUFBO0FuRjRqVWhCOztBbUYxa1VVO0VBY007RUFBQTtBbkZpa1VoQjs7QW1GL2tVVTtFQWNNO0VBQUE7QW5Gc2tVaEI7O0FtRnBsVVU7RUFjTTtFQUFBO0FuRjJrVWhCOztBbUZ6bFVVO0VBY007RUFBQTtBbkZnbFVoQjs7QW1GOWxVVTtFQWNNO0VBQUE7QW5GcWxVaEI7O0FtRm5tVVU7RUFjTTtFQUFBO0FuRjBsVWhCOztBbUZ4bVVVO0VBY007QW5GOGxVaEI7O0FtRjVtVVU7RUFjTTtBbkZrbVVoQjs7QW1GaG5VVTtFQWNNO0FuRnNtVWhCOztBbUZwblVVO0VBY007QW5GMG1VaEI7O0FtRnhuVVU7RUFjTTtBbkY4bVVoQjs7QW1GNW5VVTtFQWNNO0FuRmtuVWhCOztBbUZob1VVO0VBY007QW5Gc25VaEI7O0FtRnBvVVU7RUFjTTtBbkYwblVoQjs7QW1GeG9VVTtFQWNNO0FuRjhuVWhCOztBbUY1b1VVO0VBY007QW5Ga29VaEI7O0FtRmhwVVU7RUFjTTtBbkZzb1VoQjs7QW1GcHBVVTtFQWNNO0FuRjBvVWhCOztBbUZ4cFVVO0VBY007QW5GOG9VaEI7O0FtRjVwVVU7RUFjTTtBbkZrcFVoQjs7QW1GaHFVVTtFQWNNO0FuRnNwVWhCOztBbUZwcVVVO0VBY007QW5GMHBVaEI7O0FtRnhxVVU7RUFjTTtBbkY4cFVoQjs7QW1GNXFVVTtFQWNNO0FuRmtxVWhCOztBbUZoclVVO0VBY007QW5Gc3FVaEI7O0FtRnByVVU7RUFjTTtBbkYwcVVoQjs7QW1GeHJVVTtFQWNNO0FuRjhxVWhCOztBbUY1clVVO0VBY007QW5Ga3JVaEI7O0FtRmhzVVU7RUFjTTtBbkZzclVoQjs7QW1GcHNVVTtFQWNNO0FuRjByVWhCOztBbUZ4c1VVO0VBY007QW5GOHJVaEI7O0FtRjVzVVU7RUFjTTtBbkZrc1VoQjs7QW1GaHRVVTtFQWNNO0FuRnNzVWhCOztBbUZwdFVVO0VBY007QW5GMHNVaEI7O0FtRnh0VVU7RUFjTTtBbkY4c1VoQjs7QW1GNXRVVTtFQWNNO0FuRmt0VWhCOztBbUZodVVVO0VBY007QW5Gc3RVaEI7O0FtRnB1VVU7RUFjTTtBbkYwdFVoQjs7QW1GeHVVVTtFQWNNO0FuRjh0VWhCOztBbUY1dVVVO0VBY007QW5Ga3VVaEI7O0FtRmh2VVU7RUFjTTtBbkZzdVVoQjs7QW1GcHZVVTtFQWNNO0FuRjB1VWhCOztBbUZ4dlVVO0VBY007QW5GOHVVaEI7O0FtRjV2VVU7RUFjTTtBbkZrdlVoQjs7QW1GaHdVVTtFQWNNO0FuRnN2VWhCOztBbUZwd1VVO0VBY007QW5GMHZVaEI7O0FtRnh3VVU7RUFjTTtBbkY4dlVoQjs7QW1GNXdVVTtFQWNNO0FuRmt3VWhCOztBbUZoeFVVO0VBY007QW5Gc3dVaEI7O0FtRnB4VVU7RUFjTTtBbkYwd1VoQjs7QW1GeHhVVTtFQWNNO0FuRjh3VWhCOztBbUY1eFVVO0VBY007QW5Ga3hVaEI7O0FtRmh5VVU7RUFjTTtBbkZzeFVoQjs7QW1GcHlVVTtFQWNNO0FuRjB4VWhCOztBbUZ4eVVVO0VBY007QW5GOHhVaEI7O0FtRjV5VVU7RUFjTTtBbkZreVVoQjs7QW1GaHpVVTtFQWNNO0FuRnN5VWhCOztBbUZwelVVO0VBY007QW5GMHlVaEI7O0FtRnh6VVU7RUFjTTtBbkY4eVVoQjs7QW1GNXpVVTtFQWNNO0FuRmt6VWhCOztBbUZoMFVVO0VBY007QW5Gc3pVaEI7O0FtRnAwVVU7RUFjTTtBbkYwelVoQjs7QW1GeDBVVTtFQWNNO0FuRjh6VWhCOztBbUY1MFVVO0VBY007QW5GazBVaEI7O0FtRmgxVVU7RUFjTTtBbkZzMFVoQjs7QW1GcDFVVTtFQWNNO0FuRjAwVWhCOztBbUZ4MVVVO0VBY007QW5GODBVaEI7O0FtRjUxVVU7RUFjTTtBbkZrMVVoQjs7QW1GaDJVVTtFQWNNO0FuRnMxVWhCOztBbUZwMlVVO0VBY007QW5GMDFVaEI7O0FtRngyVVU7RUFjTTtBbkY4MVVoQjs7QW1GNTJVVTtFQWNNO0FuRmsyVWhCOztBbUZoM1VVO0VBY007QW5GczJVaEI7O0FtRnAzVVU7RUFjTTtBbkYwMlVoQjs7QW1GeDNVVTtFQWNNO0FuRjgyVWhCOztBbUY1M1VVO0VBY007QW5GazNVaEI7O0FtRmg0VVU7RUFjTTtBbkZzM1VoQjs7QW1GcDRVVTtFQWNNO0FuRjAzVWhCOztBbUZ4NFVVO0VBY007QW5GODNVaEI7O0FtRjk2VVE7QUFrQ0U7RUFjTTtFQUFBO0FuRm80VWhCOztBbUYvMlVRO0FBL0NFOztFQUtRO0VBR0o7QW5GNjVVZDs7QW1GcjZVVTs7RUFLUTtFQUdKO0FuRm02VWQ7O0FtRjM2VVU7O0VBS1E7RUFHSjtBbkZ5NlVkOztBbUZqN1VVOztFQUtRO0VBR0o7QW5GKzZVZDs7QW1GdjdVVTs7RUFLUTtFQUdKO0FuRnE3VWQ7O0FtRjc3VVU7O0VBS1E7RUFHSjtBbkYyN1VkOztBbUZuOFVVOztFQUtRO0VBR0o7QW5GaThVZDs7QW1GejhVVTs7RUFLUTtFQUdKO0FuRnU4VWQ7O0FtRi84VVU7O0VBS1E7RUFHSjtBbkY2OFVkOztBbUZyOVVVOztFQUtRO0VBR0o7QW5GbTlVZDs7QW1GMzlVVTs7RUFLUTtFQUdKO0FuRnk5VWQ7O0FtRmorVVU7O0VBS1E7RUFHSjtBbkYrOVVkOztBbUZ2K1VVOztFQUtRO0VBR0o7QW5GcStVZDs7QW1GNytVVTs7RUFLUTtFQUdKO0FuRjIrVWQ7O0FtRm4vVVU7O0VBS1E7RUFHSjtBbkZpL1VkOztBbUZ6L1VVOztFQUtRO0VBR0o7QW5GdS9VZDs7QW1GLy9VVTs7RUFLUTtFQUdKO0FuRjYvVWQ7O0FtRnJnVlU7O0VBS1E7RUFHSjtBbkZtZ1ZkOztBbUYzZ1ZVOztFQUtRO0VBR0o7QW5GeWdWZDs7QW1GamhWVTs7RUFLUTtFQUdKO0FuRitnVmQ7O0FtRnZoVlU7O0VBS1E7RUFHSjtBbkZxaFZkOztBbUY3aFZVOztFQUtRO0VBR0o7QW5GMmhWZDs7QW1GbmlWVTs7RUFLUTtFQUdKO0FuRmlpVmQ7O0FtRnppVlU7O0VBS1E7RUFHSjtBbkZ1aVZkOztBbUYzalZVO0VBQ0U7QW5GOGpWWjs7QW1GL2pWVTtFQUNFO0FuRmtrVlo7O0FtRm5rVlU7RUFDRTtBbkZza1ZaOztBbUZ2a1ZVO0VBQ0U7QW5GMGtWWjs7QW1GbmpWVTtFQWNNO0FuRnlpVmhCOztBbUZ2alZVO0VBY007QW5GNmlWaEI7O0FtRjNqVlU7RUFjTTtBbkZpalZoQjs7QW1GL2pWVTtFQWNNO0FuRnFqVmhCOztBbUZua1ZVO0VBY007QW5GeWpWaEI7O0FtRnZrVlU7RUFjTTtBbkY2alZoQjs7QW1GM2tWVTtFQWNNO0FuRmlrVmhCOztBbUYva1ZVO0VBY007QW5GcWtWaEI7O0FtRjNtVlU7RUFDRTtBbkY4bVZaOztBbUZ6bVZVO0VBQ0U7QW5GNG1WWjs7QW1Gbm5WVTtFQUNFO0FuRnNuVlo7O0FtRmpuVlU7RUFDRTtBbkZvblZaOztBbUYzblZVO0VBQ0U7QW5GOG5WWjs7QW1Gem5WVTtFQUNFO0FuRjRuVlo7O0FtRm5vVlU7RUFDRTtBbkZzb1ZaOztBbUZqb1ZVO0VBQ0U7QW5Gb29WWjs7QW1GM29WVTtFQUNFO0FuRjhvVlo7O0FtRnpvVlU7RUFDRTtBbkY0b1ZaOztBbUYzblZVO0VBY007QW5GaW5WaEI7O0FtRjFtVlU7RUFPSTtBbkZ1bVZkOztBbUZub1ZVO0VBY007QW5GeW5WaEI7O0FtRmxuVlU7RUFPSTtBbkYrbVZkOztBbUYzb1ZVO0VBY007QW5GaW9WaEI7O0FtRjFuVlU7RUFPSTtBbkZ1blZkOztBbUZucFZVO0VBSVE7RUFVRjtBbkYwb1ZoQjs7QW1GeHBWVTtFQUlRO0VBVUY7QW5GK29WaEI7O0FtRjdwVlU7RUFJUTtFQVVGO0FuRm9wVmhCOztBbUZscVZVO0VBSVE7RUFVRjtBbkZ5cFZoQjs7QW1GdnFWVTtFQUlRO0VBVUY7QW5GOHBWaEI7O0FtRjVxVlU7RUFJUTtFQVVGO0FuRm1xVmhCOztBbUZqclZVO0VBSVE7RUFVRjtBbkZ3cVZoQjs7QW1GdHJWVTtFQUlRO0VBVUY7QW5GNnFWaEI7O0FtRjNyVlU7RUFJUTtFQVVGO0FuRmtyVmhCOztBbUZ4dFZVO0VBQ0U7QW5GMnRWWjs7QW1GdHRWVTtFQUNFO0FuRnl0Vlo7O0FtRmh1VlU7RUFDRTtBbkZtdVZaOztBbUY5dFZVO0VBQ0U7QW5GaXVWWjs7QW1GeHVWVTtFQUNFO0FuRjJ1Vlo7O0FtRnR1VlU7RUFDRTtBbkZ5dVZaOztBbUZodlZVO0VBQ0U7QW5GbXZWWjs7QW1GOXVWVTtFQUNFO0FuRml2Vlo7O0FtRnh2VlU7RUFDRTtBbkYydlZaOztBbUZ0dlZVO0VBQ0U7QW5GeXZWWjs7QW1GaHdWVTtFQUNFO0FuRm13Vlo7O0FtRjl2VlU7RUFDRTtBbkZpd1ZaOztBbUY1dlZVOztFQUtRO0VBR0o7QW5GMHZWZDs7QW1GbHdWVTs7RUFLUTtFQUdKO0FuRmd3VmQ7O0FtRnh3VlU7O0VBS1E7RUFHSjtBbkZzd1ZkOztBbUY5d1ZVOztFQUtRO0VBR0o7QW5GNHdWZDs7QW1GcHhWVTs7RUFLUTtFQUdKO0FuRmt4VmQ7O0FtRjF4VlU7O0VBS1E7RUFHSjtBbkZ3eFZkOztBbUZoeVZVOztFQUtRO0VBR0o7QW5GOHhWZDs7QW1GdHlWVTs7RUFLUTtFQUdKO0FuRm95VmQ7O0FtRjV5VlU7O0VBS1E7RUFHSjtBbkYweVZkOztBbUZselZVOztFQUtRO0VBR0o7QW5GZ3pWZDs7QW1GeHpWVTs7RUFLUTtFQUdKO0FuRnN6VmQ7O0FtRjl6VlU7O0VBS1E7RUFHSjtBbkY0elZkOztBbUZwMFZVOztFQUtRO0VBR0o7QW5GazBWZDs7QW1GMTBWVTs7RUFLUTtFQUdKO0FuRncwVmQ7O0FtRjUxVlU7RUFDRTtBbkYrMVZaOztBbUZoMlZVO0VBQ0U7QW5GbTJWWjs7QW1GcDJWVTtFQUNFO0FuRnUyVlo7O0FtRngyVlU7RUFDRTtBbkYyMlZaOztBbUY1MlZVO0VBQ0U7QW5GKzJWWjs7QW1GcDJWVTs7RUFRSTtBbkZpMlZkOztBbUZ6MlZVOztFQVFJO0FuRnMyVmQ7O0FtRjkyVlU7O0VBUUk7QW5GMjJWZDs7QW1GbjNWVTs7RUFRSTtBbkZnM1ZkOztBbUZ4M1ZVOztFQVFJO0FuRnEzVmQ7O0FtRjczVlU7O0VBUUk7QW5GMDNWZDs7QW1GbDRWVTs7RUFRSTtBbkYrM1ZkOztBbUZ2NFZVOztFQVFJO0FuRm80VmQ7O0FtRmg0VlU7RUFjTTtBbkZzM1ZoQjs7QW1GcDRWVTtFQWNNO0FuRjAzVmhCOztBbUZ4NFZVO0VBY007QW5GODNWaEI7O0FtRjU0VlU7RUFjTTtBbkZrNFZoQjs7QW1GaDVWVTtFQWNNO0FuRnM0VmhCOztBbUZwNVZVO0VBY007QW5GMDRWaEI7O0FtRng1VlU7RUFjTTtBbkY4NFZoQjs7QW1GNTVWVTtFQWNNO0FuRms1VmhCOztBbUZoNlZVO0VBY007QW5GczVWaEI7O0FtRnA2VlU7RUFjTTtBbkYwNVZoQjs7QW1GeDZWVTtFQWNNO0FuRjg1VmhCOztBbUY1NlZVO0VBY007QW5GazZWaEI7O0FtRmg3VlU7RUFjTTtBbkZzNlZoQjs7QW1GcDdWVTtFQWNNO0FuRjA2VmhCOztBbUZ4N1ZVO0VBY007QW5GODZWaEI7O0FtRjU3VlU7RUFjTTtFQUFBO0FuRm03VmhCOztBbUZqOFZVO0VBY007RUFBQTtBbkZ3N1ZoQjs7QW1GdDhWVTtFQWNNO0VBQUE7QW5GNjdWaEI7O0FtRjM4VlU7RUFjTTtFQUFBO0FuRms4VmhCOztBbUZoOVZVO0VBY007RUFBQTtBbkZ1OFZoQjs7QW1GcjlWVTtFQWNNO0VBQUE7QW5GNDhWaEI7O0FtRjE5VlU7RUFjTTtFQUFBO0FuRmk5VmhCOztBbUYvOVZVO0VBY007RUFBQTtBbkZzOVZoQjs7QW1GcCtWVTtFQWNNO0VBQUE7QW5GMjlWaEI7O0FtRnorVlU7RUFjTTtFQUFBO0FuRmcrVmhCOztBbUY5K1ZVO0VBY007RUFBQTtBbkZxK1ZoQjs7QW1Gbi9WVTtFQWNNO0VBQUE7QW5GMCtWaEI7O0FtRngvVlU7RUFjTTtFQUFBO0FuRisrVmhCOztBbUY3L1ZVO0VBY007RUFBQTtBbkZvL1ZoQjs7QW1GbGdXVTtFQWNNO0VBQUE7QW5GeS9WaEI7O0FtRnZnV1U7RUFjTTtFQUFBO0FuRjgvVmhCOztBbUY1Z1dVO0VBY007RUFBQTtBbkZtZ1doQjs7QW1GamhXVTtFQWNNO0VBQUE7QW5Gd2dXaEI7O0FtRnRoV1U7RUFjTTtFQUFBO0FuRjZnV2hCOztBbUYzaFdVO0VBY007RUFBQTtBbkZraFdoQjs7QW1GaGlXVTtFQWNNO0VBQUE7QW5GdWhXaEI7O0FtRnJpV1U7RUFjTTtFQUFBO0FuRjRoV2hCOztBbUYxaVdVO0VBY007RUFBQTtBbkZpaVdoQjs7QW1GL2lXVTtFQWNNO0VBQUE7QW5Gc2lXaEI7O0FtRnBqV1U7RUFjTTtFQUFBO0FuRjJpV2hCOztBbUZ6aldVO0VBY007RUFBQTtBbkZnaldoQjs7QW1GOWpXVTtFQWNNO0VBQUE7QW5GcWpXaEI7O0FtRm5rV1U7RUFjTTtFQUFBO0FuRjBqV2hCOztBbUZ4a1dVO0VBY007RUFBQTtBbkYraldoQjs7QW1GN2tXVTtFQWNNO0VBQUE7QW5Gb2tXaEI7O0FtRmxsV1U7RUFjTTtFQUFBO0FuRnlrV2hCOztBbUZ2bFdVO0VBY007RUFBQTtBbkY4a1doQjs7QW1GNWxXVTtFQWNNO0VBQUE7QW5GbWxXaEI7O0FtRmptV1U7RUFjTTtFQUFBO0FuRndsV2hCOztBbUZ0bVdVO0VBY007RUFBQTtBbkY2bFdoQjs7QW1GM21XVTtFQWNNO0VBQUE7QW5Ga21XaEI7O0FtRmhuV1U7RUFjTTtBbkZzbVdoQjs7QW1GcG5XVTtFQWNNO0FuRjBtV2hCOztBbUZ4bldVO0VBY007QW5GOG1XaEI7O0FtRjVuV1U7RUFjTTtBbkZrbldoQjs7QW1GaG9XVTtFQWNNO0FuRnNuV2hCOztBbUZwb1dVO0VBY007QW5GMG5XaEI7O0FtRnhvV1U7RUFjTTtBbkY4bldoQjs7QWU3cVdJO0VvRWlDTTtJQWNNO0VuRm1vV2Q7RW1GanBXUTtJQWNNO0VuRnNvV2Q7RW1GcHBXUTtJQWNNO0VuRnlvV2Q7RW1GdnBXUTtJQWNNO0VuRjRvV2Q7RW1GMXBXUTtJQWNNO0VuRitvV2Q7RW1GN3BXUTtJQWNNO0VuRmtwV2Q7RW1GaHFXUTtJQWNNO0VuRnFwV2Q7RW1GbnFXUTtJQWNNO0VuRndwV2Q7RW1GdHFXUTtJQWNNO0VuRjJwV2Q7RW1GenFXUTtJQWNNO0VuRjhwV2Q7RW1GNXFXUTtJQWNNO0VuRmlxV2Q7RW1GL3FXUTtJQWNNO0VuRm9xV2Q7RW1GbHJXUTtJQWNNO0VuRnVxV2Q7RW1GcnJXUTtJQWNNO0VuRjBxV2Q7RW1GeHJXUTtJQWNNO0VuRjZxV2Q7RW1GM3JXUTtJQWNNO0VuRmdyV2Q7RW1GOXJXUTtJQWNNO0VuRm1yV2Q7RW1GanNXUTtJQWNNO0VuRnNyV2Q7RW1GcHNXUTtJQWNNO0VuRnlyV2Q7RW1GdnNXUTtJQWNNO0VuRjRyV2Q7RW1GMXNXUTtJQWNNO0VuRityV2Q7RW1GN3NXUTtJQWNNO0VuRmtzV2Q7RW1GaHRXUTtJQWNNO0VuRnFzV2Q7RW1GbnRXUTtJQWNNO0VuRndzV2Q7RW1GdHRXUTtJQWNNO0VuRjJzV2Q7RW1GenRXUTtJQWNNO0VuRjhzV2Q7RW1GNXRXUTtJQWNNO0VuRml0V2Q7RW1GL3RXUTtJQWNNO0VuRm90V2Q7RW1GbHVXUTtJQWNNO0VuRnV0V2Q7RW1GcnVXUTtJQWNNO0VuRjB0V2Q7RW1GeHVXUTtJQWNNO0VuRjZ0V2Q7RW1GM3VXUTtJQWNNO0VuRmd1V2Q7RW1GOXVXUTtJQWNNO0VuRm11V2Q7RW1GanZXUTtJQWNNO0VuRnN1V2Q7RW1GcHZXUTtJQWNNO0VuRnl1V2Q7RW1GdnZXUTtJQWNNO0VuRjR1V2Q7RW1GMXZXUTtJQWNNO0VuRit1V2Q7RW1GN3ZXUTtJQWNNO0VuRmt2V2Q7RW1GaHdXUTtJQWNNO0VuRnF2V2Q7RW1GbndXUTtJQWNNO0VuRnd2V2Q7RW1GdHdXUTtJQWNNO0VuRjJ2V2Q7RW1GendXUTtJQWNNO0VuRjh2V2Q7RW1GNXdXUTtJQWNNO0VuRml3V2Q7RW1GL3dXUTtJQWNNO0VuRm93V2Q7RW1GbHhXUTtJQWNNO0VuRnV3V2Q7RW1GcnhXUTtJQWNNO0VuRjB3V2Q7RW1GeHhXUTtJQWNNO0VuRjZ3V2Q7RW1GM3hXUTtJQWNNO0VuRmd4V2Q7RW1GOXhXUTtJQWNNO0VuRm14V2Q7RW1GanlXUTtJQWNNO0VuRnN4V2Q7RW1GcHlXUTtJQWNNO0VuRnl4V2Q7RW1GdnlXUTtJQWNNO0VuRjR4V2Q7RW1GMXlXUTtJQWNNO0VuRit4V2Q7RW1GN3lXUTtJQWNNO0VuRmt5V2Q7RW1GaHpXUTtJQWNNO0VuRnF5V2Q7RW1GbnpXUTtJQWNNO0VuRnd5V2Q7RW1GdHpXUTtJQWNNO0VuRjJ5V2Q7RW1GenpXUTtJQWNNO0VuRjh5V2Q7RW1GNXpXUTtJQWNNO0VuRml6V2Q7RW1GL3pXUTtJQWNNO0VuRm96V2Q7RW1GbDBXUTtJQWNNO0VuRnV6V2Q7RW1GcjBXUTtJQWNNO0VuRjB6V2Q7RW1GeDBXUTtJQWNNO0VuRjZ6V2Q7RW1GMzBXUTtJQWNNO0VuRmcwV2Q7RW1GOTBXUTtJQWNNO0VuRm0wV2Q7RW1GajFXUTtJQWNNO0VuRnMwV2Q7RW1GcDFXUTtJQWNNO0VuRnkwV2Q7RW1GdjFXUTtJQWNNO0VuRjQwV2Q7RW1GMTFXUTtJQWNNO0VuRiswV2Q7RW1GNzFXUTtJQWNNO0lBQUE7RW5GbTFXZDtFbUZqMldRO0lBY007SUFBQTtFbkZ1MVdkO0VtRnIyV1E7SUFjTTtJQUFBO0VuRjIxV2Q7RW1GejJXUTtJQWNNO0lBQUE7RW5GKzFXZDtFbUY3MldRO0lBY007SUFBQTtFbkZtMldkO0VtRmozV1E7SUFjTTtJQUFBO0VuRnUyV2Q7RW1GcjNXUTtJQWNNO0lBQUE7RW5GMjJXZDtFbUZ6M1dRO0lBY007SUFBQTtFbkYrMldkO0VtRjczV1E7SUFjTTtJQUFBO0VuRm0zV2Q7RW1GajRXUTtJQWNNO0lBQUE7RW5GdTNXZDtFbUZyNFdRO0lBY007SUFBQTtFbkYyM1dkO0VtRno0V1E7SUFjTTtJQUFBO0VuRiszV2Q7RW1GNzRXUTtJQWNNO0lBQUE7RW5GbTRXZDtFbUZqNVdRO0lBY007SUFBQTtFbkZ1NFdkO0VtRnI1V1E7SUFjTTtFbkYwNFdkO0VtRng1V1E7SUFjTTtFbkY2NFdkO0VtRjM1V1E7SUFjTTtFbkZnNVdkO0VtRjk1V1E7SUFjTTtFbkZtNVdkO0VtRmo2V1E7SUFjTTtFbkZzNVdkO0VtRnA2V1E7SUFjTTtFbkZ5NVdkO0VtRnY2V1E7SUFjTTtFbkY0NVdkO0VtRjE2V1E7SUFjTTtFbkYrNVdkO0VtRjc2V1E7SUFjTTtFbkZrNldkO0VtRmg3V1E7SUFjTTtFbkZxNldkO0VtRm43V1E7SUFjTTtFbkZ3NldkO0VtRnQ3V1E7SUFjTTtFbkYyNldkO0VtRno3V1E7SUFjTTtFbkY4NldkO0VtRjU3V1E7SUFjTTtFbkZpN1dkO0VtRi83V1E7SUFjTTtFbkZvN1dkO0VtRmw4V1E7SUFjTTtFbkZ1N1dkO0VtRnI4V1E7SUFjTTtFbkYwN1dkO0VtRng4V1E7SUFjTTtFbkY2N1dkO0VtRjM4V1E7SUFjTTtFbkZnOFdkO0VtRjk4V1E7SUFjTTtFbkZtOFdkO0VtRmo5V1E7SUFjTTtFbkZzOFdkO0VtRnA5V1E7SUFjTTtFbkZ5OFdkO0VtRnY5V1E7SUFjTTtFbkY0OFdkO0VtRjE5V1E7SUFjTTtFbkYrOFdkO0VtRjc5V1E7SUFjTTtFbkZrOVdkO0VtRmgrV1E7SUFjTTtFbkZxOVdkO0VtRm4rV1E7SUFjTTtFbkZ3OVdkO0VtRnQrV1E7SUFjTTtFbkYyOVdkO0VtRnorV1E7SUFjTTtFbkY4OVdkO0VtRjUrV1E7SUFjTTtFbkZpK1dkO0VtRi8rV1E7SUFjTTtFbkZvK1dkO0VtRmwvV1E7SUFjTTtFbkZ1K1dkO0VtRnIvV1E7SUFjTTtFbkYwK1dkO0VtRngvV1E7SUFjTTtFbkY2K1dkO0VtRjMvV1E7SUFjTTtJQUFBO0VuRmkvV2Q7RW1GLy9XUTtJQWNNO0lBQUE7RW5GcS9XZDtFbUZuZ1hRO0lBY007SUFBQTtFbkZ5L1dkO0VtRnZnWFE7SUFjTTtJQUFBO0VuRjYvV2Q7RW1GM2dYUTtJQWNNO0lBQUE7RW5GaWdYZDtFbUYvZ1hRO0lBY007SUFBQTtFbkZxZ1hkO0VtRm5oWFE7SUFjTTtJQUFBO0VuRnlnWGQ7RW1GdmhYUTtJQWNNO0lBQUE7RW5GNmdYZDtFbUYzaFhRO0lBY007SUFBQTtFbkZpaFhkO0VtRi9oWFE7SUFjTTtJQUFBO0VuRnFoWGQ7RW1GbmlYUTtJQWNNO0lBQUE7RW5GeWhYZDtFbUZ2aVhRO0lBY007SUFBQTtFbkY2aFhkO0VtRjNpWFE7SUFjTTtFbkZnaVhkO0VtRjlpWFE7SUFjTTtFbkZtaVhkO0VtRmpqWFE7SUFjTTtFbkZzaVhkO0VtRnBqWFE7SUFjTTtFbkZ5aVhkO0VtRnZqWFE7SUFjTTtFbkY0aVhkO0VtRjFqWFE7SUFjTTtFbkYraVhkO0VtRjdqWFE7SUFjTTtFbkZralhkO0VtRmhrWFE7SUFjTTtFbkZxalhkO0VtRm5rWFE7SUFjTTtFbkZ3alhkO0VtRnRrWFE7SUFjTTtFbkYyalhkO0VtRnprWFE7SUFjTTtFbkY4alhkO0VtRjVrWFE7SUFjTTtFbkZpa1hkO0VtRi9rWFE7SUFjTTtFbkZva1hkO0VtRmxsWFE7SUFjTTtFbkZ1a1hkO0VtRnJsWFE7SUFjTTtFbkYwa1hkO0VtRnhsWFE7SUFjTTtFbkY2a1hkO0VtRjNsWFE7SUFjTTtFbkZnbFhkO0VtRjlsWFE7SUFjTTtFbkZtbFhkO0VtRmptWFE7SUFjTTtFbkZzbFhkO0VtRnBtWFE7SUFjTTtFbkZ5bFhkO0VtRnZtWFE7SUFjTTtFbkY0bFhkO0VtRjFtWFE7SUFjTTtFbkYrbFhkO0VtRjdtWFE7SUFjTTtFbkZrbVhkO0VtRmhuWFE7SUFjTTtFbkZxbVhkO0VtRm5uWFE7SUFjTTtFbkZ3bVhkO0VtRnRuWFE7SUFjTTtFbkYybVhkO0VtRnpuWFE7SUFjTTtFbkY4bVhkO0VtRjVuWFE7SUFjTTtFbkZpblhkO0VtRi9uWFE7SUFjTTtFbkZvblhkO0VtRmxvWFE7SUFjTTtFbkZ1blhkO0VtRnJvWFE7SUFjTTtFbkYwblhkO0VtRnhvWFE7SUFjTTtFbkY2blhkO0VtRjNvWFE7SUFjTTtFbkZnb1hkO0VtRjlvWFE7SUFjTTtFbkZtb1hkO0VtRmpwWFE7SUFjTTtFbkZzb1hkO0VtRnBwWFE7SUFjTTtFbkZ5b1hkO0VtRnZwWFE7SUFjTTtFbkY0b1hkO0VtRjFwWFE7SUFjTTtFbkYrb1hkO0VtRjdwWFE7SUFjTTtFbkZrcFhkO0VtRmhxWFE7SUFjTTtFbkZxcFhkO0VtRm5xWFE7SUFjTTtFbkZ3cFhkO0VtRnRxWFE7SUFjTTtFbkYycFhkO0VtRnpxWFE7SUFjTTtFbkY4cFhkO0VtRjVxWFE7SUFjTTtFbkZpcVhkO0VtRi9xWFE7SUFjTTtFbkZvcVhkO0FBQ0Y7QWVwdFhJO0VvRWlDTTtJQWNNO0VuRnlxWGQ7RW1GdnJYUTtJQWNNO0VuRjRxWGQ7RW1GMXJYUTtJQWNNO0VuRitxWGQ7RW1GN3JYUTtJQWNNO0VuRmtyWGQ7RW1GaHNYUTtJQWNNO0VuRnFyWGQ7RW1GbnNYUTtJQWNNO0VuRndyWGQ7RW1GdHNYUTtJQWNNO0VuRjJyWGQ7RW1GenNYUTtJQWNNO0VuRjhyWGQ7RW1GNXNYUTtJQWNNO0VuRmlzWGQ7RW1GL3NYUTtJQWNNO0VuRm9zWGQ7RW1GbHRYUTtJQWNNO0VuRnVzWGQ7RW1GcnRYUTtJQWNNO0VuRjBzWGQ7RW1GeHRYUTtJQWNNO0VuRjZzWGQ7RW1GM3RYUTtJQWNNO0VuRmd0WGQ7RW1GOXRYUTtJQWNNO0VuRm10WGQ7RW1GanVYUTtJQWNNO0VuRnN0WGQ7RW1GcHVYUTtJQWNNO0VuRnl0WGQ7RW1GdnVYUTtJQWNNO0VuRjR0WGQ7RW1GMXVYUTtJQWNNO0VuRit0WGQ7RW1GN3VYUTtJQWNNO0VuRmt1WGQ7RW1GaHZYUTtJQWNNO0VuRnF1WGQ7RW1GbnZYUTtJQWNNO0VuRnd1WGQ7RW1GdHZYUTtJQWNNO0VuRjJ1WGQ7RW1GenZYUTtJQWNNO0VuRjh1WGQ7RW1GNXZYUTtJQWNNO0VuRml2WGQ7RW1GL3ZYUTtJQWNNO0VuRm92WGQ7RW1GbHdYUTtJQWNNO0VuRnV2WGQ7RW1GcndYUTtJQWNNO0VuRjB2WGQ7RW1GeHdYUTtJQWNNO0VuRjZ2WGQ7RW1GM3dYUTtJQWNNO0VuRmd3WGQ7RW1GOXdYUTtJQWNNO0VuRm13WGQ7RW1GanhYUTtJQWNNO0VuRnN3WGQ7RW1GcHhYUTtJQWNNO0VuRnl3WGQ7RW1GdnhYUTtJQWNNO0VuRjR3WGQ7RW1GMXhYUTtJQWNNO0VuRit3WGQ7RW1GN3hYUTtJQWNNO0VuRmt4WGQ7RW1GaHlYUTtJQWNNO0VuRnF4WGQ7RW1GbnlYUTtJQWNNO0VuRnd4WGQ7RW1GdHlYUTtJQWNNO0VuRjJ4WGQ7RW1GenlYUTtJQWNNO0VuRjh4WGQ7RW1GNXlYUTtJQWNNO0VuRml5WGQ7RW1GL3lYUTtJQWNNO0VuRm95WGQ7RW1GbHpYUTtJQWNNO0VuRnV5WGQ7RW1GcnpYUTtJQWNNO0VuRjB5WGQ7RW1GeHpYUTtJQWNNO0VuRjZ5WGQ7RW1GM3pYUTtJQWNNO0VuRmd6WGQ7RW1GOXpYUTtJQWNNO0VuRm16WGQ7RW1GajBYUTtJQWNNO0VuRnN6WGQ7RW1GcDBYUTtJQWNNO0VuRnl6WGQ7RW1GdjBYUTtJQWNNO0VuRjR6WGQ7RW1GMTBYUTtJQWNNO0VuRit6WGQ7RW1GNzBYUTtJQWNNO0VuRmswWGQ7RW1GaDFYUTtJQWNNO0VuRnEwWGQ7RW1GbjFYUTtJQWNNO0VuRncwWGQ7RW1GdDFYUTtJQWNNO0VuRjIwWGQ7RW1GejFYUTtJQWNNO0VuRjgwWGQ7RW1GNTFYUTtJQWNNO0VuRmkxWGQ7RW1GLzFYUTtJQWNNO0VuRm8xWGQ7RW1GbDJYUTtJQWNNO0VuRnUxWGQ7RW1GcjJYUTtJQWNNO0VuRjAxWGQ7RW1GeDJYUTtJQWNNO0VuRjYxWGQ7RW1GMzJYUTtJQWNNO0VuRmcyWGQ7RW1GOTJYUTtJQWNNO0VuRm0yWGQ7RW1GajNYUTtJQWNNO0VuRnMyWGQ7RW1GcDNYUTtJQWNNO0VuRnkyWGQ7RW1GdjNYUTtJQWNNO0VuRjQyWGQ7RW1GMTNYUTtJQWNNO0VuRisyWGQ7RW1GNzNYUTtJQWNNO0VuRmszWGQ7RW1GaDRYUTtJQWNNO0VuRnEzWGQ7RW1GbjRYUTtJQWNNO0lBQUE7RW5GeTNYZDtFbUZ2NFhRO0lBY007SUFBQTtFbkY2M1hkO0VtRjM0WFE7SUFjTTtJQUFBO0VuRmk0WGQ7RW1GLzRYUTtJQWNNO0lBQUE7RW5GcTRYZDtFbUZuNVhRO0lBY007SUFBQTtFbkZ5NFhkO0VtRnY1WFE7SUFjTTtJQUFBO0VuRjY0WGQ7RW1GMzVYUTtJQWNNO0lBQUE7RW5GaTVYZDtFbUYvNVhRO0lBY007SUFBQTtFbkZxNVhkO0VtRm42WFE7SUFjTTtJQUFBO0VuRnk1WGQ7RW1GdjZYUTtJQWNNO0lBQUE7RW5GNjVYZDtFbUYzNlhRO0lBY007SUFBQTtFbkZpNlhkO0VtRi82WFE7SUFjTTtJQUFBO0VuRnE2WGQ7RW1GbjdYUTtJQWNNO0lBQUE7RW5GeTZYZDtFbUZ2N1hRO0lBY007SUFBQTtFbkY2NlhkO0VtRjM3WFE7SUFjTTtFbkZnN1hkO0VtRjk3WFE7SUFjTTtFbkZtN1hkO0VtRmo4WFE7SUFjTTtFbkZzN1hkO0VtRnA4WFE7SUFjTTtFbkZ5N1hkO0VtRnY4WFE7SUFjTTtFbkY0N1hkO0VtRjE4WFE7SUFjTTtFbkYrN1hkO0VtRjc4WFE7SUFjTTtFbkZrOFhkO0VtRmg5WFE7SUFjTTtFbkZxOFhkO0VtRm45WFE7SUFjTTtFbkZ3OFhkO0VtRnQ5WFE7SUFjTTtFbkYyOFhkO0VtRno5WFE7SUFjTTtFbkY4OFhkO0VtRjU5WFE7SUFjTTtFbkZpOVhkO0VtRi85WFE7SUFjTTtFbkZvOVhkO0VtRmwrWFE7SUFjTTtFbkZ1OVhkO0VtRnIrWFE7SUFjTTtFbkYwOVhkO0VtRngrWFE7SUFjTTtFbkY2OVhkO0VtRjMrWFE7SUFjTTtFbkZnK1hkO0VtRjkrWFE7SUFjTTtFbkZtK1hkO0VtRmovWFE7SUFjTTtFbkZzK1hkO0VtRnAvWFE7SUFjTTtFbkZ5K1hkO0VtRnYvWFE7SUFjTTtFbkY0K1hkO0VtRjEvWFE7SUFjTTtFbkYrK1hkO0VtRjcvWFE7SUFjTTtFbkZrL1hkO0VtRmhnWVE7SUFjTTtFbkZxL1hkO0VtRm5nWVE7SUFjTTtFbkZ3L1hkO0VtRnRnWVE7SUFjTTtFbkYyL1hkO0VtRnpnWVE7SUFjTTtFbkY4L1hkO0VtRjVnWVE7SUFjTTtFbkZpZ1lkO0VtRi9nWVE7SUFjTTtFbkZvZ1lkO0VtRmxoWVE7SUFjTTtFbkZ1Z1lkO0VtRnJoWVE7SUFjTTtFbkYwZ1lkO0VtRnhoWVE7SUFjTTtFbkY2Z1lkO0VtRjNoWVE7SUFjTTtFbkZnaFlkO0VtRjloWVE7SUFjTTtFbkZtaFlkO0VtRmppWVE7SUFjTTtJQUFBO0VuRnVoWWQ7RW1GcmlZUTtJQWNNO0lBQUE7RW5GMmhZZDtFbUZ6aVlRO0lBY007SUFBQTtFbkYraFlkO0VtRjdpWVE7SUFjTTtJQUFBO0VuRm1pWWQ7RW1GampZUTtJQWNNO0lBQUE7RW5GdWlZZDtFbUZyallRO0lBY007SUFBQTtFbkYyaVlkO0VtRnpqWVE7SUFjTTtJQUFBO0VuRitpWWQ7RW1GN2pZUTtJQWNNO0lBQUE7RW5GbWpZZDtFbUZqa1lRO0lBY007SUFBQTtFbkZ1allkO0VtRnJrWVE7SUFjTTtJQUFBO0VuRjJqWWQ7RW1GemtZUTtJQWNNO0lBQUE7RW5GK2pZZDtFbUY3a1lRO0lBY007SUFBQTtFbkZta1lkO0VtRmpsWVE7SUFjTTtFbkZza1lkO0VtRnBsWVE7SUFjTTtFbkZ5a1lkO0VtRnZsWVE7SUFjTTtFbkY0a1lkO0VtRjFsWVE7SUFjTTtFbkYra1lkO0VtRjdsWVE7SUFjTTtFbkZrbFlkO0VtRmhtWVE7SUFjTTtFbkZxbFlkO0VtRm5tWVE7SUFjTTtFbkZ3bFlkO0VtRnRtWVE7SUFjTTtFbkYybFlkO0VtRnptWVE7SUFjTTtFbkY4bFlkO0VtRjVtWVE7SUFjTTtFbkZpbVlkO0VtRi9tWVE7SUFjTTtFbkZvbVlkO0VtRmxuWVE7SUFjTTtFbkZ1bVlkO0VtRnJuWVE7SUFjTTtFbkYwbVlkO0VtRnhuWVE7SUFjTTtFbkY2bVlkO0VtRjNuWVE7SUFjTTtFbkZnbllkO0VtRjluWVE7SUFjTTtFbkZtbllkO0VtRmpvWVE7SUFjTTtFbkZzbllkO0VtRnBvWVE7SUFjTTtFbkZ5bllkO0VtRnZvWVE7SUFjTTtFbkY0bllkO0VtRjFvWVE7SUFjTTtFbkYrbllkO0VtRjdvWVE7SUFjTTtFbkZrb1lkO0VtRmhwWVE7SUFjTTtFbkZxb1lkO0VtRm5wWVE7SUFjTTtFbkZ3b1lkO0VtRnRwWVE7SUFjTTtFbkYyb1lkO0VtRnpwWVE7SUFjTTtFbkY4b1lkO0VtRjVwWVE7SUFjTTtFbkZpcFlkO0VtRi9wWVE7SUFjTTtFbkZvcFlkO0VtRmxxWVE7SUFjTTtFbkZ1cFlkO0VtRnJxWVE7SUFjTTtFbkYwcFlkO0VtRnhxWVE7SUFjTTtFbkY2cFlkO0VtRjNxWVE7SUFjTTtFbkZncVlkO0VtRjlxWVE7SUFjTTtFbkZtcVlkO0VtRmpyWVE7SUFjTTtFbkZzcVlkO0VtRnByWVE7SUFjTTtFbkZ5cVlkO0VtRnZyWVE7SUFjTTtFbkY0cVlkO0VtRjFyWVE7SUFjTTtFbkYrcVlkO0VtRjdyWVE7SUFjTTtFbkZrcllkO0VtRmhzWVE7SUFjTTtFbkZxcllkO0VtRm5zWVE7SUFjTTtFbkZ3cllkO0VtRnRzWVE7SUFjTTtFbkYycllkO0VtRnpzWVE7SUFjTTtFbkY4cllkO0VtRjVzWVE7SUFjTTtFbkZpc1lkO0VtRi9zWVE7SUFjTTtFbkZvc1lkO0VtRmx0WVE7SUFjTTtFbkZ1c1lkO0VtRnJ0WVE7SUFjTTtFbkYwc1lkO0FBQ0Y7QWUxdllJO0VvRWlDTTtJQWNNO0VuRitzWWQ7RW1GN3RZUTtJQWNNO0VuRmt0WWQ7RW1GaHVZUTtJQWNNO0VuRnF0WWQ7RW1GbnVZUTtJQWNNO0VuRnd0WWQ7RW1GdHVZUTtJQWNNO0VuRjJ0WWQ7RW1GenVZUTtJQWNNO0VuRjh0WWQ7RW1GNXVZUTtJQWNNO0VuRml1WWQ7RW1GL3VZUTtJQWNNO0VuRm91WWQ7RW1GbHZZUTtJQWNNO0VuRnV1WWQ7RW1GcnZZUTtJQWNNO0VuRjB1WWQ7RW1GeHZZUTtJQWNNO0VuRjZ1WWQ7RW1GM3ZZUTtJQWNNO0VuRmd2WWQ7RW1GOXZZUTtJQWNNO0VuRm12WWQ7RW1GandZUTtJQWNNO0VuRnN2WWQ7RW1GcHdZUTtJQWNNO0VuRnl2WWQ7RW1GdndZUTtJQWNNO0VuRjR2WWQ7RW1GMXdZUTtJQWNNO0VuRit2WWQ7RW1GN3dZUTtJQWNNO0VuRmt3WWQ7RW1GaHhZUTtJQWNNO0VuRnF3WWQ7RW1GbnhZUTtJQWNNO0VuRnd3WWQ7RW1GdHhZUTtJQWNNO0VuRjJ3WWQ7RW1GenhZUTtJQWNNO0VuRjh3WWQ7RW1GNXhZUTtJQWNNO0VuRml4WWQ7RW1GL3hZUTtJQWNNO0VuRm94WWQ7RW1GbHlZUTtJQWNNO0VuRnV4WWQ7RW1GcnlZUTtJQWNNO0VuRjB4WWQ7RW1GeHlZUTtJQWNNO0VuRjZ4WWQ7RW1GM3lZUTtJQWNNO0VuRmd5WWQ7RW1GOXlZUTtJQWNNO0VuRm15WWQ7RW1GanpZUTtJQWNNO0VuRnN5WWQ7RW1GcHpZUTtJQWNNO0VuRnl5WWQ7RW1GdnpZUTtJQWNNO0VuRjR5WWQ7RW1GMXpZUTtJQWNNO0VuRit5WWQ7RW1GN3pZUTtJQWNNO0VuRmt6WWQ7RW1GaDBZUTtJQWNNO0VuRnF6WWQ7RW1GbjBZUTtJQWNNO0VuRnd6WWQ7RW1GdDBZUTtJQWNNO0VuRjJ6WWQ7RW1GejBZUTtJQWNNO0VuRjh6WWQ7RW1GNTBZUTtJQWNNO0VuRmkwWWQ7RW1GLzBZUTtJQWNNO0VuRm8wWWQ7RW1GbDFZUTtJQWNNO0VuRnUwWWQ7RW1GcjFZUTtJQWNNO0VuRjAwWWQ7RW1GeDFZUTtJQWNNO0VuRjYwWWQ7RW1GMzFZUTtJQWNNO0VuRmcxWWQ7RW1GOTFZUTtJQWNNO0VuRm0xWWQ7RW1GajJZUTtJQWNNO0VuRnMxWWQ7RW1GcDJZUTtJQWNNO0VuRnkxWWQ7RW1GdjJZUTtJQWNNO0VuRjQxWWQ7RW1GMTJZUTtJQWNNO0VuRisxWWQ7RW1GNzJZUTtJQWNNO0VuRmsyWWQ7RW1GaDNZUTtJQWNNO0VuRnEyWWQ7RW1GbjNZUTtJQWNNO0VuRncyWWQ7RW1GdDNZUTtJQWNNO0VuRjIyWWQ7RW1GejNZUTtJQWNNO0VuRjgyWWQ7RW1GNTNZUTtJQWNNO0VuRmkzWWQ7RW1GLzNZUTtJQWNNO0VuRm8zWWQ7RW1GbDRZUTtJQWNNO0VuRnUzWWQ7RW1GcjRZUTtJQWNNO0VuRjAzWWQ7RW1GeDRZUTtJQWNNO0VuRjYzWWQ7RW1GMzRZUTtJQWNNO0VuRmc0WWQ7RW1GOTRZUTtJQWNNO0VuRm00WWQ7RW1GajVZUTtJQWNNO0VuRnM0WWQ7RW1GcDVZUTtJQWNNO0VuRnk0WWQ7RW1GdjVZUTtJQWNNO0VuRjQ0WWQ7RW1GMTVZUTtJQWNNO0VuRis0WWQ7RW1GNzVZUTtJQWNNO0VuRms1WWQ7RW1GaDZZUTtJQWNNO0VuRnE1WWQ7RW1GbjZZUTtJQWNNO0VuRnc1WWQ7RW1GdDZZUTtJQWNNO0VuRjI1WWQ7RW1GejZZUTtJQWNNO0lBQUE7RW5GKzVZZDtFbUY3NllRO0lBY007SUFBQTtFbkZtNllkO0VtRmo3WVE7SUFjTTtJQUFBO0VuRnU2WWQ7RW1GcjdZUTtJQWNNO0lBQUE7RW5GMjZZZDtFbUZ6N1lRO0lBY007SUFBQTtFbkYrNllkO0VtRjc3WVE7SUFjTTtJQUFBO0VuRm03WWQ7RW1GajhZUTtJQWNNO0lBQUE7RW5GdTdZZDtFbUZyOFlRO0lBY007SUFBQTtFbkYyN1lkO0VtRno4WVE7SUFjTTtJQUFBO0VuRis3WWQ7RW1GNzhZUTtJQWNNO0lBQUE7RW5GbThZZDtFbUZqOVlRO0lBY007SUFBQTtFbkZ1OFlkO0VtRnI5WVE7SUFjTTtJQUFBO0VuRjI4WWQ7RW1GejlZUTtJQWNNO0lBQUE7RW5GKzhZZDtFbUY3OVlRO0lBY007SUFBQTtFbkZtOVlkO0VtRmorWVE7SUFjTTtFbkZzOVlkO0VtRnArWVE7SUFjTTtFbkZ5OVlkO0VtRnYrWVE7SUFjTTtFbkY0OVlkO0VtRjErWVE7SUFjTTtFbkYrOVlkO0VtRjcrWVE7SUFjTTtFbkZrK1lkO0VtRmgvWVE7SUFjTTtFbkZxK1lkO0VtRm4vWVE7SUFjTTtFbkZ3K1lkO0VtRnQvWVE7SUFjTTtFbkYyK1lkO0VtRnovWVE7SUFjTTtFbkY4K1lkO0VtRjUvWVE7SUFjTTtFbkZpL1lkO0VtRi8vWVE7SUFjTTtFbkZvL1lkO0VtRmxnWlE7SUFjTTtFbkZ1L1lkO0VtRnJnWlE7SUFjTTtFbkYwL1lkO0VtRnhnWlE7SUFjTTtFbkY2L1lkO0VtRjNnWlE7SUFjTTtFbkZnZ1pkO0VtRjlnWlE7SUFjTTtFbkZtZ1pkO0VtRmpoWlE7SUFjTTtFbkZzZ1pkO0VtRnBoWlE7SUFjTTtFbkZ5Z1pkO0VtRnZoWlE7SUFjTTtFbkY0Z1pkO0VtRjFoWlE7SUFjTTtFbkYrZ1pkO0VtRjdoWlE7SUFjTTtFbkZraFpkO0VtRmhpWlE7SUFjTTtFbkZxaFpkO0VtRm5pWlE7SUFjTTtFbkZ3aFpkO0VtRnRpWlE7SUFjTTtFbkYyaFpkO0VtRnppWlE7SUFjTTtFbkY4aFpkO0VtRjVpWlE7SUFjTTtFbkZpaVpkO0VtRi9pWlE7SUFjTTtFbkZvaVpkO0VtRmxqWlE7SUFjTTtFbkZ1aVpkO0VtRnJqWlE7SUFjTTtFbkYwaVpkO0VtRnhqWlE7SUFjTTtFbkY2aVpkO0VtRjNqWlE7SUFjTTtFbkZnalpkO0VtRjlqWlE7SUFjTTtFbkZtalpkO0VtRmprWlE7SUFjTTtFbkZzalpkO0VtRnBrWlE7SUFjTTtFbkZ5alpkO0VtRnZrWlE7SUFjTTtJQUFBO0VuRjZqWmQ7RW1GM2taUTtJQWNNO0lBQUE7RW5GaWtaZDtFbUYva1pRO0lBY007SUFBQTtFbkZxa1pkO0VtRm5sWlE7SUFjTTtJQUFBO0VuRnlrWmQ7RW1GdmxaUTtJQWNNO0lBQUE7RW5GNmtaZDtFbUYzbFpRO0lBY007SUFBQTtFbkZpbFpkO0VtRi9sWlE7SUFjTTtJQUFBO0VuRnFsWmQ7RW1Gbm1aUTtJQWNNO0lBQUE7RW5GeWxaZDtFbUZ2bVpRO0lBY007SUFBQTtFbkY2bFpkO0VtRjNtWlE7SUFjTTtJQUFBO0VuRmltWmQ7RW1GL21aUTtJQWNNO0lBQUE7RW5GcW1aZDtFbUZublpRO0lBY007SUFBQTtFbkZ5bVpkO0VtRnZuWlE7SUFjTTtFbkY0bVpkO0VtRjFuWlE7SUFjTTtFbkYrbVpkO0VtRjduWlE7SUFjTTtFbkZrblpkO0VtRmhvWlE7SUFjTTtFbkZxblpkO0VtRm5vWlE7SUFjTTtFbkZ3blpkO0VtRnRvWlE7SUFjTTtFbkYyblpkO0VtRnpvWlE7SUFjTTtFbkY4blpkO0VtRjVvWlE7SUFjTTtFbkZpb1pkO0VtRi9vWlE7SUFjTTtFbkZvb1pkO0VtRmxwWlE7SUFjTTtFbkZ1b1pkO0VtRnJwWlE7SUFjTTtFbkYwb1pkO0VtRnhwWlE7SUFjTTtFbkY2b1pkO0VtRjNwWlE7SUFjTTtFbkZncFpkO0VtRjlwWlE7SUFjTTtFbkZtcFpkO0VtRmpxWlE7SUFjTTtFbkZzcFpkO0VtRnBxWlE7SUFjTTtFbkZ5cFpkO0VtRnZxWlE7SUFjTTtFbkY0cFpkO0VtRjFxWlE7SUFjTTtFbkYrcFpkO0VtRjdxWlE7SUFjTTtFbkZrcVpkO0VtRmhyWlE7SUFjTTtFbkZxcVpkO0VtRm5yWlE7SUFjTTtFbkZ3cVpkO0VtRnRyWlE7SUFjTTtFbkYycVpkO0VtRnpyWlE7SUFjTTtFbkY4cVpkO0VtRjVyWlE7SUFjTTtFbkZpclpkO0VtRi9yWlE7SUFjTTtFbkZvclpkO0VtRmxzWlE7SUFjTTtFbkZ1clpkO0VtRnJzWlE7SUFjTTtFbkYwclpkO0VtRnhzWlE7SUFjTTtFbkY2clpkO0VtRjNzWlE7SUFjTTtFbkZnc1pkO0VtRjlzWlE7SUFjTTtFbkZtc1pkO0VtRmp0WlE7SUFjTTtFbkZzc1pkO0VtRnB0WlE7SUFjTTtFbkZ5c1pkO0VtRnZ0WlE7SUFjTTtFbkY0c1pkO0VtRjF0WlE7SUFjTTtFbkYrc1pkO0VtRjd0WlE7SUFjTTtFbkZrdFpkO0VtRmh1WlE7SUFjTTtFbkZxdFpkO0VtRm51WlE7SUFjTTtFbkZ3dFpkO0VtRnR1WlE7SUFjTTtFbkYydFpkO0VtRnp1WlE7SUFjTTtFbkY4dFpkO0VtRjV1WlE7SUFjTTtFbkZpdVpkO0VtRi91WlE7SUFjTTtFbkZvdVpkO0VtRmx2WlE7SUFjTTtFbkZ1dVpkO0VtRnJ2WlE7SUFjTTtFbkYwdVpkO0VtRnh2WlE7SUFjTTtFbkY2dVpkO0VtRjN2WlE7SUFjTTtFbkZndlpkO0FBQ0Y7QWVoeVpJO0VvRWlDTTtJQWNNO0VuRnF2WmQ7RW1GbndaUTtJQWNNO0VuRnd2WmQ7RW1GdHdaUTtJQWNNO0VuRjJ2WmQ7RW1GendaUTtJQWNNO0VuRjh2WmQ7RW1GNXdaUTtJQWNNO0VuRml3WmQ7RW1GL3daUTtJQWNNO0VuRm93WmQ7RW1GbHhaUTtJQWNNO0VuRnV3WmQ7RW1GcnhaUTtJQWNNO0VuRjB3WmQ7RW1GeHhaUTtJQWNNO0VuRjZ3WmQ7RW1GM3haUTtJQWNNO0VuRmd4WmQ7RW1GOXhaUTtJQWNNO0VuRm14WmQ7RW1GanlaUTtJQWNNO0VuRnN4WmQ7RW1GcHlaUTtJQWNNO0VuRnl4WmQ7RW1GdnlaUTtJQWNNO0VuRjR4WmQ7RW1GMXlaUTtJQWNNO0VuRit4WmQ7RW1GN3laUTtJQWNNO0VuRmt5WmQ7RW1GaHpaUTtJQWNNO0VuRnF5WmQ7RW1GbnpaUTtJQWNNO0VuRnd5WmQ7RW1GdHpaUTtJQWNNO0VuRjJ5WmQ7RW1GenpaUTtJQWNNO0VuRjh5WmQ7RW1GNXpaUTtJQWNNO0VuRml6WmQ7RW1GL3paUTtJQWNNO0VuRm96WmQ7RW1GbDBaUTtJQWNNO0VuRnV6WmQ7RW1GcjBaUTtJQWNNO0VuRjB6WmQ7RW1GeDBaUTtJQWNNO0VuRjZ6WmQ7RW1GMzBaUTtJQWNNO0VuRmcwWmQ7RW1GOTBaUTtJQWNNO0VuRm0wWmQ7RW1GajFaUTtJQWNNO0VuRnMwWmQ7RW1GcDFaUTtJQWNNO0VuRnkwWmQ7RW1GdjFaUTtJQWNNO0VuRjQwWmQ7RW1GMTFaUTtJQWNNO0VuRiswWmQ7RW1GNzFaUTtJQWNNO0VuRmsxWmQ7RW1GaDJaUTtJQWNNO0VuRnExWmQ7RW1GbjJaUTtJQWNNO0VuRncxWmQ7RW1GdDJaUTtJQWNNO0VuRjIxWmQ7RW1GejJaUTtJQWNNO0VuRjgxWmQ7RW1GNTJaUTtJQWNNO0VuRmkyWmQ7RW1GLzJaUTtJQWNNO0VuRm8yWmQ7RW1GbDNaUTtJQWNNO0VuRnUyWmQ7RW1GcjNaUTtJQWNNO0VuRjAyWmQ7RW1GeDNaUTtJQWNNO0VuRjYyWmQ7RW1GMzNaUTtJQWNNO0VuRmczWmQ7RW1GOTNaUTtJQWNNO0VuRm0zWmQ7RW1GajRaUTtJQWNNO0VuRnMzWmQ7RW1GcDRaUTtJQWNNO0VuRnkzWmQ7RW1GdjRaUTtJQWNNO0VuRjQzWmQ7RW1GMTRaUTtJQWNNO0VuRiszWmQ7RW1GNzRaUTtJQWNNO0VuRms0WmQ7RW1GaDVaUTtJQWNNO0VuRnE0WmQ7RW1GbjVaUTtJQWNNO0VuRnc0WmQ7RW1GdDVaUTtJQWNNO0VuRjI0WmQ7RW1GejVaUTtJQWNNO0VuRjg0WmQ7RW1GNTVaUTtJQWNNO0VuRmk1WmQ7RW1GLzVaUTtJQWNNO0VuRm81WmQ7RW1GbDZaUTtJQWNNO0VuRnU1WmQ7RW1GcjZaUTtJQWNNO0VuRjA1WmQ7RW1GeDZaUTtJQWNNO0VuRjY1WmQ7RW1GMzZaUTtJQWNNO0VuRmc2WmQ7RW1GOTZaUTtJQWNNO0VuRm02WmQ7RW1GajdaUTtJQWNNO0VuRnM2WmQ7RW1GcDdaUTtJQWNNO0VuRnk2WmQ7RW1GdjdaUTtJQWNNO0VuRjQ2WmQ7RW1GMTdaUTtJQWNNO0VuRis2WmQ7RW1GNzdaUTtJQWNNO0VuRms3WmQ7RW1GaDhaUTtJQWNNO0VuRnE3WmQ7RW1GbjhaUTtJQWNNO0VuRnc3WmQ7RW1GdDhaUTtJQWNNO0VuRjI3WmQ7RW1GejhaUTtJQWNNO0VuRjg3WmQ7RW1GNThaUTtJQWNNO0VuRmk4WmQ7RW1GLzhaUTtJQWNNO0lBQUE7RW5GcThaZDtFbUZuOVpRO0lBY007SUFBQTtFbkZ5OFpkO0VtRnY5WlE7SUFjTTtJQUFBO0VuRjY4WmQ7RW1GMzlaUTtJQWNNO0lBQUE7RW5GaTlaZDtFbUYvOVpRO0lBY007SUFBQTtFbkZxOVpkO0VtRm4rWlE7SUFjTTtJQUFBO0VuRnk5WmQ7RW1GditaUTtJQWNNO0lBQUE7RW5GNjlaZDtFbUYzK1pRO0lBY007SUFBQTtFbkZpK1pkO0VtRi8rWlE7SUFjTTtJQUFBO0VuRnErWmQ7RW1Gbi9aUTtJQWNNO0lBQUE7RW5GeStaZDtFbUZ2L1pRO0lBY007SUFBQTtFbkY2K1pkO0VtRjMvWlE7SUFjTTtJQUFBO0VuRmkvWmQ7RW1GLy9aUTtJQWNNO0lBQUE7RW5GcS9aZDtFbUZuZ2FRO0lBY007SUFBQTtFbkZ5L1pkO0VtRnZnYVE7SUFjTTtFbkY0L1pkO0VtRjFnYVE7SUFjTTtFbkYrL1pkO0VtRjdnYVE7SUFjTTtFbkZrZ2FkO0VtRmhoYVE7SUFjTTtFbkZxZ2FkO0VtRm5oYVE7SUFjTTtFbkZ3Z2FkO0VtRnRoYVE7SUFjTTtFbkYyZ2FkO0VtRnpoYVE7SUFjTTtFbkY4Z2FkO0VtRjVoYVE7SUFjTTtFbkZpaGFkO0VtRi9oYVE7SUFjTTtFbkZvaGFkO0VtRmxpYVE7SUFjTTtFbkZ1aGFkO0VtRnJpYVE7SUFjTTtFbkYwaGFkO0VtRnhpYVE7SUFjTTtFbkY2aGFkO0VtRjNpYVE7SUFjTTtFbkZnaWFkO0VtRjlpYVE7SUFjTTtFbkZtaWFkO0VtRmpqYVE7SUFjTTtFbkZzaWFkO0VtRnBqYVE7SUFjTTtFbkZ5aWFkO0VtRnZqYVE7SUFjTTtFbkY0aWFkO0VtRjFqYVE7SUFjTTtFbkYraWFkO0VtRjdqYVE7SUFjTTtFbkZramFkO0VtRmhrYVE7SUFjTTtFbkZxamFkO0VtRm5rYVE7SUFjTTtFbkZ3amFkO0VtRnRrYVE7SUFjTTtFbkYyamFkO0VtRnprYVE7SUFjTTtFbkY4amFkO0VtRjVrYVE7SUFjTTtFbkZpa2FkO0VtRi9rYVE7SUFjTTtFbkZva2FkO0VtRmxsYVE7SUFjTTtFbkZ1a2FkO0VtRnJsYVE7SUFjTTtFbkYwa2FkO0VtRnhsYVE7SUFjTTtFbkY2a2FkO0VtRjNsYVE7SUFjTTtFbkZnbGFkO0VtRjlsYVE7SUFjTTtFbkZtbGFkO0VtRmptYVE7SUFjTTtFbkZzbGFkO0VtRnBtYVE7SUFjTTtFbkZ5bGFkO0VtRnZtYVE7SUFjTTtFbkY0bGFkO0VtRjFtYVE7SUFjTTtFbkYrbGFkO0VtRjdtYVE7SUFjTTtJQUFBO0VuRm1tYWQ7RW1Gam5hUTtJQWNNO0lBQUE7RW5GdW1hZDtFbUZybmFRO0lBY007SUFBQTtFbkYybWFkO0VtRnpuYVE7SUFjTTtJQUFBO0VuRittYWQ7RW1GN25hUTtJQWNNO0lBQUE7RW5GbW5hZDtFbUZqb2FRO0lBY007SUFBQTtFbkZ1bmFkO0VtRnJvYVE7SUFjTTtJQUFBO0VuRjJuYWQ7RW1Gem9hUTtJQWNNO0lBQUE7RW5GK25hZDtFbUY3b2FRO0lBY007SUFBQTtFbkZtb2FkO0VtRmpwYVE7SUFjTTtJQUFBO0VuRnVvYWQ7RW1GcnBhUTtJQWNNO0lBQUE7RW5GMm9hZDtFbUZ6cGFRO0lBY007SUFBQTtFbkYrb2FkO0VtRjdwYVE7SUFjTTtFbkZrcGFkO0VtRmhxYVE7SUFjTTtFbkZxcGFkO0VtRm5xYVE7SUFjTTtFbkZ3cGFkO0VtRnRxYVE7SUFjTTtFbkYycGFkO0VtRnpxYVE7SUFjTTtFbkY4cGFkO0VtRjVxYVE7SUFjTTtFbkZpcWFkO0VtRi9xYVE7SUFjTTtFbkZvcWFkO0VtRmxyYVE7SUFjTTtFbkZ1cWFkO0VtRnJyYVE7SUFjTTtFbkYwcWFkO0VtRnhyYVE7SUFjTTtFbkY2cWFkO0VtRjNyYVE7SUFjTTtFbkZncmFkO0VtRjlyYVE7SUFjTTtFbkZtcmFkO0VtRmpzYVE7SUFjTTtFbkZzcmFkO0VtRnBzYVE7SUFjTTtFbkZ5cmFkO0VtRnZzYVE7SUFjTTtFbkY0cmFkO0VtRjFzYVE7SUFjTTtFbkYrcmFkO0VtRjdzYVE7SUFjTTtFbkZrc2FkO0VtRmh0YVE7SUFjTTtFbkZxc2FkO0VtRm50YVE7SUFjTTtFbkZ3c2FkO0VtRnR0YVE7SUFjTTtFbkYyc2FkO0VtRnp0YVE7SUFjTTtFbkY4c2FkO0VtRjV0YVE7SUFjTTtFbkZpdGFkO0VtRi90YVE7SUFjTTtFbkZvdGFkO0VtRmx1YVE7SUFjTTtFbkZ1dGFkO0VtRnJ1YVE7SUFjTTtFbkYwdGFkO0VtRnh1YVE7SUFjTTtFbkY2dGFkO0VtRjN1YVE7SUFjTTtFbkZndWFkO0VtRjl1YVE7SUFjTTtFbkZtdWFkO0VtRmp2YVE7SUFjTTtFbkZzdWFkO0VtRnB2YVE7SUFjTTtFbkZ5dWFkO0VtRnZ2YVE7SUFjTTtFbkY0dWFkO0VtRjF2YVE7SUFjTTtFbkYrdWFkO0VtRjd2YVE7SUFjTTtFbkZrdmFkO0VtRmh3YVE7SUFjTTtFbkZxdmFkO0VtRm53YVE7SUFjTTtFbkZ3dmFkO0VtRnR3YVE7SUFjTTtFbkYydmFkO0VtRnp3YVE7SUFjTTtFbkY4dmFkO0VtRjV3YVE7SUFjTTtFbkZpd2FkO0VtRi93YVE7SUFjTTtFbkZvd2FkO0VtRmx4YVE7SUFjTTtFbkZ1d2FkO0VtRnJ4YVE7SUFjTTtFbkYwd2FkO0VtRnh4YVE7SUFjTTtFbkY2d2FkO0VtRjN4YVE7SUFjTTtFbkZneGFkO0VtRjl4YVE7SUFjTTtFbkZteGFkO0VtRmp5YVE7SUFjTTtFbkZzeGFkO0FBQ0Y7QWV0MGFJO0VvRWlDTTtJQWNNO0VuRjJ4YWQ7RW1GenlhUTtJQWNNO0VuRjh4YWQ7RW1GNXlhUTtJQWNNO0VuRml5YWQ7RW1GL3lhUTtJQWNNO0VuRm95YWQ7RW1GbHphUTtJQWNNO0VuRnV5YWQ7RW1GcnphUTtJQWNNO0VuRjB5YWQ7RW1GeHphUTtJQWNNO0VuRjZ5YWQ7RW1GM3phUTtJQWNNO0VuRmd6YWQ7RW1GOXphUTtJQWNNO0VuRm16YWQ7RW1GajBhUTtJQWNNO0VuRnN6YWQ7RW1GcDBhUTtJQWNNO0VuRnl6YWQ7RW1GdjBhUTtJQWNNO0VuRjR6YWQ7RW1GMTBhUTtJQWNNO0VuRit6YWQ7RW1GNzBhUTtJQWNNO0VuRmswYWQ7RW1GaDFhUTtJQWNNO0VuRnEwYWQ7RW1GbjFhUTtJQWNNO0VuRncwYWQ7RW1GdDFhUTtJQWNNO0VuRjIwYWQ7RW1GejFhUTtJQWNNO0VuRjgwYWQ7RW1GNTFhUTtJQWNNO0VuRmkxYWQ7RW1GLzFhUTtJQWNNO0VuRm8xYWQ7RW1GbDJhUTtJQWNNO0VuRnUxYWQ7RW1GcjJhUTtJQWNNO0VuRjAxYWQ7RW1GeDJhUTtJQWNNO0VuRjYxYWQ7RW1GMzJhUTtJQWNNO0VuRmcyYWQ7RW1GOTJhUTtJQWNNO0VuRm0yYWQ7RW1GajNhUTtJQWNNO0VuRnMyYWQ7RW1GcDNhUTtJQWNNO0VuRnkyYWQ7RW1GdjNhUTtJQWNNO0VuRjQyYWQ7RW1GMTNhUTtJQWNNO0VuRisyYWQ7RW1GNzNhUTtJQWNNO0VuRmszYWQ7RW1GaDRhUTtJQWNNO0VuRnEzYWQ7RW1GbjRhUTtJQWNNO0VuRnczYWQ7RW1GdDRhUTtJQWNNO0VuRjIzYWQ7RW1GejRhUTtJQWNNO0VuRjgzYWQ7RW1GNTRhUTtJQWNNO0VuRmk0YWQ7RW1GLzRhUTtJQWNNO0VuRm80YWQ7RW1GbDVhUTtJQWNNO0VuRnU0YWQ7RW1GcjVhUTtJQWNNO0VuRjA0YWQ7RW1GeDVhUTtJQWNNO0VuRjY0YWQ7RW1GMzVhUTtJQWNNO0VuRmc1YWQ7RW1GOTVhUTtJQWNNO0VuRm01YWQ7RW1GajZhUTtJQWNNO0VuRnM1YWQ7RW1GcDZhUTtJQWNNO0VuRnk1YWQ7RW1GdjZhUTtJQWNNO0VuRjQ1YWQ7RW1GMTZhUTtJQWNNO0VuRis1YWQ7RW1GNzZhUTtJQWNNO0VuRms2YWQ7RW1GaDdhUTtJQWNNO0VuRnE2YWQ7RW1GbjdhUTtJQWNNO0VuRnc2YWQ7RW1GdDdhUTtJQWNNO0VuRjI2YWQ7RW1GejdhUTtJQWNNO0VuRjg2YWQ7RW1GNTdhUTtJQWNNO0VuRmk3YWQ7RW1GLzdhUTtJQWNNO0VuRm83YWQ7RW1GbDhhUTtJQWNNO0VuRnU3YWQ7RW1GcjhhUTtJQWNNO0VuRjA3YWQ7RW1GeDhhUTtJQWNNO0VuRjY3YWQ7RW1GMzhhUTtJQWNNO0VuRmc4YWQ7RW1GOThhUTtJQWNNO0VuRm04YWQ7RW1GajlhUTtJQWNNO0VuRnM4YWQ7RW1GcDlhUTtJQWNNO0VuRnk4YWQ7RW1GdjlhUTtJQWNNO0VuRjQ4YWQ7RW1GMTlhUTtJQWNNO0VuRis4YWQ7RW1GNzlhUTtJQWNNO0VuRms5YWQ7RW1GaCthUTtJQWNNO0VuRnE5YWQ7RW1GbithUTtJQWNNO0VuRnc5YWQ7RW1GdCthUTtJQWNNO0VuRjI5YWQ7RW1GeithUTtJQWNNO0VuRjg5YWQ7RW1GNSthUTtJQWNNO0VuRmkrYWQ7RW1GLythUTtJQWNNO0VuRm8rYWQ7RW1GbC9hUTtJQWNNO0VuRnUrYWQ7RW1Gci9hUTtJQWNNO0lBQUE7RW5GMithZDtFbUZ6L2FRO0lBY007SUFBQTtFbkYrK2FkO0VtRjcvYVE7SUFjTTtJQUFBO0VuRm0vYWQ7RW1GamdiUTtJQWNNO0lBQUE7RW5GdS9hZDtFbUZyZ2JRO0lBY007SUFBQTtFbkYyL2FkO0VtRnpnYlE7SUFjTTtJQUFBO0VuRisvYWQ7RW1GN2diUTtJQWNNO0lBQUE7RW5GbWdiZDtFbUZqaGJRO0lBY007SUFBQTtFbkZ1Z2JkO0VtRnJoYlE7SUFjTTtJQUFBO0VuRjJnYmQ7RW1GemhiUTtJQWNNO0lBQUE7RW5GK2diZDtFbUY3aGJRO0lBY007SUFBQTtFbkZtaGJkO0VtRmppYlE7SUFjTTtJQUFBO0VuRnVoYmQ7RW1GcmliUTtJQWNNO0lBQUE7RW5GMmhiZDtFbUZ6aWJRO0lBY007SUFBQTtFbkYraGJkO0VtRjdpYlE7SUFjTTtFbkZraWJkO0VtRmhqYlE7SUFjTTtFbkZxaWJkO0VtRm5qYlE7SUFjTTtFbkZ3aWJkO0VtRnRqYlE7SUFjTTtFbkYyaWJkO0VtRnpqYlE7SUFjTTtFbkY4aWJkO0VtRjVqYlE7SUFjTTtFbkZpamJkO0VtRi9qYlE7SUFjTTtFbkZvamJkO0VtRmxrYlE7SUFjTTtFbkZ1amJkO0VtRnJrYlE7SUFjTTtFbkYwamJkO0VtRnhrYlE7SUFjTTtFbkY2amJkO0VtRjNrYlE7SUFjTTtFbkZna2JkO0VtRjlrYlE7SUFjTTtFbkZta2JkO0VtRmpsYlE7SUFjTTtFbkZza2JkO0VtRnBsYlE7SUFjTTtFbkZ5a2JkO0VtRnZsYlE7SUFjTTtFbkY0a2JkO0VtRjFsYlE7SUFjTTtFbkYra2JkO0VtRjdsYlE7SUFjTTtFbkZrbGJkO0VtRmhtYlE7SUFjTTtFbkZxbGJkO0VtRm5tYlE7SUFjTTtFbkZ3bGJkO0VtRnRtYlE7SUFjTTtFbkYybGJkO0VtRnptYlE7SUFjTTtFbkY4bGJkO0VtRjVtYlE7SUFjTTtFbkZpbWJkO0VtRi9tYlE7SUFjTTtFbkZvbWJkO0VtRmxuYlE7SUFjTTtFbkZ1bWJkO0VtRnJuYlE7SUFjTTtFbkYwbWJkO0VtRnhuYlE7SUFjTTtFbkY2bWJkO0VtRjNuYlE7SUFjTTtFbkZnbmJkO0VtRjluYlE7SUFjTTtFbkZtbmJkO0VtRmpvYlE7SUFjTTtFbkZzbmJkO0VtRnBvYlE7SUFjTTtFbkZ5bmJkO0VtRnZvYlE7SUFjTTtFbkY0bmJkO0VtRjFvYlE7SUFjTTtFbkYrbmJkO0VtRjdvYlE7SUFjTTtFbkZrb2JkO0VtRmhwYlE7SUFjTTtFbkZxb2JkO0VtRm5wYlE7SUFjTTtJQUFBO0VuRnlvYmQ7RW1GdnBiUTtJQWNNO0lBQUE7RW5GNm9iZDtFbUYzcGJRO0lBY007SUFBQTtFbkZpcGJkO0VtRi9wYlE7SUFjTTtJQUFBO0VuRnFwYmQ7RW1GbnFiUTtJQWNNO0lBQUE7RW5GeXBiZDtFbUZ2cWJRO0lBY007SUFBQTtFbkY2cGJkO0VtRjNxYlE7SUFjTTtJQUFBO0VuRmlxYmQ7RW1GL3FiUTtJQWNNO0lBQUE7RW5GcXFiZDtFbUZucmJRO0lBY007SUFBQTtFbkZ5cWJkO0VtRnZyYlE7SUFjTTtJQUFBO0VuRjZxYmQ7RW1GM3JiUTtJQWNNO0lBQUE7RW5GaXJiZDtFbUYvcmJRO0lBY007SUFBQTtFbkZxcmJkO0VtRm5zYlE7SUFjTTtFbkZ3cmJkO0VtRnRzYlE7SUFjTTtFbkYycmJkO0VtRnpzYlE7SUFjTTtFbkY4cmJkO0VtRjVzYlE7SUFjTTtFbkZpc2JkO0VtRi9zYlE7SUFjTTtFbkZvc2JkO0VtRmx0YlE7SUFjTTtFbkZ1c2JkO0VtRnJ0YlE7SUFjTTtFbkYwc2JkO0VtRnh0YlE7SUFjTTtFbkY2c2JkO0VtRjN0YlE7SUFjTTtFbkZndGJkO0VtRjl0YlE7SUFjTTtFbkZtdGJkO0VtRmp1YlE7SUFjTTtFbkZzdGJkO0VtRnB1YlE7SUFjTTtFbkZ5dGJkO0VtRnZ1YlE7SUFjTTtFbkY0dGJkO0VtRjF1YlE7SUFjTTtFbkYrdGJkO0VtRjd1YlE7SUFjTTtFbkZrdWJkO0VtRmh2YlE7SUFjTTtFbkZxdWJkO0VtRm52YlE7SUFjTTtFbkZ3dWJkO0VtRnR2YlE7SUFjTTtFbkYydWJkO0VtRnp2YlE7SUFjTTtFbkY4dWJkO0VtRjV2YlE7SUFjTTtFbkZpdmJkO0VtRi92YlE7SUFjTTtFbkZvdmJkO0VtRmx3YlE7SUFjTTtFbkZ1dmJkO0VtRnJ3YlE7SUFjTTtFbkYwdmJkO0VtRnh3YlE7SUFjTTtFbkY2dmJkO0VtRjN3YlE7SUFjTTtFbkZnd2JkO0VtRjl3YlE7SUFjTTtFbkZtd2JkO0VtRmp4YlE7SUFjTTtFbkZzd2JkO0VtRnB4YlE7SUFjTTtFbkZ5d2JkO0VtRnZ4YlE7SUFjTTtFbkY0d2JkO0VtRjF4YlE7SUFjTTtFbkYrd2JkO0VtRjd4YlE7SUFjTTtFbkZreGJkO0VtRmh5YlE7SUFjTTtFbkZxeGJkO0VtRm55YlE7SUFjTTtFbkZ3eGJkO0VtRnR5YlE7SUFjTTtFbkYyeGJkO0VtRnp5YlE7SUFjTTtFbkY4eGJkO0VtRjV5YlE7SUFjTTtFbkZpeWJkO0VtRi95YlE7SUFjTTtFbkZveWJkO0VtRmx6YlE7SUFjTTtFbkZ1eWJkO0VtRnJ6YlE7SUFjTTtFbkYweWJkO0VtRnh6YlE7SUFjTTtFbkY2eWJkO0VtRjN6YlE7SUFjTTtFbkZnemJkO0VtRjl6YlE7SUFjTTtFbkZtemJkO0VtRmowYlE7SUFjTTtFbkZzemJkO0VtRnAwYlE7SUFjTTtFbkZ5emJkO0VtRnYwYlE7SUFjTTtFbkY0emJkO0FBQ0Y7QW9GcDViQTtFRHlFVTtJQWNNO0VuRmkwYmQ7RW1GLzBiUTtJQWNNO0VuRm8wYmQ7RW1GbDFiUTtJQWNNO0VuRnUwYmQ7RW1GcjFiUTtJQWNNO0VuRjAwYmQ7QUFDRjtBb0YvNGJBO0VEc0RVO0lBY007RW5GKzBiZDtFbUY3MWJRO0lBY007RW5GazFiZDtFbUZoMmJRO0lBY007RW5GcTFiZDtFbUZuMmJRO0lBY007RW5GdzFiZDtFbUZ0MmJRO0lBY007RW5GMjFiZDtFbUZ6MmJRO0lBY007RW5GODFiZDtFbUY1MmJRO0lBY007RW5GaTJiZDtFbUYvMmJRO0lBY007RW5GbzJiZDtFbUZsM2JRO0lBY007RW5GdTJiZDtFbUZyM2JRO0lBY007RW5GMDJiZDtFbUZ4M2JRO0lBY007RW5GNjJiZDtBQUNGO0FxRmgrYkE7OztnQ0FBQTtBQUtBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtBckYrOWJKOztBcUY1OWJBO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0FyRjg5Yko7QXFGNTliSTtFQUNJO0VBQ0E7RUFDQTtFQUNBLG9MQUNJO0VBRUo7QXJGNDliUjs7QXFGeDliQTtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBckZ5OWJKO0FxRnY5Ykk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJGeTliUjs7QXFGcjliQTtFQUFXO0FyRnk5Ylg7O0FxRng5YkE7RUFDSTtFQUNBO0VBQ0E7QXJGMjliSjs7QXFGeDliQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FyRjI5Yko7O0FxRng5YkE7RUFDSTtFQUNBO0VBQ0E7QXJGMjliSjs7QXFGeDliQTtFQUNJO0FyRjI5Yko7O0FxRng5YkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRjI5Yko7O0FxRng5YkE7QUFDQTs7RUFFSTtFQUNBO0FyRjI5Yko7O0FxRng5YkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBckYyOWJKOztBcUZ4OWJBOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0FyRjI5Yko7O0FxRng5YkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FyRjI5Yko7O0FxRno5YkE7RUFDSTtFQUNBO0FyRjQ5Yko7O0FxRjE5YkE7RUFBc0I7QXJGODlidEI7O0FxRjU5YkE7QUFDQTtFQUFjO0VBQWtCO0FyRmkrYmhDOztBcUZoK2JBO0VBQ0k7RUFDQTtFQUNBO0FyRm0rYko7O0FxRmorYkE7RUFDSTtFQUNBO0FyRm8rYko7O0FxRmorYkE7QUFDQTtFQUNJO0lBQWtCO0VyRnErYnBCO0VxRnArYkU7SUFBbUI7RXJGdStickI7QUFDRjtBcUZyK2JBO0FBQ0E7RUFBK0I7QXJGdytiL0I7O0FxRnYrYkE7RUFBK0I7QXJGMitiL0I7O0FxRnorYkE7QUFDQTtFQUNJO0VBQ0E7QXJGNCtiSjs7QXFGMStiQTtFQUNJO0VBQ0E7QXJGNitiSjs7QXFGMytiQTtFQUNJO0FyRjgrYko7O0FxRjUrYkE7RUFDSTtBckYrK2JKOztBcUY3K2JBO0VBQ0k7QXJGZy9iSjs7QXNGNXBjQTs7Ozs4REFBQTtBQUtBO0VBQ0k7QXRGK3BjSjs7QXNGNXBjQTs7OERBQUE7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEYrcGNKOztBc0YzcGNBOzs7RUFHSTtFQUNBO0VBQ0E7RUFDQTtBdEY4cGNKOztBc0YzcGNBOzs7RUFHSTtBdEY4cGNKOztBc0YzcGNBO0VBRUk7QXRGNnBjSjs7QXNGMXBjQTtFQUFrQjtFQUFlO0F0RitwY2pDOztBc0Y5cGNBO0VBQWE7RUFBa0I7RUFBUTtBdEZvcWN2Qzs7QXNGbHFjQTtFQUFjO0F0RnNxY2Q7O0FzRnBxY0E7RUFDSTtJQUNJO0lBQWlCO0lBQVM7SUFBUTtJQUNsQztJQUFnQztFdEYycWN0QztFc0Z6cWNFO0lBQXdDO0V0RjRxYzFDO0VzRjNxY0U7SUFBa0M7RXRGOHFjcEM7RXNGN3FjRTtFQUNBO0lBQTZDO0V0RmdyYy9DO0VzRjlxY0U7RUFDQTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXRGZ3JjTjtFc0Y5cWNFOztJQUVJO0V0RmdyY047QUFDRjtBc0Y5cWNBO0VBQ0k7SUFBdUI7RXRGaXJjekI7QUFDRjtBc0YvcWNBO0FBQ0E7RUFDSTtJQUNJO0lBQ0E7RXRGaXJjTjtFc0YvcWNFO0lBQ0k7SUFDQTtFdEZpcmNOO0FBQ0Y7QXNGOXFjQTtFQUNJO0VBQ0E7SUFDSTtJQUNBO0lBQ0E7RXRGZ3JjTjtFc0Y5cWNFO0lBQ0k7RXRGZ3JjTjtFc0Y5cWNFO0lBQ0k7RXRGZ3JjTjtFc0Y5cWNFO0lBQ0k7RXRGZ3JjTjtFc0Y5cWNFOzs7SUFHSTtFdEZncmNOO0VzRjlxY0U7SUFDSTtJQUNBO0lBQ0E7RXRGZ3JjTjtFc0Y5cWNFO0lBQ0k7RXRGZ3JjTjtBQUNGO0FzRjdxY0E7RUFBVTtBdEZncmNWOztBc0YvcWNBO0VBQThDO0F0Rm1yYzlDOztBc0ZqcmNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXRGb3JjSjs7QXNGanJjQTtFQUFjO0F0RnFyY2Q7O0FzRnByY0E7RUFBUTtBdEZ3cmNSOztBc0Z0cmNBOzs4REFBQTtBQUdBO0VBQ0k7RUFBb0I7RUFBUztFQUFVO0VBQ3ZDO0VBQWtCO0VBQ2xCO0VBQXNCO0VBQ3RCO0VBQXdDO0F0RityYzVDOztBc0Y3cmNBO0VBQ0k7RUFBZTtFQUFhO0VBQzVCO0VBQXVCO0F0Rm1zYzNCOztBc0Zqc2NBO0VBQTBDO0F0RnFzYzFDOztBc0Zwc2NBO0VBQWM7RUFBZ0I7RUFBYTtFQUFvQjtBdEYyc2MvRDs7QXNGMXNjQTtFQUFjO0F0RjhzY2Q7O0FzRjdzY0E7RUFBZTtBdEZpdGNmOztBc0ZodGNBO0VBQWE7RUFBZ0I7RUFBb0I7QXRGc3RjakQ7O0FzRnB0Y0E7OzhEQUFBO0FBR0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdEZ1dGNKOztBc0ZydGNBO0VBQVE7QXRGeXRjUjs7QXNGeHRjQTtFQUErQjtBdEY0dGMvQjs7QXNGMXRjQTtBQUNBO0VBQ0k7RUFBYztFQUF1QjtFQUFhO0VBQ2xEO0F0Rmd1Y0o7QXNGL3RjSTtFQUFZO0VBQWU7RUFBYztBdEZvdWM3QztBc0ZudWNJO0VBQWE7QXRGc3VjakI7O0FzRm51Y0E7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGc3VjSjs7QXNGcHVjQTtFQUNJO0VBQ0E7RUFDQTtBdEZ1dWNKOztBc0ZydWNBO0VBQ0k7RUFBYTtFQUFjO0VBQzNCO0VBQ0E7RUFBc0I7RUFBcUI7RUFDM0M7RUFDQTtFQUNBO0VBQWdCO0VBQ2hCO0F0RjZ1Y0o7O0FzRjN1Y0E7RUFDSTtFQUNBO0VBQ0E7QXRGOHVjSjs7QXNGM3VjQTtBQUNBO0VBQ0k7QXRGOHVjSjs7QXNGNXVjQTtFQUNJO0VBQ0E7RUFBYztFQUFVO0VBQ3hCO0VBQWdCO0VBQW9CO0F0Rm12Y3hDOztBc0ZqdmNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGb3ZjSjs7QXNGbHZjQTtFQUNJO0VBQ0E7RUFDQTtBdEZxdmNKOztBc0ZsdmNBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGcXZjSjs7QXNGbnZjQTtFQUNJO0VBQ0E7QXRGc3ZjSjs7QXNGcHZjQTtFQUNJO0VBQ0E7QXRGdXZjSjs7QXNGcnZjQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0Rnd2Y0o7O0FzRnR2Y0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdEZ5dmNKOztBc0Z0dmNBO0FBQ0E7RUFDSTtFQUFjO0VBQXVCO0VBQWM7RUFBYTtFQUFpQjtBdEY4dmNyRjs7QXNGNXZjQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0Rit2Y0o7O0FzRjV2Y0E7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEYrdmNKOztBc0Y3dmNBO0FBQ0E7RUFDSTtFQUFnQjtFQUFpQjtBdEZrd2NyQzs7QXNGaHdjQTtFQUNJO0VBQWE7RUFDYjtFQUNBO0VBQ0E7RUFDQTtFQUFXO0VBQ1g7QXRGcXdjSjs7QXNGbndjQTtFQUNJO0F0RnN3Y0o7O0FzRnB3Y0E7QUFDQTtFQUNJO0VBQ0E7RUFDQTtBdEZ1d2NKOztBc0Zyd2NBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0Rnd3Y0o7O0FzRnR3Y0E7RUFDSTtFQUNBO0F0Rnl3Y0o7O0FzRnZ3Y0E7RUFDSTtFQUNBO0F0RjB3Y0o7O0FzRnh3Y0E7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F0RjJ3Y0o7O0FzRnp3Y0E7RUFDSTtFQUFnQjtFQUFpQjtFQUNqQztFQUNBO0VBQ0E7RUFBc0I7RUFBcUI7RUFDM0M7RUFBaUI7RUFBZ0I7RUFDakM7QXRGa3hjSjs7QXNGaHhjQTtFQUNJO0VBQWdCO0VBQWlDO0F0RnF4Y3JEOztBc0ZseGNBOzs4REFBQTtBQUdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGcXhjSjs7QXNGbHhjQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F0RnF4Y0o7O0FzRmx4Y0E7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQVk7RUFDWjtBdEZzeGNKOztBc0ZweGNBO0VBQXVCO0VBQW1CO0F0Rnl4YzFDOztBc0Z2eGNBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEYweGNKOztBc0Z4eGNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RjJ4Y0o7O0FzRnp4Y0E7RUFDSTtFQUNBO0VBQ0E7QXRGNHhjSjs7QXNGMXhjQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEY2eGNKOztBc0YzeGNBO0VBQ0k7RUFDQTtBdEY4eGNKOztBc0Y1eGNBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUFhO0VBQWM7RUFDM0I7RUFDQTtFQUFzQjtFQUFxQjtFQUMzQztFQUNBO0F0Rm15Y0o7O0FzRmp5Y0E7RUFDSTtFQUNBO0F0Rm95Y0o7O0FzRmx5Y0E7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQWE7RUFBYztFQUMzQjtFQUNBO0VBQXNCO0VBQXFCO0VBQzNDO0VBQ0E7RUFDQTtBdEZ5eWNKOztBc0Z2eWNBO0VBQ0k7RUFDQTtBdEYweWNKOztBc0Z2eWNBOzs4REFBQTtBQUdBO0VBQVU7RUFBb0I7RUFBcUI7RUFBb0I7QXRGOHljdkU7O0FzRjd5Y0E7RUFBYztFQUFZO0VBQWE7RUFBa0I7RUFBZTtBdEZxemN4RTs7QXNGcHpjQTtFQUFhO0VBQWE7RUFBYztFQUFrQjtFQUFhO0F0RjR6Y3ZFOztBc0YzemNBO0VBQWE7RUFBYTtFQUFjO0VBQW1CO0VBQWE7QXRGbTBjeEU7O0FzRmwwY0E7RUFBYTtFQUFhO0VBQWM7RUFBa0I7RUFBYTtBdEYwMGN2RTs7QXNGejBjQTtFQUFtQjtFQUFxQjtFQUFnQjtBdEYrMGN4RDs7QXNGNzBjQTtFQUNJO0VBQ0E7RUFBb0I7RUFBVztFQUMvQjtFQUFhO0VBQWM7RUFBb0I7QXRGcTFjbkQ7O0FzRm4xY0E7RUFBNkI7QXRGdTFjN0I7O0FzRnQxY0E7RUFBNkI7QXRGMDFjN0I7O0FzRngxY0E7OzhEQUFBO0FBR0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RjIxY0o7O0FzRnoxY0E7QUFDQTtFQUE0QjtBdEY2MWM1Qjs7QXNGMzFjQTtFQUErQjtFQUFnQjtBdEZnMmMvQzs7QXNGLzFjQTtFQUErQjtFQUFnQjtBdEZvMmMvQzs7QXNGbjJjQTtFQUErQjtBdEZ1MmMvQjs7QXNGcjJjQTtFQUErQjtBdEZ5MmMvQjs7QXNGeDJjQTtFQUErQjtFQUFnQjtBdEY2MmMvQzs7QXNGNTJjQTtFQUErQjtBdEZnM2MvQjs7QXNGOTJjQTtBQUNBO0VBQThDO0F0RmszYzlDOztBc0ZoM2NBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEZtM2NKOztBc0ZoM2NBO0VBQ0k7RUFDQTtFQUNBO0F0Rm0zY0o7O0FzRmgzY0E7QUFDQTtFQUEyQjtBdEZvM2MzQjs7QXNGbjNjQTtFQUEyQjtBdEZ1M2MzQjs7QXNGcjNjQTtFQUNJO0VBQ0E7QXRGdzNjSjs7QXNGcjNjQTtFQUFhO0VBQW1CO0VBQWM7QXRGMjNjOUM7O0FzRnozY0E7QUFDQTtFQUNJO0VBQWlCO0VBQXFCO0F0RjgzYzFDOztBc0YzM2NBO0FBQ0E7RUFBOEI7QXRGKzNjOUI7O0FzRjczY0E7OzhEQUFBO0FBR0E7RUFBZ0I7QXRGaTRjaEI7O0FzRmg0Y0E7RUFBa0M7RUFBYztFQUFnQjtBdEZzNGNoRTs7QXNGcDRjQTtFQUNJO0VBQ0E7RUFBYTtFQUNiO0VBQXNCO0VBQWtCO0VBQ3hDO0VBQWM7RUFBb0I7QXRGNDRjdEM7O0FzRjE0Y0E7O0VBRUk7RUFBWTtFQUFhO0VBQWtCO0VBQXdCO0F0Rmk1Y3ZFOztBc0YvNGNBO0VBQ0k7RUFBb0I7RUFBZTtFQUFrQjtBdEZxNWN6RDs7QXNGbjVjQTtFQUF5QztFQUFtQjtBdEZ3NWM1RDs7QXNGdjVjQTtFQUNJO0VBQWdCO0VBQW1CO0VBQW9CO0VBQWlCO0F0Rjg1YzVFOztBc0Y1NWNBO0VBQ0k7RUFBbUI7RUFBVztFQUFhO0VBQzNDO0VBQW1CO0VBQWtCO0F0Rm82Y3pDOztBc0ZsNmNBO0VBQW1EO0F0RnM2Y25EOztBc0ZwNmNBO0VBQ0k7RUFDQTtFQUNBO0F0RnU2Y0o7O0FzRnA2Y0E7OzhEQUFBO0FBR0E7RUFBYztBdEZ3NmNkOztBc0Z0NmNBO0VBQ0k7RUFDQTtFQUNBO0F0Rnk2Y0o7O0FzRnQ2Y0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0Rnk2Y0o7O0FzRnY2Y0E7O0VBRUk7QXRGMDZjSjs7QXNGdjZjQTs7OERBQUE7QUFHQTtFQUNJO0VBQXFCO0VBQW9CO0VBQ3pDO0VBQW9CO0VBQ3BCO0VBQ0E7RUFBa0I7RUFBaUI7RUFDbkM7RUFDQTtFQUNBO0VBQ0E7QXRGKzZjSjs7QXNGNTZjQTtFQUNJO0VBQW9CO0VBQWlCO0F0Rmk3Y3pDOztBc0Y5NmNBOzs4REFBQTtBQUdBO0VBQWU7RUFBb0I7QXRGbTdjbkM7O0FzRmw3Y0E7RUFDSTtFQUFhO0VBQ2I7RUFBbUI7RUFBd0I7QXRGdzdjL0M7O0FzRnI3Y0E7OzhEQUFBO0FBR0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEZ3N2NKOztBc0Z0N2NBO0VBQ0k7RUFDQTtBdEZ5N2NKOztBc0Z2N2NBO0VBQ0k7RUFDQTtFQUNBO0F0RjA3Y0o7O0FzRng3Y0E7RUFDSTtFQUNBO0F0RjI3Y0o7O0FzRng3Y0E7OzhEQUFBO0FBR0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdEYyN2NKOztBc0Z6N2NBO0VBQThCO0VBQTBDO0F0Rjg3Y3hFOztBc0Y3N2NBO0VBQThCO0VBQWtCO0F0Rms4Y2hEOztBc0ZqOGNBO0VBQThCO0VBQXVDO0F0RnM4Y3JFOztBc0ZwOGNBO0FBQ0E7RUFBUTtBdEZ3OGNSOztBc0Z0OGNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFlO0F0RjA4Y25COztBc0Z2OGNBO0VBQXVCO0F0RjI4Y3ZCOztBc0Z6OGNBO0VBQXNCO0VBQWdCO0F0Rjg4Y3RDOztBc0Y3OGNBO0VBQXNCO0VBQWdCO0VBQWdCO0F0Rm05Y3REOztBc0ZqOWNBO0VBQXVCO0F0RnE5Y3ZCOztBc0ZuOWNBO0FBQ0E7RUFDSTtJQUFrQjtFdEZ1OWNwQjtFc0ZyOWNFO0lBQ0k7SUFDQTtJQUFRO0lBQVU7SUFDbEI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V0Rnk5Y047RXNGdjljRTtJQUF1QjtFdEYwOWN6QjtFc0Z4OWNFO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFdEYwOWNOO0VzRng5Y0U7SUFDSTtJQUNBO0V0RjA5Y047QUFDRjtBc0Z2OWNBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7QXRGeTljSjtBc0Z2OWNJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGeTljUjtBc0Z2OWNRO0VBQ0k7RUFDQTtFQUFhO0VBQ2I7RUFDQTtFQUNBO0VBQWU7RUFBcUI7RUFDcEM7QXRGNDljWjtBc0Z6OWNRO0VBQWE7RUFBZ0I7QXRGNjljckM7QXNGNTljUTtFQUFhO0F0Ris5Y3JCO0FzRjk5Y1E7RUFBYTtBdEZpK2NyQjtBc0YvOWNRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RmkrY1o7QXNGOTljUTtFQUNJO0VBQ0E7QXRGZytjWjs7QXNGMTljQTs7OERBQUE7QUFHQTtFQUNJO0VBQ0E7QXRGNjljSjs7QXNGMzljQTtFQUNJO0VBQ0E7QXRGODljSjs7QXNGNTljQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0Ris5Y0o7O0FzRjc5Y0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGZytjSjs7QXNGOTljQTtFQUNJO0F0RmkrY0o7O0FzRjk5Y0E7OzhEQUFBO0FBR0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGaStjSjs7QXNGOTljQTs7OERBQUE7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RmkrY0o7O0FzRi85Y0E7RUFDSTtBdEZrK2NKOztBc0ZoK2NBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0Rm0rY0o7O0FzRmorY0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEZvK2NKOztBc0ZsK2NBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXRGcStjSjs7QXNGbitjQTtFQUNJO0VBQ0E7RUFDQTtBdEZzK2NKOztBc0ZwK2NBO0VBQ0k7QXRGdStjSjs7QXNGcitjQTtFQUNJO0lBQ0k7SUFDQTtFdEZ3K2NOO0VzRnQrY0U7SUFDSTtJQUNBO0V0RncrY047RXNGdCtjRTtJQUNJO0V0RncrY047RXNGdCtjRTtJQUNJO0V0RncrY047RXNGdCtjRTtJQUNJO0V0RncrY047QUFDRjtBc0Z0K2NBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RncrY0o7O0FzRnQrY0E7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGeStjSjs7QXNGditjQTtFQUNJO0F0RjArY0o7O0FzRnYrY0E7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEYwK2NKOztBc0Z4K2NBO0VBQ0k7RUFDQTtBdEYyK2NKOztBc0Z6K2NBO0VBQ0k7QXRGNCtjSjs7QXNGeitjQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEY0K2NKOztBc0Z6K2NBO0FBQ0E7RUFDSTtBdEY0K2NKOztBc0YxK2NBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEY2K2NKOztBc0YzK2NBO0VBQ0k7QXRGOCtjSjs7QXNGNStjQTtFQUNJO0VBQ0E7RUFDQTtBdEYrK2NKOztBc0Y3K2NBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEZnL2NKOztBc0Y5K2NBO0VBQ0k7QXRGaS9jSjs7QXNGOStjQTs7OERBQUE7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGaS9jSjs7QXNGLytjQTtFQUNJO0VBQ0E7RUFDQTtBdEZrL2NKOztBc0ZoL2NBO0FBQ0E7RUFDSTtFQUFZO0VBQ1o7RUFDQTtFQUNBO0F0Rm8vY0o7O0FzRmwvY0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RnEvY0o7O0FzRm4vY0E7RUFBbUM7QXRGdS9jbkM7O0FzRnQvY0E7RUFBc0M7QXRGMC9jdEM7O0FzRnovY0E7RUFBbUM7QXRGNi9jbkM7O0FzRjUvY0E7RUFBeUM7QXRGZ2dkekM7O0FzRi8vY0E7RUFBbUM7QXRGbWdkbkM7O0FzRmxnZEE7RUFBd0M7QXRGc2dkeEM7O0FzRnJnZEE7RUFBbUM7QXRGeWdkbkM7O0FzRnhnZEE7RUFBMEM7QXRGNGdkMUM7O0FzRjNnZEE7RUFBbUM7QXRGK2dkbkM7O0FzRjlnZEE7RUFBMEM7QXRGa2hkMUM7O0FzRmpoZEE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F0Rm9oZEo7O0FzRmxoZEE7RUFDSTtFQUNBO0F0RnFoZEo7O0FzRm5oZEE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEZzaGRKOztBc0ZwaGRBO0VBQTJCO0F0RndoZDNCOztBc0Z0aGRBOzs4REFBQTtBQUdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGeWhkSjs7QXNGdmhkQTtFQUNJO0VBQ0E7QXRGMGhkSjs7QXNGeGhkQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEYyaGRKOztBc0Z6aGRBO0VBQ0k7RUFDQTtBdEY0aGRKOztBc0Z6aGRBOzs4REFBQTtBQUdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RjRoZEo7O0FzRjFoZEE7RUFDSTtFQUNBO0F0RjZoZEo7O0FzRjNoZEE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F0RjhoZEo7O0FzRjVoZEE7RUFDSTtFQUFhO0VBQ2I7RUFDQTtFQUFlO0VBQXFCO0VBQ3BDO0VBQWtCO0VBQ2xCO0VBQ0E7RUFDQTtFQUNBO0F0Rm1pZEo7O0FzRmppZEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGb2lkSjs7QXNGbGlkQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEZxaWRKOztBc0ZuaWRBO0VBQ0k7RUFDQTtFQUNBO0F0RnNpZEo7O0FzRnBpZEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdEZ1aWRKOztBc0ZyaWRBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEZ3aWRKOztBc0ZyaWRBO0FBQ0E7RUFDSTtJQUNJO0lBQ0E7SUFDQTtFdEZ3aWROO0VzRnRpZEU7SUFDSTtJQUNBO0lBQ0E7RXRGd2lkTjtFc0Z0aWRFO0lBQ0k7SUFDQTtJQUNBO0V0RndpZE47RXNGdGlkRTtJQUNJO0V0RndpZE47RXNGdGlkRTtJQUNJO0lBQ0E7SUFDQTtFdEZ3aWROO0VzRnRpZEU7SUFDSTtFdEZ3aWROO0VzRnRpZEU7SUFDSTtJQUNBO0V0RndpZE47RXNGdGlkRTtJQUNJO0lBQ0E7RXRGd2lkTjtBQUNGO0FzRnRpZEE7RUFDSTtJQUNJO0lBQ0E7RXRGd2lkTjtFc0Z0aWRFO0lBQ0k7RXRGd2lkTjtFc0Z0aWRFO0lBQ0k7SUFDQTtFdEZ3aWROO0VzRnRpZEU7SUFDSTtFdEZ3aWROO0FBQ0Y7QXNGcmlkQTs7OERBQUE7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F0RnVpZEo7O0FzRnJpZEE7RUFDSTtBdEZ3aWRKOztBc0Z0aWRBO0VBQ0k7RUFBYTtFQUNiO0VBQ0E7RUFBZTtFQUFxQjtFQUNwQztFQUNBO0VBQ0E7RUFDQTtBdEY0aWRKOztBc0YxaWRBO0VBQ0k7RUFBUztBdEY4aWRiOztBc0Y1aWRBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGK2lkSjs7QXNGN2lkQTtFQUNJO0VBQ0E7RUFDQTtBdEZnamRKOztBc0Y5aWRBO0VBQ0k7RUFDQTtBdEZpamRKOztBc0YvaWRBO0VBQ0k7QXRGa2pkSjs7QXNGaGpkQTtFQUNJO0VBQ0E7RUFDQTtBdEZtamRKOztBc0ZoamRBOzs4REFBQTtBQUdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0Rm1qZEo7O0FzRmpqZEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdEZvamRKOztBc0ZsamRBO0VBQ0k7QXRGcWpkSjs7QXNGbGpkQTs7OERBQUE7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGcWpkSjs7QXNGbmpkQTtFQUNJO0VBQ0E7QXRGc2pkSjs7QXNGcGpkQTtFQUNJO0VBQWE7RUFDYjtFQUNBO0VBQWU7RUFBcUI7RUFDcEM7RUFBa0I7RUFDbEI7RUFDQTtFQUNBO0F0RjJqZEo7O0FzRnpqZEE7RUFBeUI7RUFBUztBdEY4amRsQzs7QXNGN2pkQTtFQUNJO0VBQ0E7RUFDQTtBdEZna2RKOztBc0Y5amRBO0VBQ0k7RUFDQTtBdEZpa2RKOztBc0YvamRBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXRGa2tkSjs7QXNGaGtkQTtFQUNJO0F0Rm1rZEo7O0FzRmhrZEE7OzhEQUFBO0FBR0E7RUFDSTtBdEZta2RKOztBc0Zqa2RBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGb2tkSjs7QXNGbGtkQTs7RUFFSTtFQUNBO0VBQ0E7QXRGcWtkSjs7QXNGbmtkQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEZza2RKOztBc0Zwa2RBO0VBQ0k7RUFDQTtFQUNBO0F0RnVrZEo7O0FzRnJrZEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RndrZEo7O0FzRnRrZEE7RUFDSTtFQUNBO0F0RnlrZEo7O0FzRnZrZEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RjBrZEo7O0FzRnhrZEE7RUFBa0M7QXRGNGtkbEM7O0FzRjNrZEE7RUFDSTtFQUNBO0VBQ0E7QXRGOGtkSjs7QXNGNWtkQTtFQUFrQztBdEZnbGRsQzs7QXNGL2tkQTtFQUFvQztBdEZtbGRwQzs7QXNGbGxkQTtFQUF3QztFQUFpQztBdEZ1bGR6RTs7QXNGcmxkQTs7OERBQUE7QUFHQTtBQUNBO0VBQ0k7SUFDSTtJQUNBO0V0RndsZE47RXNGdGxkRTtJQUNJO0lBQ0E7RXRGd2xkTjtBQUNGO0FzRnRsZEE7RUFDSTtBdEZ3bGRKOztBc0Z0bGRBO0FBQ0E7RUFBZ0M7QXRGMGxkaEM7O0FzRnpsZEE7RUFBZ0M7QXRGNmxkaEM7O0FzRjVsZEE7RUFBZ0M7QXRGZ21kaEM7O0FzRi9sZEE7RUFBZ0M7QXRGbW1kaEM7O0FzRmxtZEE7RUFBZ0M7QXRGc21kaEM7O0FzRnJtZEE7RUFBZ0M7QXRGeW1kaEM7O0FzRnhtZEE7RUFBZ0M7QXRGNG1kaEM7O0FzRjNtZEE7RUFBZ0M7QXRGK21kaEM7O0FzRjltZEE7RUFBZ0M7QXRGa25kaEM7O0FzRmpuZEE7RUFBZ0M7QXRGcW5kaEM7O0FzRm5uZEE7QUFDQTtFQUNJO0lBQ0k7SUFDQTtFdEZzbmROO0VzRnBuZEU7SUFDSTtJQUNBO0V0RnNuZE47QUFDRjtBc0ZwbmRBO0VBQ0k7QXRGc25kSjs7QXNGbm5kQTtBQUNBO0VBQ0k7SUFBVztFdEZ1bmRiO0VzRnRuZEU7SUFBTTtFdEZ5bmRSO0FBQ0Y7QXNGeG5kQTtFQUNJO0VBQ0E7QXRGMG5kSjs7QXNGeG5kQTtFQUNJO0VBQ0E7QXRGMm5kSjs7QXNGeG5kQTtBQUNBO0VBQ0k7SUFBTztJQUFZO0V0RjZuZHJCO0VzRjVuZEU7SUFBTztJQUFZO0V0RmdvZHJCO0FBQ0Y7QXNGL25kQTtFQUNJO0lBQU87SUFBWTtFdEZtb2RyQjtFc0Zsb2RFO0lBQU87SUFBWTtFdEZzb2RyQjtBQUNGO0FzRnJvZEE7RUFDSTtBdEZ1b2RKOztBc0Zyb2RBO0VBQ0k7QXRGd29kSjs7QXNGcm9kQTs7OERBQUE7QUFJQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXRGdW9kSjs7QXNGcm9kQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs0REFBQTtFQUVBO0F0RndvZEo7O0FzRnRvZEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RnlvZEo7O0FzRnZvZEE7RUFDSTtFQUNBO0VBQ0E7QXRGMG9kSjs7QXNGeG9kQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F0RjJvZEo7O0FzRnpvZEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGNG9kSjs7QXNGMW9kQTtFQUNJO0VBQ0E7QXRGNm9kSjs7QXNGM29kQTtFQUNJO0F0RjhvZEo7O0FzRjVvZEE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGK29kSjs7QXNGN29kQTs7RUFDa0M7QXRGaXBkbEM7O0FzRi9vZEE7bUVBQUE7QUFFQTtFQUFpRDtFQUFxQjtBdEZvcGR0RTs7QXNGbnBkQTtFQUFpRDtFQUF1RDtBdEZ3cGR4Rzs7QXNGdnBkQTtFQUFpRDtFQUF1RDtBdEY0cGR4Rzs7QXNGM3BkQTtFQUFpRDtFQUF1RDtBdEZncWR4Rzs7QXNGL3BkQTtFQUFpRDtFQUFxQjtBdEZvcWR0RTs7QXNGbHFkQTtBQUNBO0VBQ0k7QXRGcXFkSjs7QXNGbnFkQTtFQUNJO0F0RnNxZEo7O0FzRnBxZEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEZ1cWRKOztBc0ZycWRBO0VBQ0k7RUFDQTtBdEZ3cWRKOztBc0Z0cWRBO0VBQ0k7RUFDQTtBdEZ5cWRKOztBc0Z2cWRBO0VBQ0k7QXRGMHFkSjs7QXNGeHFkQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F0RjJxZEo7O0FzRnpxZEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGNHFkSjs7QXNGMXFkQTtFQUNJO0VBQ0E7QXRGNnFkSjs7QXNGM3FkQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEY4cWRKOztBc0Y1cWRBO0VBQ0k7RUFDQTtFQUNBO0F0RitxZEo7O0FzRjdxZEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEZncmRKOztBc0Y5cWRBO0VBQ0k7RUFDQTtBdEZpcmRKOztBc0YvcWRBO0VBQ0k7QXRGa3JkSjs7QXNGaHJkQTtFQUNJO0F0Rm1yZEo7O0FzRmpyZEE7RUFDSTtFQUNBO0F0Rm9yZEo7O0FzRmpyZEE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEZvcmRKOztBc0ZscmRBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RnFyZEo7O0FzRm5yZEE7RUFDSTtFQUNBO0F0RnNyZEo7O0FzRnByZEE7RUFDSTtFQUNBO0VBQ0E7QXRGdXJkSjs7QXNGcnJkQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEZ3cmRKOztBc0Z0cmRBO0VBQ0k7QXRGeXJkSjs7QXNGdnJkQTtFQUNJO0VBQ0E7RUFDQTtBdEYwcmRKOztBc0Z4cmRBO0VBQ0k7RUFDQTtBdEYycmRKOztBc0Z4cmRBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7QXRGMnJkSjs7QXNGenJkQTtFQUNJO0VBQ0E7RUFDQTtBdEY0cmRKOztBc0YxcmRBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEY2cmRKOztBc0YzcmRBO0VBQ0k7RUFDQTtFQUNBO0F0RjhyZEo7O0FzRjNyZEE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEY4cmRKOztBc0Y1cmRBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEYrcmRKOztBc0Y3cmRBO0VBQ0k7RUFDQTtBdEZnc2RKOztBc0Y5cmRBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXRGaXNkSjs7QXNGL3JkQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RmtzZEo7O0FzRi9yZEE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGa3NkSjs7QXNGaHNkQTtFQUNJO0VBQ0E7QXRGbXNkSjs7QXNGanNkQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGb3NkSjs7QXNGbHNkQTtFQUNJO0VBQ0E7QXRGcXNkSjs7QXNGbnNkQTtFQUNJO0VBQ0E7RUFDQTtBdEZzc2RKOztBc0Zwc2RBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEZ1c2RKOztBc0Zwc2RBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7QXRGdXNkSjs7QXNGcnNkQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RndzZEo7O0FzRnRzZEE7RUFDSTtFQUNBO0F0RnlzZEo7O0FzRnZzZEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdEYwc2RKOztBc0Z4c2RBO0VBQ0k7QXRGMnNkSjs7QXNGenNkQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGNHNkSjs7QXNGMXNkQTtFQUNJO0F0RjZzZEo7O0FzRjNzZEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdEY4c2RKOztBc0Y1c2RBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEYrc2RKOztBc0Y1c2RBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RitzZEo7O0FzRjdzZEE7RUFDSTtFQUNBO0VBQ0E7QXRGZ3RkSjs7QXNGOXNkQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGaXRkSjs7QXNGL3NkQTs7RUFFSTtFQUNBO0F0Rmt0ZEo7O0FzRmh0ZEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdEZtdGRKOztBc0ZqdGRBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXRGb3RkSjs7QXNGanRkQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEZvdGRKOztBc0ZsdGRBO0VBQ0k7RUFDQTtBdEZxdGRKOztBc0ZudGRBO0VBQ0k7RUFDQTtFQUNBO0F0RnN0ZEo7O0FzRnB0ZEE7RUFDSTtFQUNBO0F0RnV0ZEo7O0FzRnB0ZEE7QUFDQTtFQUNJO0lBQ0k7SUFDQTtJQUNBO0V0RnV0ZE47RXNGcnRkRTtJQUNJO0lBQ0E7SUFDQTtFdEZ1dGROO0VzRnJ0ZEU7SUFDSTtFdEZ1dGROO0FBQ0Y7QXNGcHRkQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGc3RkSjs7QXNGcHRkQTtFQUNJO0VBQ0E7RUFDQTtBdEZ1dGRKOztBc0ZwdGRBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEZ1dGRKOztBc0ZydGRBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGd3RkSjs7QXNGdHRkQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGeXRkSjs7QXNGdHRkQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEZ5dGRKOztBc0Z2dGRBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGMHRkSjs7QXNGeHRkQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGMnRkSjs7QXNGenRkQTtFQUNJO0VBQ0E7QXRGNHRkSjs7QXNGenRkQTs7OERBQUE7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F0RjR0ZEo7O0FzRjF0ZEE7RUFDSTtFQUNBO0VBQ0E7QXRGNnRkSjs7QXNGM3RkQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGOHRkSjs7QXNGNXRkQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0Rit0ZEo7O0FzRjd0ZEE7RUFDSTtFQUNBO0VBQ0E7QXRGZ3VkSjs7QXNGOXRkQTtFQUNJO0VBQ0E7QXRGaXVkSjs7QXNGL3RkQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEZrdWRKOztBc0ZodWRBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEZtdWRKOztBc0ZodWRBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGbXVkSjs7QXNGanVkQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F0Rm91ZEo7O0FzRmx1ZEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdEZxdWRKOztBc0ZudWRBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RnN1ZEo7O0FzRnB1ZEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGdXVkSjs7QXNGcnVkQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F0Rnd1ZEo7O0FzRnR1ZEE7RUFDSTtFQUNBO0F0Rnl1ZEo7O0FzRnZ1ZEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdEYwdWRKOztBc0Z4dWRBO0VBQ0k7RUFDQTtFQUNBO0F0RjJ1ZEo7O0FzRnh1ZEE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtBdEYydWRKOztBc0Z6dWRBO0VBQ0k7QXRGNHVkSjs7QXNGMXVkQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RjZ1ZEo7O0FzRjN1ZEE7RUFDSTtFQUNBO0F0Rjh1ZEo7O0FzRjV1ZEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0Rit1ZEo7O0FzRjd1ZEE7RUFDSTtBdEZndmRKOztBc0Y5dWRBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGaXZkSjs7QXNGL3VkQTtFQUNJO0F0Rmt2ZEo7O0FzRmh2ZEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGbXZkSjs7QXNGanZkQTtFQUNJO0VBQ0E7RUFDQTtBdEZvdmRKOztBc0ZsdmRBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGcXZkSjs7QXNGbnZkQTtFQUNJO0F0RnN2ZEo7O0FzRnB2ZEE7RUFDSTtFQUNBO0F0RnV2ZEo7O0FzRnB2ZEE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEZ1dmRKOztBc0ZydmRBO0VBQ0k7QXRGd3ZkSjs7QXNGdHZkQTtFQUNJO0F0Rnl2ZEo7O0FzRnZ2ZEE7RUFDSTtBdEYwdmRKOztBc0Z4dmRBO0FBQ0E7RUFDSTtFQUNBO0F0RjJ2ZEo7O0FzRnp2ZEE7RUFDSTtBdEY0dmRKOztBc0YxdmRBO0VBQ0k7RUFDQTtBdEY2dmRKOztBc0YxdmRBO0FBQ0E7RUFDSTtFQUNBO0F0RjZ2ZEo7O0FzRjN2ZEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEY4dmRKOztBc0Y1dmRBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXRGK3ZkSjs7QXNGN3ZkQTtFQUNJO0VBQ0E7RUFDQTtBdEZnd2RKOztBc0Y3dmRBO0FBQ0E7RUFDSTtBdEZnd2RKOztBc0Y5dmRBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0Rml3ZEo7O0FzRi92ZEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEZrd2RKOztBc0Zod2RBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXRGbXdkSjs7QXNGandkQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGb3dkSjs7QXNGbHdkQTtFQUNJO0lBQUs7RXRGc3dkUDtBQUNGO0FzRnB3ZEE7OzhEQUFBO0FBR0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RnN3ZEo7O0FzRnB3ZEE7RUFDSTtFQUNBO0F0RnV3ZEo7O0FzRnJ3ZEE7RUFDSTtBdEZ3d2RKOztBc0Z0d2RBO0VBQ0k7QXRGeXdkSjs7QXNGdndkQTtFQUNJO0F0RjB3ZEo7O0FzRnh3ZEE7RUFDSTtBdEYyd2RKOztBc0Z6d2RBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RjR3ZEo7O0FzRjF3ZEE7RUFDSTtFQUNBO0F0RjZ3ZEo7O0FzRjN3ZEE7QUFDQTtFQUNJO0F0Rjh3ZEo7O0FzRjV3ZEE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F0Rit3ZEo7O0FzRjd3ZEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0Rmd4ZEo7O0FzRjd3ZEE7OzhEQUFBO0FBR0E7RUFDSTtBdEZneGRKOztBc0Y5d2RBO0VBQ0k7RUFDQTtBdEZpeGRKOztBc0Yvd2RBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEZreGRKOztBc0ZoeGRBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEZteGRKOztBc0ZqeGRBO0VBQ0k7QXRGb3hkSjs7QXNGanhkQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEZveGRKOztBc0ZqeGRBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdEZveGRKOztBc0ZseGRBO0VBQ0k7RUFDQTtFQUNBO0F0RnF4ZEo7O0FzRmx4ZEE7QUFDQTtFQUNJO0F0RnF4ZEo7O0FzRm54ZEE7RUFDSTtBdEZzeGRKOztBc0ZweGRBO0VBQ0k7QXRGdXhkSjs7QXNGcHhkQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEZ1eGRKOztBc0ZyeGRBO0VBQ0k7RUFDQTtBdEZ3eGRKOztBc0ZyeGRBO0FBQ0E7RUFDSTtJQUNJO0V0Rnd4ZE47RXNGdHhkRTtJQUNJO0lBQ0E7SUFDQTtFdEZ3eGROO0VzRnR4ZEU7SUFDSTtFdEZ3eGROO0VzRnR4ZEU7SUFDSTtFdEZ3eGROO0FBQ0Y7QXNGcnhkQTs7OERBQUE7QUFJQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RnN4ZEo7O0FzRnB4ZEE7RUFDSTtBdEZ1eGRKOztBc0ZyeGRBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0Rnd4ZEo7O0FzRnJ4ZEE7QUFDQTtFQUNJO0VBQ0E7QXRGd3hkSjs7QXNGcnhkQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEZ3eGRKOztBc0Z0eGRBO0VBQ0k7QXRGeXhkSjs7QXNGdnhkQTtFQUNJO0VBQ0E7RUFDQTtBdEYweGRKOztBc0Z4eGRBO0VBQ0k7RUFDQTtFQUNBO0F0RjJ4ZEo7O0FzRnp4ZEE7RUFDSTtFQUNBO0F0RjR4ZEo7O0F1RngxaUJBO0VBQ0k7QXZGMjFpQko7O0F1RnYxaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RjAxaUJKO0F1RngxaUJJOztFQUVJO0VBQ0E7RUFDQTtBdkYwMWlCUjtBdUZ2MWlCSTtFQUNJO0VBQ0E7QXZGeTFpQlI7O0F1RnAxaUJBO0VBQ0k7RUFDQTtBdkZ1MWlCSjs7QXVGcDFpQkE7RUFDSTtBdkZ1MWlCSjs7QXVGajFpQkE7RUFHSTtFQU9BO0VBQ0E7RUFDQTtBdkY0MGlCSjtBdUYxMGlCSTtFQUNJO0F2RjQwaUJSO0F1RjEwaUJRO0VBQVc7QXZGNjBpQm5CO0F1RjMwaUJRO0VBQ0ksaUZBQ0k7RUFFSjtFQUNBO0F2RjIwaUJaO0F1RnowaUJZO0VBQ0ksaUVBQ0k7RUFFSjtBdkZ5MGlCaEI7QXVGcDBpQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RnMwaUJaO0F1Rm4waUJRO0VBQ0k7RUFDQTtBdkZxMGlCWjs7QXVGN3ppQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGZzBpQko7QXVGOXppQkk7RUFDSTtFQUNBO0F2RmcwaUJSOztBdUY1emlCQTtFQUNJO0VBQ0E7QXZGK3ppQko7O0F1RjN6aUJBO0VBQ0k7QXZGOHppQko7O0F1RjF6aUJBO0VBQ0k7RUFDQTtFQUNBO0F2RjZ6aUJKO0F1RjN6aUJJO0VBQ0k7RUFDQTtBdkY2emlCUjtBdUYzemlCUTtFQUNJO0F2RjZ6aUJaO0F1RjF6aUJRO0VBQ0k7QXZGNHppQlo7O0F1RnB6aUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXZGdXppQko7O0F1RnB6aUJBO0VBQ0k7SUFBVztFdkZ3emlCYjtFdUZ2emlCRTtJQUFNO0V2RjB6aUJSO0FBQ0Y7QXVGbnppQkE7RUFDSTtBdkZxemlCSjs7QXVGanppQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGb3ppQko7QXVGbHppQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZvemlCUjtBdUZoemlCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2Rmt6aUJSOztBdUY5eWlCQTtFQUNJO0VBQ0E7QXZGaXppQko7O0F1Ri95aUJBO0VBQ0k7RUFDQTtBdkZremlCSjs7QXVGL3lpQkE7RUFDSTtFQUNBO0VBQ0E7QXZGa3ppQko7O0F1Rmh6aUJBO0VBQ0k7RUFDQTtBdkZtemlCSjs7QXVGL3lpQkE7RUFDSTtFQUNBO0F2Rmt6aUJKO0F1Rmh6aUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZremlCUjs7QXVGOXlpQkE7RUFDSTtBdkZpemlCSjs7QXVGOXlpQkE7RUFDSTtBdkZpemlCSjs7QXVGN3lpQkE7RUFDSTtFQUNBO0F2Rmd6aUJKO0F1Rjl5aUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZnemlCUjs7QXVGNXlpQkE7RUFDSTtBdkYreWlCSjs7QXVGNXlpQkE7RUFDSTtBdkYreWlCSjs7QXVGenlpQkE7RUFDSTtBdkY0eWlCSjs7QXVGenlpQkE7RUFDSTtJQUFXO0V2RjZ5aUJiO0V1RjV5aUJFO0lBQVc7RXZGK3lpQmI7QUFDRjtBdUZ6eWlCSTtFQUNJO0F2RjJ5aUJSO0F1Rmx5aUJZO0VBQ0ksaUZBQ0k7QXZGbXlpQnBCO0F1Rmh5aUJnQjtFQUNJLGtFQUNJO0F2Rml5aUJ4QjtBdUY1eGlCWTtFQUNJO0VBQ0E7QXZGOHhpQmhCO0F1Rnp4aUJJO0VBQ0k7RUFDQTtBdkYyeGlCUjtBdUZ4eGlCSTtFQUNJO0F2RjB4aUJSO0F1RnZ4aUJJOztFQUVJO0F2Rnl4aUJSOztBd0Zyb2pCQTs7OERBQUE7QUFHQTtFQUFlO0F4RnlvakJmOztBd0Z2b2pCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEYwb2pCSjs7QXdGeG9qQkE7QUFDQTtFQUNJO0F4RjJvakJKOztBd0Z6b2pCQTtFQUNJO0F4RjRvakJKOztBd0Z6b2pCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEY0b2pCSjs7QXdGMW9qQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBeEY2b2pCSjs7QXdGM29qQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBeEY4b2pCSjs7QXdGM29qQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEY4b2pCSjs7QXdGM29qQkE7RUFDSTtFQUNBO0VBQ0E7QXhGOG9qQko7O0F3RjVvakJBO0VBQ0k7QXhGK29qQko7O0F3RjVvakJBOzs4REFBQTtBQUdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhGK29qQko7O0F3RjVvakJBO0VBQ0k7SUFBTztJQUFZO0V4RmlwakJyQjtFd0ZocGpCRTtJQUFPO0lBQVk7RXhGb3BqQnJCO0FBQ0Y7QXdGbHBqQkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F4Rm9wakJKOztBd0ZscGpCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhGcXBqQko7O0F3Rm5wakJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXhGc3BqQko7O0F3RnBwakJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXhGdXBqQko7O0F3RnJwakJBO0VBQ0k7RUFDQTtBeEZ3cGpCSjs7QXdGdHBqQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBeEZ5cGpCSjs7QXdGdnBqQkE7RUFDSTtFQUNBO0VBQ0E7QXhGMHBqQko7O0F3RnhwakJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4RjJwakJKOztBd0Z4cGpCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0F4RjJwakJKOztBd0Z4cGpCQTtBQUNBO0VBQ0k7QXhGMnBqQko7O0F3RnpwakJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhGNHBqQko7O0F3RjFwakJBO0VBQ0k7RUFDQTtBeEY2cGpCSjs7QXdGM3BqQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBeEY4cGpCSjs7QXdGNXBqQkE7RUFDSTtBeEYrcGpCSjs7QXdGNXBqQkE7QUFDQTtFQUNJO0F4RitwakJKOztBd0Y3cGpCQTtFQUNJO0VBQ0E7QXhGZ3FqQko7O0F3RjlwakJBO0VBQ0k7QXhGaXFqQko7O0F3RjlwakJBO0FBQ0E7RUFDSTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXhGaXFqQk47QUFDRjtBeUZwMmpCQTs7OERBQUE7QUFJQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0F6Rm8yakJKO0F5RmwyakJJO0VBQ0k7RUFDQTtFQUNBO0F6Rm8yakJSOztBeUZoMmpCQTtFQUNJO0lBQU87SUFBWTtFekZxMmpCckI7RXlGcDJqQkU7SUFBTztJQUFZO0V6RncyakJyQjtBQUNGO0F5RnQyakJBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBekZ3MmpCSjs7QXlGcjJqQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6RncyakJKOztBeUZyMmpCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekZ3MmpCSjs7QXlGcjJqQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpGdzJqQko7O0F5RnIyakJBO0VBQ0k7RUFDQTtBekZ3MmpCSjs7QXlGcjJqQkE7RUFDSTtFQUNBO0VBQ0E7QXpGdzJqQko7O0F5RnIyakJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXpGdzJqQko7O0F5RnIyakJBO0VBQ0k7QXpGdzJqQko7O0F5RnIyakJBO0VBQ0k7QXpGdzJqQko7O0F5RnIyakJBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7QXpGdzJqQko7O0F5RnIyakJBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBekZ3MmpCSjs7QXlGcjJqQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0F6RnUyakJKO0F5RnQyakJJO0VBQ0k7QXpGdzJqQlI7O0F5RnAyakJBO0VBQ0k7RUFDQTtFQUNBO0F6RnUyakJKOztBeUZwMmpCQTtFQUNJO0VBQ0E7RUFDQTtBekZ1MmpCSjs7QXlGcDJqQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekZ1MmpCSjtBeUZyMmpCSTtFQUNJO0F6RnUyakJSOztBeUZuMmpCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekZzMmpCSjtBeUZwMmpCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpGczJqQlI7O0F5RmwyakJBO0VBQ0k7RUFDQTtFQUNBO0F6RnEyakJKOztBeUZsMmpCQTtBQUNBO0VBQ0k7QXpGcTJqQko7O0F5RmwyakJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXpGcTJqQko7QXlGbjJqQkk7RUFDSTtBekZxMmpCUjs7QXlGajJqQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6Rm8yakJKOztBeUZqMmpCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpGbzJqQko7O0F5RmoyakJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekZvMmpCSjtBeUZsMmpCSTtFQUFJO0F6RnEyakJSO0F5Rm4yakJJO0VBQ0k7QXpGcTJqQlI7O0F5RmoyakJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekZvMmpCSjs7QXlGajJqQkE7QUFDQTtFQUNJO0VBQ0E7QXpGbzJqQko7O0F5RmoyakJBO0VBQ0k7RUFDQTtBekZvMmpCSjs7QXlGajJqQkE7RUFBb0I7QXpGcTJqQnBCOztBeUZwMmpCQTtFQUFvQjtBekZ3MmpCcEI7O0F5RnYyakJBO0VBQW9CO0F6RjIyakJwQjs7QXlGMTJqQkE7RUFBb0I7QXpGODJqQnBCOztBeUY3MmpCQTtFQUFvQjtBekZpM2pCcEI7O0F5RmgzakJBO0VBQXNCO0F6Rm8zakJ0Qjs7QXlGbDNqQkE7RUFDSTtJQUFPO0V6RnMzakJUO0V5RnIzakJFO0lBQU87RXpGdzNqQlQ7QUFDRjtBeUZ2M2pCQTtFQUNJO0lBQVc7RXpGMDNqQmI7RXlGejNqQkU7SUFBVztFekY0M2pCYjtBQUNGO0F5RjMzakJBO0VBQ0k7SUFBVztFekY4M2pCYjtFeUY3M2pCRTtJQUFXO0V6Rmc0akJiO0FBQ0Y7QXlGLzNqQkE7RUFDSTtJQUFXO0V6Rms0akJiO0V5Rmo0akJFO0lBQVc7RXpGbzRqQmI7QUFDRjtBeUZuNGpCQTtFQUNJO0lBQWdCO0V6RnM0akJsQjtFeUZyNGpCRTtJQUFnQjtFekZ3NGpCbEI7RXlGdjRqQkU7SUFBZ0I7RXpGMDRqQmxCO0FBQ0Y7QXlGejRqQkE7RUFDSTtJQUFXO0V6RjQ0akJiO0V5RjM0akJFO0lBQVc7RXpGODRqQmI7QUFDRjtBeUY1NGpCQTs7OERBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDQTtBekY2NGpCSjs7QXlGMTRqQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpGNjRqQko7QXlGMzRqQkk7RUFDSTtFQUNBO0F6RjY0akJSO0F5RjE0akJJO0VBQ0k7QXpGNDRqQlI7O0F5Rng0akJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXpGMjRqQko7O0F5Rng0akJBO0FBQ0E7RUFDSTtBekYyNGpCSjs7QXlGeDRqQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpGMjRqQko7QXlGejRqQkk7RUFBZTtBekY0NGpCbkI7O0F5Rno0akJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXpGNDRqQko7O0F5Rno0akJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXpGNDRqQko7O0F5Rno0akJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXpGNDRqQko7QXlGMTRqQkk7RUFBSTtFQUFtQjtBekY4NGpCM0I7O0F5RjM0akJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekY4NGpCSjs7QXlGMzRqQkE7RUFDSTtBekY4NGpCSjs7QXlGMzRqQkE7RUFDSTtFQUNBO0F6Rjg0akJKOztBMEYvdmtCQTs7Ozs4REFBQTtBQU1BO0VBRUk7RUFLQTtFQUtBO0VBS0E7RUFLQTtFQUtBO0ExRjR1a0JKO0EwRnB3a0JJO0VBQ0k7QTFGc3drQlI7QTBGbHdrQkk7RUFDSTtBMUZvd2tCUjtBMEZod2tCSTtFQUNJO0ExRmt3a0JSO0EwRjl2a0JJO0VBQ0k7QTFGZ3drQlI7QTBGNXZrQkk7RUFDSTtBMUY4dmtCUjtBMEYxdmtCSTtFQUNJO0ExRjR2a0JSOztBMEZ4dmtCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFGMnZrQko7QTBGenZrQkk7RUFDSTtFQUNBO0ExRjJ2a0JSOztBMEZ2dmtCQTtFQUNJO0lBQU87RTFGMnZrQlQ7RTBGMXZrQkU7SUFBTztFMUY2dmtCVDtBQUNGO0EyRnZ6a0JBO0FBQ0E7RUFDSTtBM0Z5emtCSjs7QTJGdHprQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0Z5emtCSjs7QTJGdHprQkE7RUFDSTtFQUNBO0EzRnl6a0JKOztBMkZ0emtCQTtFQUNJO0VBQ0E7RUFDQTtBM0Z5emtCSjs7QTJGdHprQkE7RUFDSTtFQUNBO0VBQ0E7QTNGeXprQko7O0EyRnR6a0JBO0VBQ0k7RUFDQTtFQUNBO0EzRnl6a0JKOztBMkZ0emtCQTtFQUNJO0VBQ0E7RUFDQTtBM0Z5emtCSjs7QTJGdHprQkE7RUFDSTtFQUNBO0EzRnl6a0JKOztBMkZ0emtCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0EzRnl6a0JKOztBMkZ0emtCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0Z5emtCSjs7QTJGdHprQkE7RUFDSTtFQUNBO0EzRnl6a0JKOztBMkZ0emtCQTtFQUNJO0VBQ0E7RUFDQTtBM0Z5emtCSjs7QTJGdHprQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzRnl6a0JKOztBMkZ0emtCQTtFQUNJO0EzRnl6a0JKOztBMkZ0emtCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0EzRnl6a0JKOztBMkZ0emtCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0EzRnl6a0JKOztBMkZ0emtCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzRnl6a0JKOztBMkZ0emtCQTtBQUNBO0VBQ0k7SUFDSTtJQUNBO0UzRnl6a0JOO0UyRnZ6a0JFO0lBQ0k7SUFDQTtFM0Z5emtCTjtBQUNGO0EyRnR6a0JBO0VBQ0k7QTNGd3prQko7O0E0RjM3a0JBOzs7eUVBQUE7QUFLQTs7eUVBQUE7QUFHQTs7Ozs7OztDQUFBO0FBU0E7O3lFQUFBO0FBSUE7QUFFQTtBQUNBO0VBQ0k7RUFDQTtBNUYwN2tCSjs7QTRGdjdrQkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtBNUYwN2tCSjs7QTRGdjdrQkE7RUFDSTtBNUYwN2tCSjs7QTRGdjdrQkE7RUFDSTtBNUYwN2tCSjs7QTRGdjdrQkE7O3lFQUFBO0FBSUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1Rnk3a0JKOztBNEZ0N2tCQTtFQUNJO0E1Rnk3a0JKOztBNEZ0N2tCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVGeTdrQko7O0E0RnQ3a0JBOzt5RUFBQTtBQUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1Rnc3a0JKOztBNEZyN2tCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVGdzdrQko7O0E0RnI3a0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTVGdzdrQko7O0E0RnI3a0JBO0VBQ0k7RUFDQTtBNUZ3N2tCSjs7QTRGcjdrQkE7RUFDSTtBNUZ3N2tCSjs7QTRGcjdrQkE7RUFDSTtBNUZ3N2tCSjs7QTRGcjdrQkE7O3lFQUFBO0FBSUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBNUZ1N2tCSjs7QTRGcDdrQkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1RnU3a0JKOztBNEZwN2tCQTs7eUVBQUE7QUFJQTtFQUNJO0E1RnM3a0JKOztBNEZuN2tCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUZzN2tCSjs7QTRGbjdrQkE7RUFDSTtFQUNBO0E1RnM3a0JKOztBNEZuN2tCQTtFQUNJO0VBQ0E7RUFDQTtBNUZzN2tCSjs7QTRGbjdrQkE7QUFDQTtFQUNJO0E1RnM3a0JKOztBNEZuN2tCQTs7eUVBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E1RnE3a0JKOztBNEZsN2tCQTtFQUNJO0VBQ0E7QTVGcTdrQko7O0E0Rmw3a0JBOzt5RUFBQTtBQUlBO0FBQ0E7OztFQUdJO0VBQ0E7QTVGbzdrQko7O0E0Rmo3a0JBOzt5RUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBO0U1Rm03a0JOO0U0Rmg3a0JFO0lBQ0k7SUFDQTtFNUZrN2tCTjtBQUNGO0E0Ri82a0JBOzt5RUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBO0U1Rmc3a0JOO0U0Rjk2a0JFO0lBQ0k7SUFDQTtFNUZnN2tCTjtBQUNGO0E0Rjc2a0JBO0VBQ0k7QTVGKzZrQko7O0E0RjU2a0JBOzt5RUFBQTtBQUlBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVGODZrQko7O0E0RjM2a0JBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBNUY4NmtCSjs7QTRGMzZrQkE7QUFDQTtFQUNJO0VBQ0E7QTVGODZrQko7O0E0RjM2a0JBOzt5RUFBQTtBQUlBO0VBQ0k7OztJQUdJO0U1RjY2a0JOO0U0RjE2a0JFO0lBQ0k7SUFDQTtFNUY0NmtCTjtBQUNGO0E2RnJzbEJBOzs7O2lFQUFBO0FBTUE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0Zzc2xCSjs7QTZGbnNsQkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtBN0Zzc2xCSjtBNkZwc2xCSTtFQUFVO0E3RnVzbEJkOztBNkZwc2xCQTtFQUNJO0VBQ0E7QTdGdXNsQko7QTZGcnNsQkk7RUFDSTtFQUNBO0E3RnVzbEJSOztBNkZuc2xCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0E3RnNzbEJKO0E2RnBzbEJJO0VBQUk7QTdGdXNsQlI7O0E2RnBzbEJBO0VBQTZCO0VBQWlDO0E3RnlzbEI5RDs7QTZGeHNsQkE7RUFBOEI7RUFBZ0M7QTdGNnNsQjlEOztBNkY1c2xCQTtFQUE2QjtFQUFpQztBN0ZpdGxCOUQ7O0E2Rmh0bEJBO0VBQTZCO0VBQWlDO0E3RnF0bEI5RDs7QTZGbnRsQkE7RUFBeUI7RUFBaUM7QTdGd3RsQjFEOztBNkZ2dGxCQTtFQUF5QjtFQUFpQztBN0Y0dGxCMUQ7O0E2RjN0bEJBO0VBQXlCO0VBQWlDO0E3Rmd1bEIxRDs7QTZGL3RsQkE7RUFBeUI7RUFBaUM7QTdGb3VsQjFEOztBNkZsdWxCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0ZxdWxCSjs7QTZGbHVsQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGcXVsQko7O0E2Rmx1bEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGcXVsQko7O0E2Rmx1bEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTdGcXVsQko7O0E2Rmx1bEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RnF1bEJKOztBNkZsdWxCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGcXVsQko7O0E2Rmx1bEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGcXVsQko7QTZGbnVsQkk7RUFDSTtFQUNBO0E3RnF1bEJSO0E2Rmx1bEJJO0VBQ0k7QTdGb3VsQlI7QTZGanVsQkk7RUFDSTtBN0ZtdWxCUjs7QTZGL3RsQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGa3VsQko7QTZGaHVsQkk7RUFBVTtBN0ZtdWxCZDs7QTZGaHVsQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGbXVsQko7O0E2Ri90bEJJO0VBQVk7RUFBZ0I7QTdGb3VsQmhDOztBNkZqdWxCQTtBQUNBO0VBQ0k7QTdGb3VsQko7O0E2Rmp1bEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3Rm91bEJKOztBNkZqdWxCQTtFQUNJO0VBQ0E7RUFDQTtBN0ZvdWxCSjs7QTZGanVsQkE7RUFDSTtFQUNBO0VBQ0E7QTdGb3VsQko7O0E2Rmp1bEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGb3VsQko7QTZGbHVsQkk7RUFDSTtFQUNBO0E3Rm91bEJSO0E2Rmp1bEJJO0VBQ0k7RUFDQTtFQUNBO0E3Rm11bEJSOztBNkYvdGxCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3Rmt1bEJKO0E2Rmh1bEJJO0VBQ0k7RUFDQTtBN0ZrdWxCUjs7QTZGOXRsQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGaXVsQko7O0E2Rjl0bEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGaXVsQko7O0E2Rjl0bEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGaXVsQko7QTZGL3RsQkk7RUFDSTtFQUNBO0E3Rml1bEJSO0E2Ri90bEJRO0VBQTZCO0E3Rmt1bEJyQztBNkYvdGxCSTtFQUNJO0E3Rml1bEJSO0E2Rjl0bEJJO0VBQ0k7RUFDQTtBN0ZndWxCUjs7QTZGNXRsQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0YrdGxCSjtBNkY3dGxCSTtFQUFJO0E3Rmd1bEJSO0E2Rjl0bEJJO0VBQ0k7RUFDQTtFQUNBO0E3Rmd1bEJSOztBNkY1dGxCQTtFQUNJO0VBQ0E7RUFDQTtBN0YrdGxCSjtBNkY3dGxCSTtFQUFXO0E3Rmd1bEJmOztBNkY3dGxCQTtFQUNJO0VBQ0E7RUFDQTtBN0ZndWxCSjs7QTZGN3RsQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGZ3VsQko7QTZGOXRsQkk7RUFBVTtBN0ZpdWxCZDs7QTZGOXRsQkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0ZpdWxCSjs7QTZGOXRsQkE7RUFDSTtFQUNBO0VBQ0E7QTdGaXVsQko7O0E2Rjl0bEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGaXVsQko7O0E2Rjl0bEJBO0VBQ0k7QTdGaXVsQko7O0E2Rjl0bEJBO0VBQ0k7RUFDQTtFQUNBO0E3Rml1bEJKOztBNkY5dGxCQTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0ZndWxCSjtBNkY5dGxCSTtFQUNJO0E3Rmd1bEJSO0E2Rjl0bEJRO0VBQW1CO0E3Rml1bEIzQjtBNkZodWxCUTtFQUFlO0E3Rm11bEJ2QjtBNkZodWxCSTtFQUFVO0E3Rm11bEJkO0E2Rmp1bEJJO0VBQ0k7RUFDQTtBN0ZtdWxCUjs7QTZGL3RsQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBN0ZrdWxCSjtBNkZodWxCSTtFQUFXO0E3Rm11bEJmOztBNkZodWxCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3Rm11bEJKO0E2Rmp1bEJJO0VBQUk7QTdGb3VsQlI7QTZGbHVsQkk7RUFDSTtFQUNBO0VBQ0E7QTdGb3VsQlI7O0E2Rjl0bEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3Rml1bEJKOztBNkY5dGxCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGaXVsQko7QTZGL3RsQkk7RUFBVTtBN0ZrdWxCZDtBNkYvdGxCSTtFQUNJO0VBQ0E7RUFDQTtBN0ZpdWxCUjtBNkYvdGxCSTtFQUNJO0VBQ0E7RUFDQTtBN0ZpdWxCUjtBNkY5dGxCSTtFQUFTO0E3Rml1bEJiOztBNkY5dGxCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E3Rml1bEJKOztBNkY5dGxCQTtFQUNJO0VBQ0E7RUFDQTtBN0ZpdWxCSjs7QTZGOXRsQkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGaXVsQko7O0E2Rjl0bEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGaXVsQko7QTZGL3RsQkk7RUFDSTtFQUNBO0E3Rml1bEJSO0E2Rjl0bEJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTdGZ3VsQlI7O0E2RjV0bEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0YrdGxCSjs7QTZGNXRsQkE7QUFDQTtFQUNJO0VBQ0E7QTdGK3RsQko7O0E2RjV0bEJBO0VBQ0k7QTdGK3RsQko7O0E2RjV0bEJBO0FBQ0E7RUFDSTtBN0YrdGxCSjs7QTZGNXRsQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGK3RsQko7QTZGN3RsQkk7RUFDSTtBN0YrdGxCUjtBNkY1dGxCSTtFQUNJO0E3Rjh0bEJSO0E2RjN0bEJJO0VBQ0k7RUFDQTtBN0Y2dGxCUjs7QTZGenRsQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RjR0bEJKO0E2RjF0bEJJO0VBQ0k7RUFDQTtBN0Y0dGxCUjs7QTZGeHRsQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RjJ0bEJKOztBNkZ4dGxCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E3RjJ0bEJKOztBNkZ4dGxCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTdGMnRsQko7O0E2Rnh0bEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTdGMnRsQko7QTZGenRsQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0YydGxCUjs7QTZGdnRsQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGMHRsQko7O0E2RnZ0bEJBO0VBQ0k7RUFDQTtFQUNBO0E3RjB0bEJKO0E2Rnp0bEJJO0VBQVU7QTdGNHRsQmQ7O0E2Rnp0bEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RjR0bEJKO0E2RjF0bEJJO0VBQUk7QTdGNnRsQlI7QTZGM3RsQkk7RUFDSTtBN0Y2dGxCUjtBNkYxdGxCSTtFQUNJO0VBQ0E7QTdGNHRsQlI7O0E2Rnh0bEJBO0VBQ0k7RUFDQTtBN0YydGxCSjs7QTZGeHRsQkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtBN0YydGxCSjs7QTZGeHRsQkE7RUFDSTtFQUNBO0E3RjJ0bEJKO0E2Rnp0bEJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RjJ0bEJSO0E2Rnp0bEJRO0VBQ0k7RUFDQTtBN0YydGxCWjtBNkZ4dGxCUTtFQUNJO0VBQ0E7RUFDQTtBN0YwdGxCWjtBNkZ2dGxCUTtFQUFJO0E3RjB0bEJaOztBNkZ0dGxCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0Z5dGxCSjs7QTZGdHRsQkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3Rnl0bEJKOztBNkZ0dGxCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0Z5dGxCSjs7QTZGdHRsQkE7RUFDSTtFQUNBO0VBQ0E7QTdGeXRsQko7O0E2RnR0bEJBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7QTdGeXRsQko7O0E2RnR0bEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGeXRsQko7O0E2RnR0bEJBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0Z5dGxCSjtBNkZ2dGxCSTtFQUFlO0E3RjB0bEJuQjtBNkZ6dGxCSTtFQUFJO0E3RjR0bEJSOztBNkZ6dGxCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0E3RjR0bEJKOztBNkZ6dGxCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGNHRsQko7QTZGMXRsQkk7RUFDSTtFQUNBO0VBQ0E7QTdGNHRsQlI7O0E2Rnh0bEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGMnRsQko7O0E2Rnh0bEJBO0VBQ0k7RUFDQTtBN0YydGxCSjs7QTZGeHRsQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGMnRsQko7O0E2Rnh0bEJBO0VBQ0k7RUFDQTtFQUNBO0E3RjJ0bEJKOztBNkZ4dGxCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0YydGxCSjtBNkZ6dGxCSTtFQUNJO0VBQ0E7RUFDQTtBN0YydGxCUjs7QTZGdnRsQkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGMHRsQko7O0E2RnZ0bEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGMHRsQko7O0E2RnZ0bEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTdGMHRsQko7O0E2RnZ0bEJBO0VBQ0k7RUFDQTtBN0YwdGxCSjs7QTZGdnRsQkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtBN0YwdGxCSjs7QTZGdnRsQkE7QUFDQTtFQUNJO0lBQ0k7RTdGMHRsQk47RTZGeHRsQkU7SUFDSTtFN0YwdGxCTjtFNkZ4dGxCRTtJQUNJO0U3RjB0bEJOO0FBQ0Y7QTZGdnRsQkE7QUFFSTtFQUNJO0E3Rnd0bEJSO0E2RnR0bEJJO0VBQ0k7RUFDQTtBN0Z3dGxCUjtBNkZ0dGxCSTtFQUF3QjtBN0Z5dGxCNUI7QTZGeHRsQkk7RUFBdUI7QTdGMnRsQjNCO0E2RjF0bEJJO0VBQStCO0E3RjZ0bEJuQztBNkY1dGxCSTtFQUNJO0E3Rjh0bEJSO0E2Rjd0bEJRO0VBQ0k7RUFDQTtBN0YrdGxCWjtBNkY1dGxCSTtFQUE0QjtBN0YrdGxCaEM7QTZGOXRsQkk7Ozs7RUFJSTtFQUNBO0E3Rmd1bEJSO0E2Rjl0bEJJO0VBQXNDO0E3Rml1bEIxQztBNkZodWxCSTtFQUFrQztBN0ZtdWxCdEM7QTZGbHVsQkk7RUFBNkI7QTdGcXVsQmpDO0E2RnB1bEJJO0VBQ0k7RUFDQTtBN0ZzdWxCUjtBNkZwdWxCSTtFQUNJO0VBQ0E7QTdGc3VsQlI7O0E2Rmx1bEJBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBN0ZxdWxCSjs7QTZGbHVsQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RnF1bEJKO0E2Rm51bEJJO0VBQVU7QTdGc3VsQmQ7O0E2Rm51bEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTdGc3VsQko7O0E2Rm51bEJBO0VBQ0k7RUFDQTtFQUNBO0E3RnN1bEJKOztBNkZudWxCQTtFQUNJO0VBQ0E7QTdGc3VsQko7O0E2Rm51bEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RnN1bEJKO0E2RnB1bEJJO0VBQWU7QTdGdXVsQm5COztBNkZwdWxCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGdXVsQko7O0E2RnB1bEJBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7QTdGdXVsQko7O0E2RnB1bEJBO0VBQ0k7RUFDQTtFQUNBO0E3RnV1bEJKOztBNkZwdWxCQTtFQUNJO0VBQ0E7QTdGdXVsQko7O0E2RnB1bEJBOztrRUFBQTtBQUlBO0VBQ0k7QTdGc3VsQko7O0E2Rm51bEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0ZzdWxCSjs7QTZGbnVsQkE7RUFDSTtBN0ZzdWxCSjs7QTZGbnVsQkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGc3VsQko7O0E2Rm51bEJBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBN0ZzdWxCSjs7QTZGbnVsQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RnN1bEJKOztBNkZudWxCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0E3RnN1bEJKOztBNkZudWxCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGc3VsQko7QTZGcHVsQkk7RUFDSTtFQUNBO0VBQ0E7QTdGc3VsQlI7O0E2Rmx1bEJBO0FBQ0E7RUFDSTtBN0ZxdWxCSjs7QTZGbHVsQkE7RUFDSTtFQUNBO0VBQ0E7QTdGcXVsQko7QTZGbnVsQkk7RUFBZTtBN0ZzdWxCbkI7QTZGcHVsQkk7RUFDSTtFQUNBO0E3RnN1bEJSO0E2Rm51bEJJO0VBQ0k7QTdGcXVsQlI7O0E2Rmp1bEJBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0ZvdWxCSjtBNkZsdWxCSTtFQUNJO0E3Rm91bEJSO0E2Rmp1bEJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0ZtdWxCUjs7QTZGL3RsQkE7QUFDQTtFQUNJO0VBQ0E7RUFFQTtFQUNBO0E3Rml1bEJKOztBNkZ4dGxCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0YydGxCSjs7QTZGeHRsQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RjJ0bEJKOztBNkZ4dGxCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGMnRsQko7O0E2Rnh0bEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0YydGxCSjs7QTZGeHRsQkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0YydGxCSjtBNkZ6dGxCSTs7RUFFSTtFQUNBO0VBQ0E7QTdGMnRsQlI7QTZGeHRsQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RjB0bEJSOztBNkZ0dGxCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0Z5dGxCSjtBNkZ2dGxCSTtFQUNJO0VBQ0E7QTdGeXRsQlI7QTZGdHRsQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3Rnd0bEJSO0E2RnJ0bEJJO0VBQ0k7RUFDQTtBN0Z1dGxCUjs7QTZGbnRsQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RnN0bEJKOztBNkZudGxCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0ZzdGxCSjtBNkZwdGxCSTtFQUFXO0E3RnV0bEJmO0E2RnR0bEJJO0VBQVc7QTdGeXRsQmY7QTZGdnRsQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3Rnl0bEJSOztBNkZydGxCQTtFQUNJO0E3Rnd0bEJKOztBNkZydGxCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGd3RsQko7O0E2RnJ0bEJBO0VBQ0k7RUFDQTtBN0Z3dGxCSjs7QTZGcnRsQkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3Rnd0bEJKO0E2RnR0bEJJO0VBQ0k7RUFDQTtBN0Z3dGxCUjtBNkZydGxCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E3RnV0bEJSOztBNkZudGxCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGc3RsQko7QTZGcHRsQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0ZzdGxCUjs7QTZGbHRsQkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0ZxdGxCSjs7QTZGbHRsQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBN0ZxdGxCSjs7QTZGbHRsQkE7RUFDSTtFQUNBO0E3RnF0bEJKOztBNkZsdGxCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RnF0bEJKOztBNkZsdGxCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RnF0bEJKOztBNkZsdGxCQTtFQUNJO0E3RnF0bEJKOztBNkZsdGxCQTtFQUNJO0E3RnF0bEJKOztBNkZsdGxCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E3RnF0bEJKOztBNkZsdGxCQTs7a0VBQUE7QUFJQTtBQUNBO0VBQ0k7SUFDSTtFN0ZvdGxCTjtFNkZqdGxCRTtJQUNJO0U3Rm10bEJOO0U2Rmh0bEJFO0lBQ0k7RTdGa3RsQk47RTZGL3NsQkU7SUFDSTtFN0ZpdGxCTjtFNkY5c2xCRTtJQUNJO0U3Rmd0bEJOO0U2RjdzbEJFO0lBQ0k7SUFDQTtJQUNBO0U3RitzbEJOO0U2RjdzbEJNO0lBQ0k7RTdGK3NsQlY7RTZGM3NsQkU7SUFDSTtFN0Y2c2xCTjtBQUNGO0E4Rm5xb0JBO0VBQ0k7QTlGcXFvQko7O0E4Rm5xb0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTlGc3FvQko7O0E4RnBxb0JBOzs7RUFHSTtFQUNBO0E5RnVxb0JKOztBOEZucW9CQTtFQUNJO0VBQ0E7RUFDQTtBOUZzcW9CSjs7QThGbHFvQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RnFxb0JKO0E4Rm5xb0JJO0VBQ0k7RUFDQTtFQUNBO0VBQVE7RUFBUztFQUNqQjtFQUNBO0E5RnVxb0JSOztBOEZucW9CQTtFQUNJO0VBQ0E7QTlGc3FvQko7QThGcnFvQkk7RUFBVTtBOUZ3cW9CZDs7QThGcnFvQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5Rndxb0JKO0E4RnRxb0JJO0VBQUk7QTlGeXFvQlI7QThGdnFvQkk7RUFDSTtBOUZ5cW9CUjtBOEZ0cW9CSTtFQUNJO0VBQ0E7QTlGd3FvQlI7O0E4Rm5xb0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlGc3FvQko7QThGcHFvQkk7RUFDSTtFQUNBO0E5RnNxb0JSOztBOEZscW9CQTtFQUNJO0VBQWE7RUFDYjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RnNxb0JKOztBOEZscW9CQTtFQUNJO0lBQThCO0U5RnNxb0JoQztBQUNGO0E4Rm5xb0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlGcXFvQko7QThGbnFvQkk7RUFDSTtFQUNBO0VBQ0E7QTlGcXFvQlI7QThGbHFvQkk7RUFBVTtBOUZxcW9CZDtBOEZucW9CSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlGcXFvQlI7O0E4Rmpxb0JBO0VBQW1DO0VBQWtDO0E5RnNxb0JyRTs7QThGcnFvQkE7RUFBb0M7RUFBa0M7QTlGMHFvQnRFOztBOEZ6cW9CQTtFQUFtQztFQUFrQztBOUY4cW9CckU7O0E4Rjdxb0JBO0VBQW1DO0VBQW1DO0E5Rmtyb0J0RTs7QThGaHJvQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBOUZtcm9CSjtBOEZqcm9CSTtFQUNJO0VBQVk7RUFDWjtFQUNBO0E5Rm9yb0JSO0E4Rmpyb0JJO0VBQW9DO0E5Rm9yb0J4QztBOEZucm9CSTtFQUFxQztBOUZzcm9CekM7QThGcnJvQkk7RUFBb0M7QTlGd3JvQnhDO0E4RnZyb0JJO0VBQW9DO0E5RjByb0J4Qzs7QThGdHJvQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlGeXJvQko7QThGdnJvQkk7RUFBVztFQUFvQjtFQUFtQjtBOUY0cm9CdEQ7QThGMXJvQkk7RUFBSTtBOUY2cm9CUjs7QThGMXJvQkE7RUFBaUM7RUFBbUM7QTlGK3JvQnBFOztBOEY5cm9CQTtFQUFpQztFQUFrQztBOUZtc29CbkU7O0E4Rmxzb0JBO0VBQWlDO0VBQWtDO0E5RnVzb0JuRTs7QThGdHNvQkE7RUFBaUM7RUFBaUM7QTlGMnNvQmxFOztBOEZ4c29CQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUYyc29CSjs7QThGeHNvQkE7QUFDQTtFQUNJO0E5RjJzb0JKOztBOEZ4c29CQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E5RjJzb0JKOztBOEZ4c29CQTtFQUNJO0VBQ0E7RUFDQTtBOUYyc29CSjs7QThGeHNvQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RjJzb0JKOztBOEZ2c29CQTtFQUNJO0E5RjBzb0JKOztBOEZ2c29CQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RjBzb0JKO0E4Rnhzb0JJO0VBQVU7QTlGMnNvQmQ7O0E4Rnhzb0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlGMnNvQko7O0E4RnZzb0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTlGMHNvQko7O0E4RnZzb0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RjBzb0JKOztBOEZ2c29CQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlGMHNvQko7QThGeHNvQkk7RUFDSTtFQUNBO0VBQ0E7QTlGMHNvQlI7QThGdnNvQkk7RUFDSTtFQUNBO0E5Rnlzb0JSO0E4RnRzb0JJO0VBQ0k7QTlGd3NvQlI7QThGdnNvQlE7RUFBVTtFQUF1QjtBOUYyc29CekM7QThGeHNvQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBOUYwc29CUjtBOEZ6c29CUTtFQUFXO0E5RjRzb0JuQjs7QThGeHNvQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RjJzb0JKO0E4Rnpzb0JJO0VBQ0k7RUFDQTtBOUYyc29CUjtBOEZ4c29CSTtFQUNJO0VBQ0E7QTlGMHNvQlI7O0E4RnRzb0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUZ5c29CSjs7QThGdHNvQkE7RUFDSTtBOUZ5c29CSjs7QThGdHNvQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlGeXNvQko7O0E4RnRzb0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5Rnlzb0JKOztBOEZ0c29CQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlGeXNvQko7QThGdnNvQkk7RUFDSTtFQUNBO0E5Rnlzb0JSOztBOEZyc29CQTtBQUNBO0VBQ0k7QTlGd3NvQko7O0E4RnJzb0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5Rndzb0JKOztBOEZyc29CQTtFQUNJO0VBQ0E7RUFDQTtBOUZ3c29CSjs7QThGcnNvQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBOUZ3c29CSjs7QThGcHNvQkE7RUFDSTtBOUZ1c29CSjs7QThGcHNvQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlGdXNvQko7QThGcnNvQkk7RUFBSTtFQUFrQjtBOUZ5c29CMUI7O0E4RnRzb0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlGeXNvQko7QThGdnNvQkk7RUFBVTtBOUYwc29CZDtBOEZ6c29CSTtFQUFJO0VBQWtCO0E5RjZzb0IxQjs7QThGMXNvQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlGNnNvQko7QThGM3NvQkk7RUFBZTtBOUY4c29CbkI7QThGN3NvQkk7RUFBSTtBOUZndG9CUjs7QThGNXNvQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBOUYrc29CUjtBOEY1c29CSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUY4c29CUjtBOEYzc29CSTtFQUNJO0VBQ0E7RUFDQTtBOUY2c29CUjtBOEYzc29CUTtFQUNJO0VBQ0E7QTlGNnNvQlo7QThGenNvQkk7RUFBbUI7QTlGNHNvQnZCOztBOEZ4c29CQTtFQUNJO0VBQ0E7RUFDQTtBOUYyc29CSjs7QThGeHNvQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlGMnNvQko7QThGenNvQkk7RUFDSTtFQUNBO0E5RjJzb0JSOztBOEZ2c29CQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RjBzb0JKOztBOEZ2c29CQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RjBzb0JKO0E4Rnhzb0JJO0VBQ0k7RUFDQTtBOUYwc29CUjs7QThGdHNvQkE7RUFDSTtFQUNBO0E5Rnlzb0JKOztBOEZ0c29CQTtFQUNJO0VBQWE7RUFDYjtFQUNBO0VBQXFCO0VBQ3JCO0VBQ0E7RUFDQTtFQUNBO0E5RjJzb0JKOztBOEZ4c29CQTtFQUFpQztFQUFTO0E5RjZzb0IxQzs7QThGM3NvQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlGOHNvQko7O0E4RjNzb0JBO0VBQ0k7RUFDQTtBOUY4c29CSjs7QThGM3NvQkE7RUFDSTtFQUNBO0E5Rjhzb0JKOztBOEYxc29CQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlGNnNvQko7QThGM3NvQkk7RUFBSTtBOUY4c29CUjs7QThGM3NvQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUY4c29CSjs7QThGM3NvQkE7RUFDSTtFQUNBO0E5Rjhzb0JKOztBOEYzc29CQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlGOHNvQko7QThGNXNvQkk7RUFDSTtFQUNBO0E5Rjhzb0JSO0E4RjFzb0JJO0VBQ0k7RUFDQTtFQUNBO0E5RjRzb0JSOztBOEZ2c29CQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUYwc29CSjtBOEZ4c29CSTtFQUNJO0E5RjBzb0JSOztBOEZ0c29CQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E5Rnlzb0JKO0E4RnZzb0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUZ5c29CUjs7QThGcnNvQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBOUZ3c29CSjs7QThGcnNvQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBOUZ3c29CSjtBOEZ0c29CSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E5Rndzb0JSO0E4RnJzb0JJO0VBQ0k7RUFDQTtFQUNBO0E5RnVzb0JSO0E4RnBzb0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTlGc3NvQlI7O0E4Rmxzb0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTlGcXNvQko7QThGbnNvQkk7RUFBZTtBOUZzc29CbkI7O0E4Rm5zb0JBO0VBQ0k7RUFBYTtFQUFjO0VBQzNCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlGd3NvQko7O0E4RnJzb0JBO0VBQ0k7RUFDQTtBOUZ3c29CSjs7QThGcnNvQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBOUZ3c29CSjs7QThGcnNvQkE7RUFDSTtFQUNBO0VBQ0E7QTlGd3NvQko7O0E4RnJzb0JBO0VBQ0k7RUFDQTtFQUNBO0E5Rndzb0JKOztBOEZyc29CQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUZ3c29CSjtBOEZ0c29CSTtFQUFVO0VBQWdCO0E5RjBzb0I5Qjs7QThGdnNvQkE7RUFBa0Q7QTlGMnNvQmxEOztBOEZ6c29CQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E5RjRzb0JKO0E4RjFzb0JJO0VBQUk7QTlGNnNvQlI7QThGNXNvQkk7RUFBZTtBOUYrc29CbkI7O0E4RjNzb0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5Rjhzb0JKO0E4RjVzb0JJO0VBQ0k7RUFDQTtBOUY4c29CUjs7QThGenNvQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlGNHNvQko7O0E4Rnhzb0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RjJzb0JKO0E4Rnpzb0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUYyc29CUjtBOEZ4c29CSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RjBzb0JSO0E4Rnhzb0JRO0VBQ0k7QTlGMHNvQlo7QThGdHNvQkk7RUFDSTtFQUFhO0VBQ2I7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUZ5c29CUjtBOEZ2c29CUTtFQUNJO0E5Rnlzb0JaO0E4RnJzb0JJO0VBQ0k7RUFDQTtBOUZ1c29CUjtBOEZwc29CSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlGc3NvQlI7QThGbnNvQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RnFzb0JSOztBOEZoc29CQTtFQUNJO0lBQStCO0lBQWlCO0lBQVc7RTlGc3NvQjdEO0U4RnJzb0JFO0lBQWdDO0lBQWU7RTlGeXNvQmpEO0U4Rnhzb0JFO0lBQWdCO0U5RjJzb0JsQjtFOEYxc29CRTtJQUNJO0U5RjRzb0JOO0U4RjFzb0JFO0lBQ0k7SUFDQTtJQUNBO0U5RjRzb0JOO0U4RjFzb0JFO0lBQ0k7RTlGNHNvQk47QUFDRjtBOEZ2c29CSTtFQUFnQztBOUYwc29CcEM7QThGenNvQkk7RUFBd0I7RUFBcUI7QTlGNnNvQmpEO0E4RjVzb0JJO0VBQXNCO0E5Ritzb0IxQjtBOEY5c29CSTtFQUF1QjtFQUFxQjtBOUZrdG9CaEQ7QThGanRvQkk7RUFBdUI7QTlGb3RvQjNCO0E4Rm50b0JJO0VBQTZCO0E5RnN0b0JqQztBOEZydG9CSTs7OztFQUlJO0VBQ0E7RUFDQTtBOUZ1dG9CUjtBOEZydG9CSTtFQUE2QjtBOUZ3dG9CakM7QThGdnRvQkk7RUFBOEI7RUFBZ0I7QTlGMnRvQmxEO0E4RjF0b0JJO0VBQXdCO0E5RjZ0b0I1QjtBOEY1dG9CSTtFQUFtQjtBOUYrdG9CdkI7QThGOXRvQkk7RUFBMkI7QTlGaXVvQi9CO0E4Rmh1b0JJO0VBQTRCO0E5Rm11b0JoQztBOEZsdW9CSTtFQUF3QjtFQUFxQjtBOUZzdW9CakQ7QThGcnVvQkk7RUFBcUI7RUFBcUI7QTlGeXVvQjlDO0E4Rnh1b0JJO0VBQW1DO0E5RjJ1b0J2QztBOEYxdW9CSTtFQUErRDtBOUY2dW9CbkU7O0ErRmpwcUJBOzs7a0VBQUE7QUFLQTtBQUNBO0VBQ0k7QS9GbXBxQko7O0ErRmhwcUJBO0VBQ0k7QS9GbXBxQko7QStGanBxQkk7RUFDSTtFQUNBO0EvRm1wcUJSOztBK0Yvb3FCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9Ga3BxQko7QStGaHBxQkk7RUFDSTtFQUNBO0VBQ0E7QS9Ga3BxQlI7O0ErRjlvcUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QS9GaXBxQko7O0ErRjlvcUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0ZpcHFCSjs7QStGOW9xQkE7RUFDSTtBL0ZpcHFCSjs7QStGOW9xQkE7RUFDSTtFQUNBO0VBQ0E7QS9GaXBxQko7O0ErRjlvcUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9GaXBxQko7QStGL29xQkk7RUFDSTtBL0ZpcHFCUjtBK0Y5b3FCSTtFQUNJO0EvRmdwcUJSO0ErRjdvcUJJO0VBQ0k7RUFDQTtBL0Yrb3FCUjs7QStGM29xQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRjhvcUJKO0ErRjVvcUJJO0VBQ0k7RUFDQTtBL0Y4b3FCUjs7QStGMW9xQkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9GNm9xQko7O0ErRjFvcUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRjZvcUJKOztBK0Yxb3FCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0EvRjZvcUJKOztBK0Yxb3FCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0EvRjZvcUJKOztBK0Yxb3FCQTtFQUNJO0VBQ0E7RUFDQTtBL0Y2b3FCSjs7QStGMW9xQkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0Y2b3FCSjs7QStGMW9xQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9GNm9xQko7O0ErRjFvcUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRjZvcUJKO0ErRjNvcUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QS9GNm9xQlI7O0ErRnpvcUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QS9GNG9xQko7O0ErRnpvcUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRjRvcUJKOztBK0Z6b3FCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0EvRjRvcUJKOztBK0Z6b3FCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9GNG9xQko7QStGMW9xQkk7RUFDSTtFQUNBO0EvRjRvcUJSO0ErRjFvcUJJO0VBQ0k7RUFDQTtBL0Y0b3FCUjtBK0Yxb3FCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0Y0b3FCUjtBK0Yxb3FCUTtFQUNJO0EvRjRvcUJaOztBK0Z2b3FCQTtFQUNJO0EvRjBvcUJKOztBK0Z2b3FCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0Ywb3FCSjs7QStGdm9xQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9GMG9xQko7QStGeG9xQkk7RUFBZTtBL0Yyb3FCbkI7QStGMW9xQkk7RUFBdUI7QS9GNm9xQjNCO0ErRjNvcUJJO0VBQW1CO0VBQWtCO0EvRitvcUJ6QztBK0Y5b3FCSTtFQUFvQjtFQUFnQjtBL0ZrcHFCeEM7O0ErRi9vcUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QS9Ga3BxQko7O0ErRi9vcUJBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRmtwcUJKO0ErRmhwcUJJO0VBQVk7QS9GbXBxQmhCO0ErRmxwcUJJO0VBQWE7QS9GcXBxQmpCO0ErRnBwcUJJO0VBQWE7QS9GdXBxQmpCO0ErRnJwcUJJO0VBQ0k7RUFDQTtBL0Z1cHFCUjs7QWdHdjlxQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRzA5cUJKO0FnR3g5cUJJO0VBQ0k7QWhHMDlxQlI7O0FnR3I5cUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoR3c5cUJKO0FnR3Q5cUJJO0VBQ0k7QWhHdzlxQlI7O0FnR245cUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhHczlxQko7O0FnR245cUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEdzOXFCSjs7QWdHbjlxQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoR3M5cUJKO0FnR3A5cUJJO0VBQ0k7QWhHczlxQlI7O0FnR2o5cUJBO0VBQ0k7RUFDQTtBaEdvOXFCSjtBZ0dsOXFCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoR285cUJSO0FnR2w5cUJRO0VBQ0k7QWhHbzlxQlo7O0FnRzk4cUJBO0VBQ0k7RUFDQTtFQUNBO0FoR2k5cUJKOztBZ0c5OHFCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhHaTlxQko7O0FnRzk4cUJBO0VBQ0k7RUFDQTtFQUNBO0FoR2k5cUJKO0FnRy84cUJJO0VBQ0k7QWhHaTlxQlI7QWdHOThxQkk7RUFDSTtFQUNBO0VBQ0E7QWhHZzlxQlI7QWdHNzhxQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEcrOHFCUjtBZ0c3OHFCUTtFQUNJO0FoRys4cUJaOztBZ0d6OHFCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhHNDhxQko7QWdHMThxQkk7O0VBRUk7RUFDQTtFQUNBO0FoRzQ4cUJSOztBZ0d0OHFCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhHeThxQko7O0FnR3Q4cUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhHeThxQko7QWdHdjhxQkk7RUFBVTtFQUFTO0FoRzI4cUJ2QjtBZ0cxOHFCSTtFQUFXO0VBQW1CO0FoRzg4cUJsQztBZ0c1OHFCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoRzg4cUJSO0FnRzU4cUJJO0VBQ0k7RUFDQTtFQUNBO0FoRzg4cUJSO0FnRzU4cUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhHODhxQlI7QWdHNThxQkk7RUFDSTtFQUNBO0VBQ0E7QWhHODhxQlI7O0FnRzE4cUJBO0VBQ0k7RUFDQTtBaEc2OHFCSjtBZ0czOHFCSTtFQUFlO0FoRzg4cUJuQjs7QWdHMzhxQkE7RUFDSTtFQUNBO0VBQ0E7QWhHODhxQko7O0FnRzM4cUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhHODhxQko7O0FnRzE4cUJBO0VBQ0k7QWhHNjhxQko7O0FnR3o4cUJBO0VBQ0k7RUFDQTtFQUNBO0FoRzQ4cUJKO0FnRzE4cUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEc0OHFCUjtBZ0d6OHFCSTtFQUNJO0VBQ0E7RUFDQTtBaEcyOHFCUjtBZ0d4OHFCSTtFQUNJO0FoRzA4cUJSO0FnR3Y4cUJJOztFQUVJO0VBQ0E7RUFDQTtBaEd5OHFCUjs7QWdHcDhxQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoR3U4cUJKO0FnR3I4cUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhHdThxQlI7QWdHcjhxQlE7RUFDSTtBaEd1OHFCWjtBZ0dyOHFCUTtFQUFlO0FoR3c4cUJ2QjtBZ0dyOHFCSTtFQUNJO0VBQ0E7RUFDQTtBaEd1OHFCUjtBZ0dyOHFCSTtFQUNJO0VBQ0E7QWhHdThxQlI7O0FnR2g4cUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoR204cUJKO0FnR2o4cUJJO0VBQ0k7QWhHbThxQlI7QWdHaDhxQkk7RUFBSTtBaEdtOHFCUjs7QWdHLzdxQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoR2s4cUJKO0FnR2g4cUJJO0VBQ0k7RUFDQTtBaEdrOHFCUjs7QWdHNzdxQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoR2c4cUJKO0FnRzk3cUJJO0VBQ0k7RUFDQTtBaEdnOHFCUjs7QWdHMTdxQkk7RUFDSTtFQUNBO0FoRzY3cUJSO0FnRzE3cUJJO0VBQ0k7RUFDQTtBaEc0N3FCUjs7QWdHdDdxQkE7O0VBRUk7RUFDQTtBaEd5N3FCSjs7QWdHcjdxQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEd3N3FCSjtBZ0d0N3FCSTtFQUNJO0FoR3c3cUJSO0FnR3Q3cUJJO0VBQ0k7RUFDQTtFQUNBO0FoR3c3cUJSOztBZ0duN3FCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoR3M3cUJKOztBZ0dqN3FCSTtFQUFlO0VBQXNDO0FoR3M3cUJ6RDtBZ0dyN3FCSTtFQUFlO0VBQXNDO0FoR3k3cUJ6RDtBZ0d4N3FCSTtFQUFlO0VBQXNDO0FoRzQ3cUJ6RDtBZ0czN3FCSTtFQUFlO0VBQXNDO0FoRys3cUJ6RDtBZ0c5N3FCSTtFQUFlO0VBQXNDO0FoR2s4cUJ6RDtBZ0dqOHFCSTtFQUFlO0VBQXNDO0FoR3E4cUJ6RDtBZ0dwOHFCSTtFQUFlO0VBQXNDO0FoR3c4cUJ6RDtBZ0d2OHFCSTtFQUFvQjtFQUFxQztBaEcyOHFCN0Q7QWdHMThxQkk7RUFBZTtFQUFzQztBaEc4OHFCekQ7QWdHNzhxQkk7RUFBZTtFQUFzQztBaEdpOXFCekQ7QWdHaDlxQkk7RUFBZTtFQUFzQztBaEdvOXFCekQ7O0FnRy84cUJBO0VBQ0k7QWhHazlxQko7QWdHaDlxQkk7RUFDSTtBaEdrOXFCUjtBZ0cvOHFCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhHaTlxQlI7QWdHOThxQkk7RUFDSTtBaEdnOXFCUjtBZ0c3OHFCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhHKzhxQlI7QWdHNzhxQlE7RUFDSTtBaEcrOHFCWjtBZ0czOHFCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoRzY4cUJSO0FnRzM4cUJRO0VBQ0k7QWhHNjhxQlo7QWdHejhxQkk7RUFDSTtFQUNBO0VBQ0E7QWhHMjhxQlI7QWdHeDhxQkk7RUFDSTtFQUNBO0VBQ0E7QWhHMDhxQlI7QWdHdjhxQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEd5OHFCUjs7QWlHdDZyQkE7O2lFQUFBO0FBSUE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtBakd3NnJCSjs7QWlHcjZyQkE7QUFDQTtFQUNJO0FqR3c2ckJKOztBaUdyNnJCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqR3c2ckJKO0FpR3Q2ckJJO0VBQ0k7RUFDQTtBakd3NnJCUjs7QWlHcDZyQkE7RUFDSTtJQUFPO0lBQVk7RWpHeTZyQnJCO0VpR3g2ckJFO0lBQU87SUFBWTtFakc0NnJCckI7QUFDRjtBaUcxNnJCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakc0NnJCSjs7QWlHejZyQkE7RUFDSTtFQUNBO0VBQ0E7QWpHNDZyQko7O0FpR3o2ckJBO0VBQ0k7RUFDQTtBakc0NnJCSjs7QWlHejZyQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpHNDZyQko7O0FpR3o2ckJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRzQ2ckJKOztBaUd6NnJCQTtFQUNJO0VBQ0E7RUFDQTtBakc0NnJCSjs7QWlHejZyQkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRzQ2ckJKOztBaUd6NnJCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FqRzQ2ckJKOztBaUd6NnJCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0FqRzQ2ckJKOztBaUd6NnJCQTtBQUVJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakcyNnJCUjtBaUd4NnJCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FqRzA2ckJSO0FpR3g2ckJRO0VBQ0k7RUFDQTtBakcwNnJCWjtBaUd2NnJCUTtFQUNJO0VBQ0E7QWpHeTZyQlo7O0FpR3A2ckJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakd1NnJCSjs7QWlHcDZyQkE7RUFDSTtBakd1NnJCSjs7QWlHcDZyQkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqR3U2ckJKOztBaUdwNnJCQTtFQUNJO0FqR3U2ckJKOztBaUdwNnJCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqR3U2ckJKO0FpR3I2ckJJO0VBQ0k7RUFDQTtBakd1NnJCUjtBaUdwNnJCSTtFQUNJO0VBQ0E7QWpHczZyQlI7O0FpR2w2ckJBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpHcTZyQko7QWlHbjZyQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBakdxNnJCUjtBaUdsNnJCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FqR282ckJSOztBaUdoNnJCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakdtNnJCSjs7QWlHaDZyQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpHbTZyQko7O0FpR2g2ckJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWpHbTZyQko7O0FpR2g2ckJBO0VBQ0k7RUFDQTtBakdtNnJCSjs7QWlHaDZyQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpHbTZyQko7O0FpR2g2ckJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakdtNnJCSjs7QWlHaDZyQkE7RUFDSTtFQUNBO0VBQ0E7QWpHbTZyQko7O0FpR2g2ckJBO0FBQ0E7RUFDSTtFQUNBO0FqR202ckJKO0FpR2o2ckJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakdtNnJCUjs7QWlHLzVyQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqR2s2ckJKOztBaUcvNXJCQTtFQUNJO0lBQUs7RWpHbTZyQlA7QUFDRjtBaUdqNnJCQTtBQUNBO0VBQStCO0VBQWdDO0FqR3E2ckIvRDs7QWlHcDZyQkE7RUFBK0I7RUFBaUM7QWpHeTZyQmhFOztBaUd4NnJCQTtFQUErQjtFQUFpQztBakc2NnJCaEU7O0FpRzU2ckJBO0VBQStCO0VBQWlDO0FqR2k3ckJoRTs7QWlHaDdyQkE7RUFBK0I7RUFBa0M7QWpHcTdyQmpFOztBaUduN3JCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakdzN3JCSjs7QWlHbjdyQkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtBakdzN3JCSjs7QWlHbjdyQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpHczdyQko7QWlHcDdyQkk7RUFDSTtBakdzN3JCUjs7QWlHbDdyQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqR3E3ckJKOztBaUdsN3JCQTtFQUNJO0VBQ0E7QWpHcTdyQko7O0FpR2w3ckJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqR3E3ckJKOztBaUdsN3JCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakdxN3JCSjs7QWlHbDdyQkE7RUFDSTtBakdxN3JCSjs7QWlHbDdyQkE7QUFDQTtFQUNJO0lBQ0k7RWpHcTdyQk47QUFDRjtBa0d6enNCQTs7OERBQUE7QUFJQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsRzB6c0JKOztBa0d2enNCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxHMHpzQko7O0FrR3Z6c0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEcwenNCSjtBa0d4enNCSTtFQUNJO0VBQ0E7QWxHMHpzQlI7QWtHdnpzQkk7RUFDSTtFQUNBO0VBQ0E7QWxHeXpzQlI7QWtHdHpzQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsR3d6c0JSO0FrR3R6c0JRO0VBQVU7QWxHeXpzQmxCO0FrR3h6c0JRO0VBQWlCO0FsRzJ6c0J6Qjs7QWtHdnpzQkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxHMHpzQko7QWtHeHpzQkk7RUFBSTtBbEcyenNCUjtBa0d6enNCSTtFQUNJO0VBQ0E7QWxHMnpzQlI7QWtHeHpzQkk7RUFDSTtFQUNBO0FsRzB6c0JSO0FrR3Z6c0JJO0VBQVU7QWxHMHpzQmQ7QWtHenpzQkk7RUFDSTtFQUNBO0FsRzJ6c0JSOztBa0d2enNCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsRzB6c0JKO0FrR3h6c0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxHMHpzQlI7QWtHeHpzQlE7RUFBSTtBbEcyenNCWjtBa0d6enNCUTtFQUNJO0VBQ0E7QWxHMnpzQlo7QWtHeHpzQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBbEcwenNCWjtBa0d2enNCUTtFQUFVO0FsRzB6c0JsQjtBa0d6enNCUTtFQUNJO0VBQ0E7QWxHMnpzQlo7O0FrR3R6c0JBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEd5enNCSjtBa0d2enNCSTtFQUFJO0VBQXFCO0FsRzJ6c0I3QjtBa0d6enNCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxHMnpzQlI7QWtHeHpzQkk7RUFBVTtBbEcyenNCZDtBa0cxenNCSTtFQUNJO0VBQ0E7QWxHNHpzQlI7O0FrR3h6c0JBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxHMnpzQko7O0FrR3h6c0JBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxHMnpzQko7O0FrR3h6c0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsRzJ6c0JKOztBa0d4enNCQTtFQUNJO0VBQ0E7RUFDQTtBbEcyenNCSjs7QWtHeHpzQkE7RUFDSTtFQUNBO0VBQ0E7QWxHMnpzQko7O0FrR3h6c0JBO0VBQ0k7RUFDQTtFQUNBO0FsRzJ6c0JKOztBa0d4enNCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEcyenNCSjtBa0d6enNCSTtFQUFVO0FsRzR6c0JkOztBa0d6enNCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsRzR6c0JKO0FrRzF6c0JJO0VBQVU7QWxHNnpzQmQ7O0FrRzF6c0JBO0VBQ0k7RUFDQTtFQUNBO0FsRzZ6c0JKOztBa0cxenNCQTtFQUNJO0VBQ0E7RUFDQTtBbEc2enNCSjs7QWtHMXpzQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsRzZ6c0JKO0FrRzN6c0JJO0VBQWdCO0FsRzh6c0JwQjtBa0c3enNCSTtFQUFlO0VBQW9CO0FsR2kwc0J2Qzs7QWtHOXpzQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEdpMHNCSjs7QWtHOXpzQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsR2kwc0JKOztBa0c5enNCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsR2kwc0JKO0FrRy96c0JJO0VBQ0k7RUFDQTtBbEdpMHNCUjtBa0c5enNCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FsR2cwc0JSOztBa0c1enNCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWxHK3pzQko7O0FrRzV6c0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEcrenNCSjs7QWtHNXpzQkE7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsRyt6c0JKO0FrRzd6c0JJOztFQUNJO0VBQ0E7QWxHZzBzQlI7O0FrRzV6c0JBO0VBQ0k7RUFDQTtFQUNBO0FsRyt6c0JKOztBa0c1enNCQTtFQUFhO0FsR2cwc0JiOztBa0c5enNCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxHaTBzQko7QWtHL3pzQkk7RUFDSTtFQUNBO0FsR2kwc0JSOztBa0c3enNCQTtFQUFlO0FsR2kwc0JmOztBa0cvenNCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxHazBzQko7QWtHaDBzQkk7RUFBVTtBbEdtMHNCZDs7QWtHaDBzQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBbEdtMHNCSjs7QWtHaDBzQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEdtMHNCSjtBa0dqMHNCSTtFQUNJO0VBQ0E7QWxHbTBzQlI7O0FrRy96c0JBOzs4REFBQTtBQUdBO0VBQ0k7QWxHazBzQko7O0FrRy96c0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWxHazBzQko7O0FrRy96c0JBO0VBQ0k7QWxHazBzQko7O0FrRy96c0JBO0VBQ0k7QWxHazBzQko7O0FrRy96c0JBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsR2swc0JKO0FrR2gwc0JJO0VBQ0k7RUFDQTtFQUNBO0FsR2swc0JSO0FrRy96c0JJO0VBQ0k7QWxHaTBzQlI7QWtHOXpzQkk7RUFDSTtBbEdnMHNCUjs7QWtHNXpzQkE7RUFDSTtFQUNBO0VBQ0E7QWxHK3pzQko7O0FrRzV6c0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEcrenNCSjs7QWtHNXpzQkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsRyt6c0JKO0FrRzd6c0JJO0VBQ0k7RUFDQTtFQUNBO0FsRyt6c0JSOztBa0czenNCQTtFQUNJO0VBQ0E7QWxHOHpzQko7O0FrRzN6c0JBO0FBQ0E7RUFDSTtFQUNBO0FsRzh6c0JKOztBa0czenNCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxHOHpzQko7O0FrRzN6c0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsRzh6c0JKO0FrRzV6c0JJO0VBQ0k7RUFDQTtBbEc4enNCUjs7QWtHMXpzQkE7RUFDSTtFQUNBO0VBQ0E7QWxHNnpzQko7O0FrRzF6c0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEc2enNCSjs7QWtHMXpzQkE7QUFDQTtFQUNJO2lDQUFBO0VBRUE7SUFDSTtJQUNBO0lBQ0E7RWxHNnpzQk47RWtHMXpzQkU7SUFDSTtJQUNBO0VsRzR6c0JOO0VrRzF6c0JNOztJQUNjO0VsRzZ6c0JwQjtFa0cxenNCRTs7O0lBR0k7SUFDQTtJQUNBO0VsRzR6c0JOO0VrR3p6c0JFO0lBQTJCO0VsRzR6c0I3QjtFa0cxenNCRTtJQUNJO0VsRzR6c0JOO0FBQ0Y7QW1HNTV0QkE7O2lFQUFBO0FBSUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuRzY1dEJKOztBbUcxNXRCQTtFQUNJO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQVFBO0VBK0NBO0VBdUdBO0FuR2l3dEJKO0FtRzc1dEJJO0VBQ0k7RUFDQTtFQUNBO0FuRys1dEJSO0FtRzM1dEJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSw2RkFDSTtFQUNKO0VBQ0E7RUFDQTtFQUNBO0FuRzQ1dEJSO0FtRzE1dEJRO0VBQ0k7RUFFQTtBbkcyNXRCWjtBbUcxNXRCWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FuRzQ1dEJoQjtBbUd2NXRCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5HeTV0QlI7QW1HdDV0Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkd3NXRCUjtBbUdwNXRCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkdzNXRCUjtBbUduNXRCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkdxNXRCUjtBbUdsNXRCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5HbzV0QlI7QW1HbDV0QlE7RUFBVTtBbkdxNXRCbEI7QW1HbDV0Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuR281dEJSO0FtR2o1dEJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuR201dEJSO0FtR2o1dEJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QW5HbTV0Qlo7QW1HaDV0QlE7RUFBVztBbkdtNXRCbkI7QW1HaDV0Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5HazV0QlI7QW1HLzR0Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkdpNXRCUjtBbUc5NHRCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5HZzV0QlI7QW1HNzR0Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5HKzR0QlI7QW1HMzR0Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkc2NHRCUjs7QW1HeDR0Qkk7RUFDSTtFQUNBO0VBQ0E7QW5HMjR0QlI7QW1HejR0QlE7RUFBVTtBbkc0NHRCbEI7QW1HMTR0QlE7RUFBVztFQUEyQjtBbkc4NHRCOUM7QW1HNzR0QlE7RUFBVztBbkdnNXRCbkI7QW1HLzR0QlE7RUFBWTtBbkdrNXRCcEI7QW1HajV0QlE7RUFBcUI7QW5HbzV0QjdCO0FtR241dEJRO0VBQWdCO0FuR3M1dEJ4QjtBbUdyNXRCUTtFQUFZO0VBQTRDO0FuR3k1dEJoRTs7QW9Hem11QkE7OzhEQUFBO0FBSUE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esc05BQ0k7RUFHSjtFQUNBO0VBQ0E7QXBHd211Qko7O0FvR3RtdUJBO0VBQ0k7RUFDQTtFQUFvQjtFQUNwQjtFQUFhO0VBQ2I7RUFDQTtBcEcybXVCSjs7QW9Hem11QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEc0bXVCSjs7QW9HMW11QkE7RUFDSTtFQUNBO0VBQ0E7QXBHNm11Qko7O0FvRzNtdUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEc4bXVCSjtBb0c1bXVCSTtFQUFJO0FwRyttdUJSOztBb0c3bXVCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FwR2dudUJKOztBb0c3bXVCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwR2dudUJKOztBb0c5bXVCQTtFQUNJO0VBQ0E7RUFBb0I7RUFDcEI7RUFBYTtFQUNiO0VBQ0E7RUFDQTtBcEdtbnVCSjs7QW9Ham51QkE7RUFDSTtFQUNBO0VBQ0E7QXBHb251Qko7O0FvR2xudUJBO0VBQ0k7QXBHcW51Qko7O0FvR25udUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEdzbnVCSjs7QW9HcG51QkE7RUFDSTtFQUNBO0FwR3VudUJKOztBb0dybnVCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwR3dudUJKOztBb0d0bnVCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FwR3ludUJKOztBb0d2bnVCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEcwbnVCSjtBb0d4bnVCSTtFQUFRO0FwRzJudUJaO0FvRzFudUJJO0VBQVU7QXBHNm51QmQ7O0FvRzFudUJBO0FBQ0E7RUFBMkM7RUFBaUM7QXBHK251QjVFOztBb0c5bnVCQTtFQUEyQztFQUFpQztBcEdtb3VCNUU7O0FvR2xvdUJBO0VBQTJDO0VBQWlDO0FwR3VvdUI1RTs7QW9HdG91QkE7RUFBMkM7RUFBaUM7QXBHMm91QjVFOztBb0cxb3VCQTtFQUEyQztFQUFpQztBcEcrb3VCNUU7O0FvRzlvdUJBO0VBQTJDO0VBQWlDO0FwR21wdUI1RTs7QW9HanB1QkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwR29wdUJKOztBb0dscHVCQTtFQUNJO0FwR3FwdUJKOztBb0ducHVCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwR3NwdUJKOztBb0dwcHVCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBHdXB1Qko7QW9HcnB1Qkk7RUFDSTtFQUNBO0FwR3VwdUJSOztBb0dwcHVCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEd1cHVCSjs7QW9HcnB1QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwR3dwdUJKO0FvR3RwdUJJO0VBQ0k7RUFDQTtBcEd3cHVCUjs7QW9HcnB1QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBcEd3cHVCSjs7QW9HdHB1QkE7RUFDSTtBcEd5cHVCSjs7QW9HdHB1QkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtBcEd5cHVCSjs7QW9HdnB1QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBcEcwcHVCSjs7QW9HeHB1QkE7RUFDSTtFQUFZO0VBQ1o7RUFDQTtBcEc0cHVCSjs7QW9HMXB1QkE7RUFDSTtFQUNBO0VBQ0E7QXBHNnB1Qko7O0FvRzNwdUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXBHOHB1Qko7O0FvRzVwdUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEcrcHVCSjs7QW9HN3B1QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBcEdncXVCSjs7QW9HN3B1QkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FwR2dxdUJKOztBb0c5cHVCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwR2lxdUJKO0FvRy9wdUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEdpcXVCUjs7QW9HOXB1QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEdpcXVCSjtBb0cvcHVCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FwR2lxdUJSO0FvRzlwdUJJO0VBQUk7RUFBa0I7QXBHa3F1QjFCOztBb0cvcHVCQTtBQUNBOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0FwR2txdUJKO0FvR2hxdUJJOztFQUFJO0VBQVk7QXBHcXF1QnBCOztBb0dscXVCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEdxcXVCSjtBb0ducXVCSTtFQUFlO0FwR3NxdUJuQjs7QW9HcHF1QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwR3VxdUJKOztBb0dycXVCQTtFQUNJO0VBQ0E7RUFDQTtBcEd3cXVCSjs7QW9HdHF1QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwR3lxdUJKOztBb0d0cXVCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEd5cXVCSjs7QW9HdnF1QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEcwcXVCSjs7QW9HeHF1QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBcEcycXVCSjs7QW9HenF1QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBcEc0cXVCSjs7QW9HenF1QkE7QUFDQTtFQUNJO0VBQ0E7QXBHNHF1Qko7O0FvRzFxdUJBO0VBQ0k7RUFBYTtFQUNiO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBHOHF1Qko7O0FvRzVxdUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXBHK3F1Qko7O0FvRzdxdUJBO0VBQ0k7RUFDQTtFQUNBO0FwR2dydUJKOztBb0c3cXVCQTtBQUNBO0VBQ0k7QXBHZ3J1Qko7O0FvRzlxdUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBHaXJ1Qko7O0FvRy9xdUJBO0VBQ0k7RUFDQTtFQUNBO0FwR2tydUJKOztBb0docnVCQTtFQUNJO0FwR21ydUJKOztBb0dqcnVCQTtFQUNJO0FwR29ydUJKOztBb0dqcnVCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwR29ydUJKO0FvR2xydUJJO0VBQUk7QXBHcXJ1QlI7O0FvR25ydUJBO0VBQXdDO0VBQWtDO0FwR3dydUIxRTs7QW9HdnJ1QkE7RUFBd0M7RUFBa0M7QXBHNHJ1QjFFOztBb0czcnVCQTtFQUF3QztFQUFrQztBcEdnc3VCMUU7O0FvRy9ydUJBO0VBQXdDO0VBQWtDO0FwR29zdUIxRTs7QW9HbnN1QkE7RUFBd0M7RUFBa0M7QXBHd3N1QjFFOztBb0d2c3VCQTtFQUF3QztFQUFrQztBcEc0c3VCMUU7O0FvRzFzdUJBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBcEc2c3VCSjs7QW9HM3N1QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEc4c3VCSjs7QW9HNXN1QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEcrc3VCSjtBb0c3c3VCSTtFQUNJO0VBQ0E7QXBHK3N1QlI7QW9HNXN1Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBcEc4c3VCUjtBb0czc3VCSTtFQUFVO0FwRzhzdUJkO0FvRzdzdUJJO0VBQ0k7RUFDQTtBcEcrc3VCUjs7QW9HNXN1QkE7RUFDSTtFQUNBO0VBQ0E7QXBHK3N1Qko7O0FvRzdzdUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwR2d0dUJKO0FvRzlzdUJJO0VBQ0k7RUFDQTtBcEdndHVCUjs7QW9HN3N1QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEdndHVCSjtBb0c5c3VCSTtFQUFVO0FwR2l0dUJkO0FvR2h0dUJJO0VBQVU7QXBHbXR1QmQ7QW9HbHR1Qkk7RUFDSTtFQUNBO0FwR290dUJSOztBb0dodHVCQTtBQUNBO0VBQ0k7SUFBTztJQUFZO0VwR3F0dUJyQjtFb0dwdHVCRTtJQUFPO0lBQVk7RXBHd3R1QnJCO0FBQ0Y7QW9HdnR1QkE7OztFQUdJO0FwR3l0dUJKOztBb0d0dHVCQTtBQUNBO0VBQ0k7SUFDSTtFcEd5dHVCTjtFb0d2dHVCRTtJQUNJO0VwR3l0dUJOO0VvR3Z0dUJFO0lBQ0k7RXBHeXR1Qk47RW9HdnR1QkU7SUFDSTtFcEd5dHVCTjtBQUNGO0FxR3J5dkJBOzs4REFBQTtBQUlBO0VBQ0k7RUFDQTtBckdzeXZCSjs7QXFHbnl2QkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJHc3l2Qko7QXFHcHl2Qkk7RUFBSTtFQUFpQjtBckd3eXZCekI7O0FxR3J5dkJBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyR3d5dkJKOztBcUd0eXZCQTtFQUNJO0VBQ0E7RUFDQSx5TkFDSTtFQUdKO0VBQ0E7QXJHc3l2Qko7O0FxR3B5dkJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyR3V5dkJKO0FxR3J5dkJJO0VBQUk7RUFBaUI7QXJHeXl2QnpCOztBcUd2eXZCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckcweXZCSjtBcUd4eXZCSTtFQUFNO0VBQWE7RUFBYztBckc2eXZCckM7O0FxRzN5dkJBO0VBQ0k7QXJHOHl2Qko7O0FxRzN5dkJBOzs4REFBQTtBQUdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckc4eXZCSjtBcUc1eXZCSTtFQUNJO0VBQ0E7RUFDQTtBckc4eXZCUjtBcUczeXZCSTtFQUNJO0VBQ0E7QXJHNnl2QlI7QXFHMXl2Qkk7RUFDSTtFQUNBO0FyRzR5dkJSOztBcUd4eXZCQTtFQUNJO0VBQ0E7RUFDQTtBckcyeXZCSjs7QXFHenl2QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRzR5dkJKO0FxRzF5dkJJO0VBQ0k7RUFBYTtFQUNiO0VBQ0E7QXJHNnl2QlI7O0FxRzF5dkJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJHNnl2Qko7QXFHM3l2Qkk7RUFBVTtBckc4eXZCZDs7QXFHNXl2QkE7RUFDSTtBckcreXZCSjs7QXFHNXl2QkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtBckcreXZCSjs7QXFHN3l2QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyR2d6dkJKO0FxRzl5dkJJO0VBQ0k7RUFBYTtFQUNiO0VBQ0E7RUFDQTtBckdpenZCUjtBcUc5eXZCSTtFQUNJO0VBQ0E7RUFDQTtBckdnenZCUjtBcUc5eXZCUTtFQUFNO0FyR2l6dkJkOztBcUc5eXZCQTtFQUNJO0VBQ0E7RUFBUztFQUFVO0VBQ25CO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJHbXp2Qko7O0FxR2h6dkJBOzs4REFBQTtBQUdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyR216dkJKO0FxR2p6dkJJO0VBQVk7QXJHb3p2QmhCOztBcUdqenZCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyR296dkJKOztBcUdqenZCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyR296dkJKOztBcUdqenZCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyR296dkJKOztBcUdqenZCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyR296dkJKOztBcUdqenZCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckdvenZCSjtBcUdsenZCSTtFQUNJO0VBQ0E7QXJHb3p2QlI7QXFHanp2Qkk7RUFBVTtBckdvenZCZDtBcUduenZCSTtFQUNJO0FyR3F6dkJSOztBcUdqenZCQTtFQUFzQjtFQUFXO0FyR3N6dkJqQzs7QXFHcnp2QkE7RUFBc0I7RUFBWTtFQUFVO0FyRzJ6dkI1QztBcUcxenZCSTtFQUFVO0FyRzZ6dkJkOztBcUczenZCQTtFQUFzQjtFQUFhO0VBQVU7QXJHaTB2QjdDO0FxR2gwdkJJO0VBQVU7QXJHbTB2QmQ7O0FxR2gwdkJBO0FBQ0E7RUFBMEM7QXJHbzB2QjFDOztBcUdsMHZCQTtFQUNJO0lBQWU7RXJHczB2QmpCO0VxR3IwdkJFO0lBQW9CO0lBQWE7SUFBYztFckcwMHZCakQ7RXFHejB2QkU7SUFBc0I7SUFBYTtFckc2MHZCckM7RXFHNTB2QkU7SUFBcUI7RXJHKzB2QnZCO0VxRzkwdkJFO0lBQXFCO0VyR2kxdkJ2QjtFcUdoMXZCRTtJQUF3QjtJQUFxQjtFckdvMXZCL0M7QUFDRjtBcUdsMXZCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5TkFDSTtBckdtMXZCUjs7QXFHLzB2QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBckdrMXZCSjs7QXFHaDF2QkE7RUFDSTtFQUNBO0VBQW9CO0VBQ3BCO0VBQ0E7QXJHbzF2Qko7O0FxR2oxdkJBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckdvMXZCSjs7QXFHbDF2QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyR3ExdkJKOztBcUduMXZCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckdzMXZCSjtBcUdwMXZCSTtFQUNJO0VBQWE7RUFDYjtBckd1MXZCUjs7QXFHcDF2QkE7RUFDSTtFQUNBO0VBQ0E7QXJHdTF2Qko7O0FxR3IxdkJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJHdzF2Qko7O0FxR3QxdkJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJHeTF2Qko7QXFHdjF2Qkk7RUFBTztBckcwMXZCWDtBcUd6MXZCSTtFQUFJO0VBQWdCO0FyRzYxdkJ4QjtBcUc1MXZCSTtFQUFVO0VBQWdCO0FyR2cydkI5Qjs7QXFHOTF2QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyR2kydkJKO0FxRy8xdkJJO0VBQXFCO0VBQWdCO0FyR20ydkJ6QztBcUdsMnZCSTtFQUF1QjtFQUFnQjtFQUFrQjtBckd1MnZCN0Q7O0FxR3IydkJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXJHdzJ2Qko7O0FxR3IydkJBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckd3MnZCSjs7QXFHdDJ2QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckd5MnZCSjtBcUd2MnZCSTtFQUFJO0FyRzAydkJSO0FxR3gydkJJO0VBQ0k7QXJHMDJ2QlI7QXFHdjJ2Qkk7RUFDSTtFQUNBO0FyR3kydkJSO0FxR3QydkJJO0VBQVU7QXJHeTJ2QmQ7O0FxR3QydkJBO0FBQ0E7RUFDSTtFQUNBO0FyR3kydkJKO0FxR3YydkJJO0VBQVc7QXJHMDJ2QmY7O0FxR3YydkJBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7QXJHMDJ2Qko7QXFHeDJ2Qkk7RUFMSjtJQU1RO0VyRzIydkJOO0FBQ0Y7O0FxR3oydkJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckc0MnZCSjs7QXFHMTJ2QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRzYydkJKO0FxRzMydkJJO0VBQUk7QXJHODJ2QlI7O0FxRzUydkJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRysydkJKO0FxRzcydkJJO0VBQWU7QXJHZzN2Qm5CO0FxRzkydkJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckdnM3ZCUjtBcUc3MnZCSTtFQUFJO0VBQWdCO0FyR2kzdkJ4QjtBcUdoM3ZCSTtFQUFVO0FyR20zdkJkOztBcUdqM3ZCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FyR28zdkJKOztBcUdqM3ZCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyR28zdkJKO0FxR2wzdkJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXJHbzN2QlI7O0FxR2gzdkJBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJHbTN2Qko7QXFHajN2Qkk7RUFBSTtFQUF5QjtBckdxM3ZCakM7QXFHbjN2Qkk7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyR28zdkJSO0FxR2wzdkJRO0VBQUk7QXJHcTN2Qlo7O0FxR2ozdkJBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7QXJHbzN2Qko7O0FxR2wzdkJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckdxM3ZCSjtBcUduM3ZCSTtFQUFVO0FyR3MzdkJkOztBcUdwM3ZCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJHdTN2Qko7QXFHcjN2Qkk7RUFBTTtFQUFhO0VBQWM7QXJHMDN2QnJDOztBcUd4M3ZCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRzIzdkJKOztBcUd4M3ZCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0FyRzIzdkJKOztBcUd6M3ZCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckc0M3ZCSjtBcUcxM3ZCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FyRzQzdkJSOztBcUd6M3ZCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FyRzQzdkJKO0FxRzEzdkJJO0VBQ0k7RUFBYTtFQUNiO0VBQ0E7QXJHNjN2QlI7O0FxRzEzdkJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJHNjN2Qko7O0FxRzMzdkJBO0VBQ0k7QXJHODN2Qko7O0FxRzUzdkJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJHKzN2Qko7O0FxRzczdkJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyR2c0dkJKOztBcUc3M3ZCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXJHZzR2Qko7QXFHOTN2Qkk7RUFOSjtJQU9RO0lBQ0E7RXJHaTR2Qk47QUFDRjs7QXFHLzN2QkE7RUFDSTtBckdrNHZCSjs7QXFHaDR2QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyR200dkJKOztBcUdqNHZCQTtFQUNJO0VBQ0E7RUFDQTtBckdvNHZCSjs7QXFHbDR2QkE7RUFDSTtFQUNBO0FyR3E0dkJKOztBcUduNHZCQTtFQUNJO0VBQ0E7RUFDQTtBckdzNHZCSjs7QXFHcDR2QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBckd1NHZCSjs7QXFHcjR2QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBckd3NHZCSjtBcUd0NHZCSTtFQUFJO0VBQWdCO0VBQWtCO0FyRzI0dkIxQzs7QXFHejR2QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRzQ0dkJKOztBcUcxNHZCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FyRzY0dkJKOztBcUczNHZCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FyRzg0dkJKOztBcUczNHZCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRzg0dkJKOztBcUc1NHZCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FyRys0dkJKOztBcUc3NHZCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJHZzV2Qko7O0FxRzk0dkJBO0VBQ0k7RUFDQTtBckdpNXZCSjs7QXFHLzR2QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBckdrNXZCSjs7QXFHaDV2QkE7RUFDSTtFQUNBO0VBQ0E7QXJHbTV2Qko7O0FxR2o1dkJBO0VBQ0k7RUFDQTtFQUNBO0FyR281dkJKOztBcUdsNXZCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FyR3E1dkJKOztBcUduNXZCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJHczV2Qko7O0FxR3A1dkJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyR3U1dkJKOztBcUdyNXZCQTtFQUNJO0VBQ0E7QXJHdzV2Qko7O0FxR3I1dkJBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJHdzV2Qko7QXFHdDV2Qkk7RUFDSTtFQUNBO0FyR3c1dkJSOztBcUdwNXZCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0FyR3U1dkJKOztBcUdwNXZCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJHdTV2Qko7QXFHcjV2Qkk7RUFDSTtFQUNBO0FyR3U1dkJSOztBcUduNXZCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0FyR3M1dkJKOztBcUdwNXZCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyR3U1dkJKO0FxR3I1dkJJO0VBQVU7QXJHdzV2QmQ7QXFHdjV2Qkk7RUFBVztBckcwNXZCZjtBcUd6NXZCSTtFQUFVO0FyRzQ1dkJkO0FxRzM1dkJJO0VBQWtCO0FyRzg1dkJ0Qjs7QXFHMzV2QkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJHODV2Qko7O0FxRzM1dkJBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFFQTtBckc2NXZCSjtBcUc1NXZCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FyRzg1dkJSOztBcUcxNXZCQTtFQUNJO0lBQWU7RXJHODV2QmpCO0VxRzc1dkJFO0lBQWM7SUFBYztJQUFlO0lBQW9CO0VyR202dkJqRTtFcUdsNnZCRTtJQUFtQjtFckdxNnZCckI7RXFHcDZ2QkU7SUFBYztFckd1NnZCaEI7RXFHdDZ2QkU7SUFBYztFckd5NnZCaEI7QUFDRjtBc0dyMHhCQTs7aUVBQUE7QUFJQTs7d0VBQUE7QUFJSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F0R3EweEJSO0FzR24weEJJO0VBQ0k7RUFDQTtBdEdxMHhCUjtBc0duMHhCSTtFQUNJO0F0R3EweEJSOztBc0dqMHhCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEdvMHhCSjtBc0dsMHhCSTtFQUNJO0VBQ0E7QXRHbzB4QlI7O0FzR2gweEJBO0VBQ0k7QXRHbTB4Qko7QXNHajB4Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0R20weEJSO0FzR2oweEJRO0VBQ0k7QXRHbTB4Qlo7QXNHL3p4Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEdpMHhCUjtBc0c5enhCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0R2cweEJSO0FzRzl6eEJRO0VBQ0k7RUFDQTtBdEdnMHhCWjtBc0c3enhCUTtFQUNJO0F0Ryt6eEJaOztBc0cxenhCQTtBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXRHNHp4Qko7QXNHMXp4Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdEc0enhCUjtBc0cxenhCUTtFQUNJO0VBQ0E7QXRHNHp4Qlo7QXNHMXp4QlE7RUFDSTtFQUNBO0F0RzR6eEJaO0FzR3h6eEJJO0VBQ0k7RUFDQTtBdEcwenhCUjtBc0d2enhCSTtFQUNJO0VBQ0E7RUFDQTtBdEd5enhCUjs7QXNHcnp4QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEd3enhCSjtBc0d0enhCSTtFQUNJO0VBQ0E7RUFDQTtBdEd3enhCUjtBc0d0enhCUTtFQUNJO0F0R3d6eEJaO0FzR3J6eEJRO0VBQ0k7RUFDQTtBdEd1enhCWjtBc0duenhCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F0R3F6eEJSOztBc0dqenhCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEdvenhCSjtBc0dsenhCSTtFQUFJO0F0R3F6eEJSO0FzR256eEJJO0VBQ0k7RUFDQTtBdEdxenhCUjtBc0dsenhCSTtFQUNJO0VBQ0E7RUFDQTtBdEdvenhCUjtBc0dqenhCSTtFQUNJO0F0R216eEJSO0FzR2p6eEJRO0VBQU87QXRHb3p4QmY7O0FzR2h6eEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRHbXp4Qko7QXNHanp4Qkk7RUFDSTtBdEdtenhCUjtBc0doenhCSTtFQUNJO0VBQ0E7QXRHa3p4QlI7O0FzRzl5eEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLG9PQUNJO0VBSUo7RUFDQTtFQUNBO0VBQ0E7QXRHNnl4Qko7QXNHM3l4Qkk7RUFDSTtFQUNBO0VBQ0E7QXRHNnl4QlI7O0FzR3p5eEJBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdEc0eXhCSjtBc0cxeXhCSTtFQUFhO0F0RzZ5eEJqQjs7QXNHMXl4QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEc2eXhCSjs7QXNHMXl4QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEc2eXhCSjtBc0czeXhCSTtFQUVJO0VBQ0E7QXRHNHl4QlI7O0FzR3h5eEJBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RzJ5eEJKOztBc0d4eXhCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RzJ5eEJKO0FzR3p5eEJJO0VBQ0k7RUFDQTtFQUNBO0F0RzJ5eEJSO0FzR3p5eEJJO0VBQ0k7RUFDQTtFQUNBO0F0RzJ5eEJSOztBc0d2eXhCQTtFQUNJO0VBQ0E7RUFDQTtBdEcweXhCSjs7QXNHdnl4QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RzB5eEJKOztBc0d2eXhCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEcweXhCSjs7QXNHdnl4QkE7RUFDSTtBdEcweXhCSjtBc0d4eXhCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEcweXhCUjtBc0d2eXhCSTtFQUNJO0F0R3l5eEJSOztBc0dyeXhCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEd3eXhCSjtBc0d0eXhCSTtFQUFZO0F0R3l5eEJoQjs7QXNHdHl4QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRHeXl4Qko7QXNHdnl4Qkk7RUFDSTtFQUNBO0F0R3l5eEJSO0FzR3R5eEJJO0VBRUk7QXRHdXl4QlI7O0FzR2x5eEJJO0VBQ0k7RUFDQTtBdEdxeXhCUjtBc0dueXhCSTtFQUNJO0F0R3F5eEJSO0FzR3B5eEJRO0VBQW1CO0F0R3V5eEIzQjtBc0dyeXhCSTtFQUNJO0VBQ0E7RUFDQTtBdEd1eXhCUjtBc0dyeXhCSTtFQUNJO0VBQ0E7QXRHdXl4QlI7QXNHdHl4QlE7RUFBbUI7RUFBcUI7QXRHMHl4QmhEO0FzR3h5eEJJO0VBQ0k7RUFDQTtFQUNBO0F0RzB5eEJSO0FzR3h5eEJJO0VBQ0k7RUFDQTtFQUNBO0F0RzB5eEJSO0FzR3h5eEJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXRHMHl4QlI7O0FBbHR5QkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXF0eUJKO0FBbnR5Qkk7RUFDSTtFQUNBO0VBQ0E7QUFxdHlCUjs7QUFqdHlCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0FBb3R5Qko7O0FBbHR5QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBcXR5Qko7QUFudHlCSTtFQUNJO0VBQ0E7QUFxdHlCUjs7QUFsdHlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBcXR5Qko7QUFudHlCSTtFQUNJO0VBQ0E7RUFDQTtBQXF0eUJSOztBQWx0eUJBO0VBQ0k7RUFDQTtBQXF0eUJKOztBQW50eUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFzdHlCSjs7QUFwdHlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXV0eUJKOztBQXJ0eUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBd3R5Qko7QUF0dHlCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUF3dHlCUjtBQXR0eUJRO0VBQVU7QUF5dHlCbEI7QUF2dHlCSTtFQUFJO0VBQW1CO0FBMnR5QjNCOztBQXZ0eUJBO0VBQ0k7RUFDQTtBQTB0eUJKOztBQXZ0eUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUEwdHlCSjs7QUF2dHlCQTs7OERBQUE7QUFHQTtFQUNJO0FBMHR5Qko7QUF6dHlCSTtFQUNJO0VBQ0E7QUEydHlCUjs7QUF2dHlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUEwdHlCSjs7QUF2dHlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FBMHR5Qko7O0FBdnR5QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQTB0eUJKOztBQXZ0eUJBOzs4REFBQTtBQUdBO0VBQ0k7RUFDQTtFQUNBO0FBMHR5Qko7O0FBdnR5QkE7RUFDSTtFQUNBO0FBMHR5Qko7O0FBdnR5QkE7RUFDSTtFQUNBO0VBQ0E7QUEwdHlCSjs7QUF2dHlCQTtFQUNJO0VBQ0E7QUEwdHlCSjtBQXp0eUJJO0VBQ0k7RUFDQTtBQTJ0eUJSO0FBenR5Qkk7RUFDSTtFQUNBO0FBMnR5QlI7O0FBdnR5QkE7RUFDSTtBQTB0eUJKOztBQXZ0eUJBOzs4REFBQTtBQUdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUEwdHlCSjs7QUF2dHlCQTtFQUNJO0FBMHR5Qko7O0FBdnR5QkE7RUFDSTtFQUNBO0FBMHR5Qko7O0FBdnR5QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQTB0eUJKO0FBenR5Qkk7RUFDSTtFQUNBO0FBMnR5QlI7QUF6dHlCSTtFQUFlO0FBNHR5Qm5COztBQXp0eUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTR0eUJKOztBQXp0eUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBNHR5Qko7O0FBenR5QkE7RUFDSTtFQUNBO0FBNHR5Qko7O0FBenR5QkE7RUFDSTtFQUNBO0FBNHR5Qko7O0FBenR5QkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUE0dHlCSjs7QUExdHlCQTtFQUEyQjtFQUFxQjtBQSt0eUJoRDs7QUE5dHlCQTtFQUFxQztBQWt1eUJyQzs7QUFqdXlCQTtFQUF3QztBQXF1eUJ4Qzs7QUFwdXlCQTtFQUE0QztBQXd1eUI1Qzs7QUF0dXlCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBLHdFQUNJO0FBdXV5QlI7O0FBbnV5QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFzdXlCSjs7QUFudXlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXN1eUJKOztBQXB1eUJBO0VBQ0k7SUFBTztJQUFzQjtFQXl1eUIvQjtFQXh1eUJFO0lBQU87SUFBdUI7RUE0dXlCaEM7QUFDRjtBQTF1eUJBO0VBQ0ksd0RBQ0k7QUEydXlCUjs7QUF2dXlCQTtFQUEyQjtBQTJ1eUIzQjs7QUExdXlCQTtFQUEyQjtBQTh1eUIzQjs7QUE1dXlCQTs7OERBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FBNnV5Qko7QUEzdXlCSTtFQUNJO0VBQ0E7QUE2dXlCUjtBQTF1eUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUE0dXlCUjtBQTF1eUJRO0VBQ0k7QUE0dXlCWjtBQXp1eUJRO0VBQ0k7RUFDQTtFQUNBO0FBMnV5Qlo7QUF6dXlCWTtFQUNJO0VBQ0E7QUEydXlCaEI7QUF2dXlCUTtFQUNJO0VBQ0E7QUF5dXlCWjtBQXZ1eUJZO0VBQ0k7QUF5dXlCaEI7QUFwdXlCSTtFQUNJO0VBQ0E7RUFDQTtBQXN1eUJSO0FBbnV5Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQXF1eUJSO0FBbnV5QlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQXF1eUJaO0FBbHV5QlE7RUFBSztFQUFxQjtFQUFrQjtBQXV1eUJwRDtBQXR1eUJRO0VBQUs7RUFBaUI7RUFBa0I7QUEydXlCaEQ7QUExdXlCUTtFQUFJO0FBNnV5Qlo7QUE1dXlCUTtFQUFTO0VBQXVCO0FBZ3Z5QnhDO0FBL3V5QlE7RUFBSTtBQWt2eUJaOztBQTl1eUJBO0FBR0E7RUFDSTtFQUNBO0VBQ0E7QUErdXlCSjs7QUE1dXlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUErdXlCSjtBQTd1eUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUErdXlCUjtBQTV1eUJJO0VBRUk7RUFDQTtFQUNBO0FBNnV5QlI7O0FBeHV5QkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUEydXlCSjs7QUF4dXlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUEydXlCSjtBQXp1eUJJO0VBQ0k7RUFDQTtBQTJ1eUJSOztBQXZ1eUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUEwdXlCSjs7QUF2dXlCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUEwdXlCSjs7QUF2dXlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTB1eUJKO0FBeHV5Qkk7RUFBTTtFQUFrQjtBQTR1eUI1QjtBQTF1eUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBNHV5QlI7QUF6dXlCSTtFQUNJO0VBQ0E7RUFDQTtBQTJ1eUJSO0FBeHV5Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQTB1eUJSO0FBeHV5QlE7RUFBTTtBQTJ1eUJkO0FBenV5QlE7RUFDSTtFQUNBO0FBMnV5Qlo7O0FBcnV5Qkk7RUFDSTtFQUNBO0VBQ0E7QUF3dXlCUjtBQXR1eUJRO0VBQVc7RUFBcUM7QUEwdXlCeEQ7QUF4dXlCUTtFQUFVO0VBQWdCO0FBNHV5QmxDOztBQXh1eUJBO0FBQ0E7RUFDSTtBQTJ1eUJKO0FBenV5Qkk7RUFBa0M7RUFBWTtBQTZ1eUJsRDs7QUExdXlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUE2dXlCSjs7QUExdXlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUE2dXlCSjtBQTN1eUJJO0VBQ0k7RUFDQTtBQTZ1eUJSO0FBMXV5Qkk7RUFBVTtBQTZ1eUJkO0FBNXV5Qkk7RUFDSTtFQUNBO0VBQ0E7QUE4dXlCUjs7QUExdXlCQTtBQUNBO0VBQ0k7SUFDSTtJQUNBO0VBNnV5Qk47QUFDRjtBQTF1eUJBO0FBQ0E7RUFBK0M7QUE2dXlCL0M7O0FBNXV5QkE7RUFBdUI7QUFndnlCdkI7O0FBOXV5QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFpdnlCSjs7QUE5dXlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQWl2eUJKO0FBL3V5Qkk7RUFBZTtBQWt2eUJuQjtBQWh2eUJJO0VBQ0k7RUFDQTtBQWt2eUJSO0FBL3V5Qkk7RUFDSTtBQWl2eUJSO0FBL3V5QlE7RUFDSTtBQWl2eUJaOztBQTV1eUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBK3V5Qko7O0FBNXV5QkE7RUFDSTtFQUNBO0FBK3V5Qko7O0FBNXV5QkE7RUFDSTtFQUNBO0VBQ0E7QUErdXlCSjs7QUE1dXlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FBK3V5Qko7O0FBNXV5QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBK3V5Qko7O0FBNXV5QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBK3V5Qko7QUE3dXlCSTtFQUNJO0VBQ0E7QUErdXlCUjs7QUEzdXlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTh1eUJKOztBQTN1eUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUE4dXlCSjs7QUEzdXlCQTtFQUNJO0VBQ0E7QUE4dXlCSjs7QUEzdXlCQTtFQUNJO0VBQ0E7QUE4dXlCSjs7QUEzdXlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBOHV5Qko7O0FBMXV5QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUE2dXlCSjs7QUExdXlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FBNnV5Qko7O0FBMXV5QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTZ1eUJKO0FBM3V5Qkk7O0VBRUk7RUFDQTtBQTZ1eUJSO0FBM3V5QlE7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTh1eUJaO0FBMXV5Qkk7RUFBeUI7QUE2dXlCN0I7QUEzdXlCSTtFQUFJO0VBQWE7QUErdXlCckI7O0FBNXV5QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUErdXlCSjtBQTd1eUJJO0VBQ0k7RUFDQTtFQUNBO0FBK3V5QlI7O0FBM3V5QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTh1eUJKOztBQTN1eUJBO0VBQ0k7RUFDQTtFQUNBO0FBOHV5Qko7O0FBMXV5QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBNnV5Qko7O0FBMXV5QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUE2dXlCSjtBQTN1eUJJO0VBQUk7RUFBZ0I7QUErdXlCeEI7QUE3dXlCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQSt1eUJSOztBQXp1eUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTR1eUJKOztBQXh1eUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBMnV5Qko7QUF6dXlCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTJ1eUJSOztBQXR1eUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXl1eUJKOztBQXJ1eUJBO0VBQXFCO0FBeXV5QnJCOztBQXR1eUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUF5dXlCSjtBQXZ1eUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUF5dXlCUjs7QUF0dXlCQTtFQUEyQjtBQTB1eUIzQjs7QUF6dXlCQTtFQUEyQjtBQTZ1eUIzQjs7QUExdXlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FBNnV5Qko7O0FBM3V5QkE7RUFBMEM7QUErdXlCMUM7O0FBNXV5QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQSt1eUJKOztBQTd1eUJBO0VBQW1DO0FBaXZ5Qm5DOztBQWh2eUJBO0VBQWtCO0VBQWtCO0FBcXZ5QnBDOztBQXB2eUJBO0VBQWtCO0FBd3Z5QmxCOztBQXJ2eUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBd3Z5Qko7O0FBcHZ5QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQXV2eUJKOztBQW52eUJBO0VBQ0k7RUFDQTtFQUNBO0FBc3Z5Qko7O0FBcHZ5QkE7RUFBdUM7RUFBYTtBQXl2eUJwRDs7QUF0dnlCQTtFQUNJO0FBeXZ5Qko7QUF2dnlCSTtFQUFJO0FBMHZ5QlI7QUF6dnlCSTtFQUFlO0FBNHZ5Qm5CO0FBM3Z5Qkk7RUFBSTtBQTh2eUJSO0FBN3Z5Qkk7RUFBTTtFQUFpQjtFQUFjO0VBQW9CO0FBbXd5QjdEO0FBbHd5Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBb3d5QlI7QUFsd3lCSTtFQUFTO0FBcXd5QmI7O0FBbnd5QkE7RUFBaUQ7QUF1d3lCakQ7O0FBcHd5QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXV3eUJKOztBQW53eUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUFzd3lCSjs7QUFsd3lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFxd3lCSjtBQW53eUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUFxd3lCUjtBQW53eUJJO0VBQWM7QUFzd3lCbEI7O0FBbHd5QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFxd3lCSjtBQW53eUJJO0VBQWU7RUFBYTtBQXV3eUJoQztBQXR3eUJJO0VBQXVCO0FBeXd5QjNCOztBQXZ3eUJBO0VBQ0k7RUFDQTtFQUNBO0FBMHd5Qko7QUF4d3lCSTtFQUNJO0VBQ0E7RUFDQTtBQTB3eUJSOztBQXZ3eUJBO0VBQ0k7RUFDQTtFQUNBO0FBMHd5Qko7QUF4d3lCSTtFQUFVO0FBMnd5QmQ7O0FBdnd5QkE7RUFDSTtFQUNBO0VBQ0E7QUEwd3lCSjs7QUF2d3lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FBMHd5Qko7QUF4d3lCSTtFQUFJO0FBMnd5QlI7O0FBdnd5QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUEwd3lCSjtBQXh3eUJJO0VBQ0k7RUFDQTtBQTB3eUJSO0FBdnd5Qkk7RUFDSTtBQXl3eUJSO0FBdHd5Qkk7RUFDSTtFQUNBO0VBQ0E7QUF3d3lCUjtBQXR3eUJRO0VBQXlCO0VBQW1CO0FBMHd5QnBEO0FBend5QlE7RUFBeUI7QUE0d3lCakM7QUEzd3lCUTtFQUF5QjtBQTh3eUJqQzs7QUExd3lCQTtFQUNJO0VBQ0E7RUFDQTtBQTZ3eUJKOztBQTF3eUJBO0VBQ0k7RUFDQTtBQTZ3eUJKO0FBM3d5Qkk7RUFBUztBQTh3eUJiOztBQTN3eUJBO0VBQ0k7RUFDQTtBQTh3eUJKOztBQTF3eUJBO0VBQ0k7SUFDSTtFQTZ3eUJOO0VBM3d5QkU7SUFDSTtFQTZ3eUJOO0VBM3d5QkU7SUFDSTtJQUNBO0VBNnd5Qk47RUEzd3lCRTtJQUNJO0VBNnd5Qk47RUEzd3lCRTtJQUNJO0VBNnd5Qk47RUEzd3lCRTtJQUNJO0VBNnd5Qk47RUEzd3lCRTtJQUNJO0VBNnd5Qk47RUEzd3lCRTtJQUNJO0VBNnd5Qk47RUEzd3lCRTtJQUNJO0VBNnd5Qk47QUFDRjtBQTF3eUJBO0VBQ0k7RUFDQTtBQTR3eUJKOztBQXp3eUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBNHd5Qko7QUExd3lCSTtFQUNJO0FBNHd5QlI7O0FBeHd5QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBMnd5Qko7O0FBeHd5QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUEyd3lCSjtBQXp3eUJJO0VBQ0k7RUFDQTtBQTJ3eUJSOztBQXR3eUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUF5d3lCSjs7QUF0d3lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXl3eUJKOztBQXR3eUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXl3eUJKOztBQXJ3eUJBO0VBQ0k7RUFDQTtBQXd3eUJKOztBQXJ3eUJBO0VBQ0k7RUFDQTtFQUNBO0FBd3d5Qko7QUF0d3lCSTtFQUFlO0FBeXd5Qm5COztBQXR3eUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBeXd5Qko7O0FBdHd5QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBeXd5Qko7O0FBcnd5QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBd3d5Qko7QUF0d3lCSTtFQUNJO0FBd3d5QlI7QUFyd3lCSTtFQUNJO0VBQ0E7QUF1d3lCUjtBQXB3eUJJO0VBQ0k7RUFDQTtFQUNBO0FBc3d5QlI7QUFsd3lCSTtFQUFVO0FBcXd5QmQ7QUFwd3lCSTtFQUFZO0FBdXd5QmhCO0FBdHd5Qkk7RUFBUztBQXl3eUJiOztBQXR3eUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUF5d3lCSjs7QUF0d3lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBeXd5Qko7O0FBdHd5QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQXl3eUJKOztBQXJ3eUJBO0VBQ0k7RUFDQTtFQUNBO0FBd3d5Qko7O0FBcnd5QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUF3d3lCSjs7QUFyd3lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXd3eUJKO0FBdHd5Qkk7RUFBZTtBQXl3eUJuQjtBQXZ3eUJJO0VBQ0k7RUFDQTtBQXl3eUJSOztBQXJ3eUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUF3d3lCSjs7QUFyd3lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUF3d3lCSjtBQXR3eUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBd3d5QlI7O0FBcHd5QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQXV3eUJKOztBQXB3eUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXV3eUJKO0FBcnd5Qkk7RUFBZTtBQXd3eUJuQjs7QUFyd3lCQTtFQUNJO0VBQ0E7QUF3d3lCSjs7QUFyd3lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FBd3d5Qko7QUF0d3lCSTtFQUFlO0FBeXd5Qm5COztBQXR3eUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXl3eUJKO0FBdnd5Qkk7RUFBZTtBQTB3eUJuQjtBQXh3eUJJO0VBQ0k7QUEwd3lCUjtBQXZ3eUJJO0VBQ0k7RUFDQTtBQXl3eUJSOztBQXB3eUJBO0VBQ0k7RUFDQTtFQUNBO0FBdXd5Qko7QUFyd3lCSTtFQUNJO0VBQ0E7RUFDQTtBQXV3eUJSO0FBcHd5Qkk7RUFDSTtBQXN3eUJSOztBQWp3eUJBO0VBQ0k7RUFDQTtFQUNBO0FBb3d5Qko7O0FBand5QkE7RUFDSTtFQUNBO0FBb3d5Qko7O0FBand5QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFvd3lCSjtBQWx3eUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQW93eUJSO0FBand5Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQW13eUJSO0FBaHd5Qkk7RUFDSTtFQUNBO0FBa3d5QlI7O0FBN3Z5QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBZ3d5Qko7O0FBN3Z5QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBZ3d5Qko7QUE5dnlCSTtFQUNJO0VBQ0E7QUFnd3lCUjs7QUE1dnlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUErdnlCSjs7QUE1dnlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FBK3Z5Qko7O0FBNXZ5QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQSt2eUJKOztBQTN2eUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBOHZ5Qko7O0FBM3Z5QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTh2eUJKO0FBNXZ5Qkk7RUFDSTtFQUNBO0FBOHZ5QlI7O0FBenZ5QkE7RUFDSTtBQTR2eUJKOztBQXh2eUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUEydnlCSjs7QUF4dnlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUEydnlCSjtBQXp2eUJJO0VBQWU7QUE0dnlCbkI7QUEzdnlCSTtFQUFVO0FBOHZ5QmQ7O0FBM3Z5QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQTh2eUJKOztBQTN2eUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUE4dnlCSjtBQTV2eUJJO0VBQVU7QUErdnlCZDtBQTl2eUJJO0VBQVk7QUFpd3lCaEI7O0FBOXZ5QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFpd3lCSjs7QUE5dnlCQTtFQUNJO0VBQ0E7RUFDQTtBQWl3eUJKOztBQTl2eUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUFpd3lCSjs7QUE5dnlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQWl3eUJKO0FBL3Z5Qkk7RUFDSTtFQUNBO0FBaXd5QlI7QUEvdnlCSTtFQUNJO0VBQ0E7QUFpd3lCUjs7QUE3dnlCQTtFQUNJO0VBQ0E7RUFDQTtBQWd3eUJKO0FBOXZ5Qkk7RUFDSTtFQUNBO0FBZ3d5QlI7O0FBNXZ5QkEsb0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL2Fzc2V0cy9zdHlsZXMvZGFzaGJvYXJkX2JyYW5kLnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9hc3NldHMvc3R5bGVzL2FwcC5zY3NzIiwid2VicGFjazovL2FyY2hpaHViLy4vYXNzZXRzL3N0eWxlcy9fZm9udHMuc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19iYW5uZXIuc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19yb290LnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy92ZW5kb3IvX3Jmcy5zY3NzIiwid2VicGFjazovL2FyY2hpaHViLy4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL19jb2xvci1tb2RlLnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fcmVib290LnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL190eXBlLnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX2xpc3RzLnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9faW1hZ2VzLnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX2ltYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fY29udGFpbmVycy5zY3NzIiwid2VicGFjazovL2FyY2hpaHViLy4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL19jb250YWluZXIuc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL190YWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fdGFibGUtdmFyaWFudHMuc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL2Zvcm1zL19sYWJlbHMuc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL2Zvcm1zL19mb3JtLXRleHQuc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL2Zvcm1zL19mb3JtLWNvbnRyb2wuc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fdHJhbnNpdGlvbi5zY3NzIiwid2VicGFjazovL2FyY2hpaHViLy4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL2Zvcm1zL19mb3JtLXNlbGVjdC5zY3NzIiwid2VicGFjazovL2FyY2hpaHViLy4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL19sdHItcnRsLnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9mb3Jtcy9fZm9ybS1jaGVjay5zY3NzIiwid2VicGFjazovL2FyY2hpaHViLy4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvZm9ybXMvX2Zvcm0tcmFuZ2Uuc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL2Zvcm1zL19mbG9hdGluZy1sYWJlbHMuc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwid2VicGFjazovL2FyY2hpaHViLy4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL19mb3Jtcy5zY3NzIiwid2VicGFjazovL2FyY2hpaHViLy4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX2J1dHRvbnMuc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fYnV0dG9ucy5zY3NzIiwid2VicGFjazovL2FyY2hpaHViLy4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX3RyYW5zaXRpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fZHJvcGRvd24uc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fY2FyZXQuc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19idXR0b24tZ3JvdXAuc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19uYXYuc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19uYXZiYXIuc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19jYXJkLnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fYWNjb3JkaW9uLnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fYnJlYWRjcnVtYi5zY3NzIiwid2VicGFjazovL2FyY2hpaHViLy4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX3BhZ2luYXRpb24uc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovL2FyY2hpaHViLy4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX2JhZGdlLnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fYWxlcnQuc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19wcm9ncmVzcy5zY3NzIiwid2VicGFjazovL2FyY2hpaHViLy4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX2xpc3QtZ3JvdXAuc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19jbG9zZS5zY3NzIiwid2VicGFjazovL2FyY2hpaHViLy4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX3RvYXN0cy5zY3NzIiwid2VicGFjazovL2FyY2hpaHViLy4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX21vZGFsLnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX2JhY2tkcm9wLnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fdG9vbHRpcC5zY3NzIiwid2VicGFjazovL2FyY2hpaHViLy4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL19yZXNldC10ZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fcG9wb3Zlci5zY3NzIiwid2VicGFjazovL2FyY2hpaHViLy4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX2Nhcm91c2VsLnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fc3Bpbm5lcnMuc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19vZmZjYW52YXMuc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19wbGFjZWhvbGRlcnMuc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19hdmF0YXIuc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19jYWxsb3V0LnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9faGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9faWNvbi5zY3NzIiwid2VicGFjazovL2FyY2hpaHViLy4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL19pY29uLnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9zaWRlYmFyL19zaWRlYmFyLnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9zaWRlYmFyL19zaWRlYmFyLW5hdi5zY3NzIiwid2VicGFjazovL2FyY2hpaHViLy4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3Mvc2lkZWJhci9fc2lkZWJhci1uYXJyb3cuc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL2hlbHBlcnMvX2NvbG9yLWJnLnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9oZWxwZXJzL19jb2xvcmVkLWxpbmtzLnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9oZWxwZXJzL19mb2N1cy1yaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9oZWxwZXJzL19pY29uLWxpbmsuc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL2hlbHBlcnMvX3JhdGlvLnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9oZWxwZXJzL19wb3NpdGlvbi5zY3NzIiwid2VicGFjazovL2FyY2hpaHViLy4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvaGVscGVycy9fc3RhY2tzLnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9oZWxwZXJzL192aXN1YWxseS1oaWRkZW4uc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fdmlzdWFsbHktaGlkZGVuLnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9oZWxwZXJzL19zdHJldGNoZWQtbGluay5zY3NzIiwid2VicGFjazovL2FyY2hpaHViLy4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvaGVscGVycy9fdGV4dC10cnVuY2F0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX3RleHQtdHJ1bmNhdGUuc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL2hlbHBlcnMvX3ZyLnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX3V0aWxpdGllcy5zY3NzIiwid2VicGFjazovL2FyY2hpaHViLy4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdXRpbGl0aWVzL19hcGkuc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL2Fzc2V0cy9zdHlsZXMvbG9naW4uc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL2Fzc2V0cy9zdHlsZXMvX2Rhc2hib2FyZC5zY3NzIiwid2VicGFjazovL2FyY2hpaHViLy4vYXNzZXRzL3N0eWxlcy9fZGFzaGJvYXJkX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL2Fzc2V0cy9zdHlsZXMvdG9wYmFyX3VzZXJfZHJvcGRvd24uc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL2Fzc2V0cy9zdHlsZXMvd2VhdGhlci5zY3NzIiwid2VicGFjazovL2FyY2hpaHViLy4vYXNzZXRzL3N0eWxlcy9fcHJvamVjdF93ZWF0aGVyLnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9hc3NldHMvc3R5bGVzL2ltYWdlLXVwbG9hZC5zY3NzIiwid2VicGFjazovL2FyY2hpaHViLy4vYXNzZXRzL3N0eWxlcy9wcm9qZWN0X3Nob3dfY29yZXVpLnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9hc3NldHMvc3R5bGVzL190YXNrcy5zY3NzIiwid2VicGFjazovL2FyY2hpaHViLy4vYXNzZXRzL3N0eWxlcy9fdGFza19tb2RhbF90cmVsbG8uc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL2Fzc2V0cy9zdHlsZXMvX2J1bGtfYWN0aW9ucy5zY3NzIiwid2VicGFjazovL2FyY2hpaHViLy4vYXNzZXRzL3N0eWxlcy9fYmlsbGluZy5zY3NzIiwid2VicGFjazovL2FyY2hpaHViLy4vYXNzZXRzL3N0eWxlcy9fZG9jdW1lbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9hc3NldHMvc3R5bGVzL19ib2FyZF9maWx0ZXIuc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL2Fzc2V0cy9zdHlsZXMvX3Byb2plY3RfY2FyZHMuc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL2Fzc2V0cy9zdHlsZXMvX2Rhc2hib2FyZF9wcmVtaXVtLnNjc3MiLCJ3ZWJwYWNrOi8vYXJjaGlodWIvLi9hc3NldHMvc3R5bGVzL19hcnRpc2FuX3Byb2ZpbGUuc2NzcyIsIndlYnBhY2s6Ly9hcmNoaWh1Yi8uL2Fzc2V0cy9zdHlsZXMvX21lZXRpbmdfcmVwb3J0cy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qID09PT09PT09PT09PSBBcmNoaUh1YiDigJQgVGhlbWUgQ29yZVVJIFNhZmUgT3ZlcmxheSA9PT09PT09PT09PT0gKi9cblxuLnRoZW1lLWFyY2hpaHViIHtcbiAgICAvKiBQYWxldHRlIEFyY2hpSHViICovXG4gICAgLS1haC1iZy1kYXJrOiAjMTQxNDIyO1xuICAgIC0tYWgtdmlvbGV0OiAgIzg5MDM4MjtcbiAgICAtLWFoLXJvc2U6ICAgICNGOUYzRjk7XG4gICAgLS1haC1yb3VnZTogICAjRTExRDVCO1xuICAgIC0tYWgtcm91Z2V2OiAgI0Q3MTcwMDtcbiAgICAtLWFoLXdoaXRlOiAgICNmZmZmZmY7XG4gICAgLS1haC10ZXh0OiAgICAjMUUxRTFFO1xuICAgIC0tYWgtbXV0ZWQ6ICAgIzcxNzE3MTtcbiAgICAtLWFoLWdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjODkwMzgyIDAlLCAjRTExRDVCIDQwJSwgI0Q3MTcwMCAxMDAlKTtcblxuICAgIC8qIERlc2lnbiB0b2tlbnMgKi9cbiAgICAtLWFoLXNoYWRvdy1zbTogMCAxcHggM3B4IHJnYmEoMCwwLDAsLjA0KSwgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjAzKTtcbiAgICAtLWFoLXNoYWRvdy1tZDogMCA0cHggOHB4IHJnYmEoMCwwLDAsLjA0KSwgMCAycHggNHB4IHJnYmEoMCwwLDAsLjAzKTtcbiAgICAtLWFoLXNoYWRvdy1sZzogMCAxMnB4IDI4cHggcmdiYSgwLDAsMCwuMDYpLCAwIDRweCAxMHB4IHJnYmEoMCwwLDAsLjAzKTtcbiAgICAtLWFoLXNoYWRvdy1nbG93OiAwIDAgMCAxcHggcmdiYSgxMzcsMywxMzAsLjA2KSwgMCA0cHggMTZweCByZ2JhKDEzNywzLDEzMCwuMDgpO1xuICAgIC0tYWgtYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4wNik7XG4gICAgLS1haC1ib3JkZXItZ2xhc3M6IHJnYmEoMjU1LDI1NSwyNTUsLjcpO1xuICAgIC0tYWgtcmFkaXVzLWNhcmQ6IDFyZW07XG4gICAgLS1haC1yYWRpdXMtYnRuOiAwLjYyNXJlbTtcblxuICAgIC8qIEdsYXNzIHRva2VuICovXG4gICAgLS1haC1nbGFzcy1iZzogcmdiYSgyNTUsMjU1LDI1NSwuNzIpO1xuICAgIC0tYWgtZ2xhc3MtYmx1cjogYmx1cigxNnB4KTtcblxuICAgIC8qIE1hcHBpbmcgZG91eCAtPiBDb3JlVUkgdmlhIENTUyB2YXJzICovXG4gICAgLS1jdWktcHJpbWFyeTogICAgICAgICM4OTAzODI7XG4gICAgLS1jdWktc2Vjb25kYXJ5OiAgICAgICM3MTcxNzE7XG4gICAgLS1jdWktc3VjY2VzczogICAgICAgICMxMGI5ODE7XG4gICAgLS1jdWktZGFuZ2VyOiAgICAgICAgICNFMTFENUI7XG4gICAgLS1jdWktd2FybmluZzogICAgICAgICNmNTllMGI7XG4gICAgLS1jdWktaW5mbzogICAgICAgICAgICMwZWE1ZTk7XG4gICAgLS1jdWktbGlnaHQ6ICAgICAgICAgICNmOGY5ZmE7XG4gICAgLS1jdWktZGFyazogICAgICAgICAgICMxNDE0MjI7XG4gICAgLS1jdWktbGluay1jb2xvcjogICAgICM4OTAzODI7XG4gICAgLS1jdWktbGluay1ob3Zlci1jb2xvcjogI0UxMUQ1QjtcblxuICAgIC8qIFBvbGljZSBwYXIgZMOpZmF1dCBkYXNoYm9hcmQg4oCUIEludGVyICovXG4gICAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBcIlNlZ29lIFVJXCIsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbi8qIFRpdHJlcyA6IERNIFNhbnMgKi9cbi50aGVtZS1hcmNoaWh1YiBoMSwgLnRoZW1lLWFyY2hpaHViIGgyLCAudGhlbWUtYXJjaGlodWIgaDMsXG4udGhlbWUtYXJjaGlodWIgLmgxLCAudGhlbWUtYXJjaGlodWIgLmgyLCAudGhlbWUtYXJjaGlodWIgLmgzIHtcbiAgICBmb250LWZhbWlseTogXCJETSBTYW5zXCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi8qIGg0LWg2IGFsc28gdXNlIERNIFNhbnMgYnV0IGxpZ2h0ZXIgd2VpZ2h0ICovXG4udGhlbWUtYXJjaGlodWIgaDQsIC50aGVtZS1hcmNoaWh1YiBoNSwgLnRoZW1lLWFyY2hpaHViIGg2LFxuLnRoZW1lLWFyY2hpaHViIC5oNCwgLnRoZW1lLWFyY2hpaHViIC5oNSwgLnRoZW1lLWFyY2hpaHViIC5oNiB7XG4gICAgZm9udC1mYW1pbHk6IFwiRE0gU2Fuc1wiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG4vKiBUb3BiYXIvSGVhZGVyIENvcmVVSSDigJQgZ2xhc3MgYmx1ciAqL1xuLnRoZW1lLWFyY2hpaHViIC5oZWFkZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjg4KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTZweCkgc2F0dXJhdGUoMTgwJSk7XG4gICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTZweCkgc2F0dXJhdGUoMTgwJSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA0KTtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuLnRoZW1lLWFyY2hpaHViIC5oZWFkZXIgLm5hdi1saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tYWgtdGV4dCk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgLjE1cyBlYXNlO1xufVxuLnRoZW1lLWFyY2hpaHViIC5oZWFkZXIgLm5hdi1saW5rOmhvdmVyLFxuLnRoZW1lLWFyY2hpaHViIC5oZWFkZXIgLmRyb3Bkb3duLXRvZ2dsZTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWFoLXJvdWdlKTtcbn1cblxuLyogSGVhZGVyIHRvZ2dsZXIg4oCUIHNhbWUgc3R5bGUgYXMgdG9wYmFyIGljb25zICovXG4udGhlbWUtYXJjaGlodWIgLmhlYWRlci10b2dnbGVyIHtcbiAgICB3aWR0aDogMi4yNXJlbTtcbiAgICBoZWlnaHQ6IDIuMjVyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwLjYyNXJlbTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLWFoLW11dGVkKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjE1cyBlYXNlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnRoZW1lLWFyY2hpaHViIC5oZWFkZXItdG9nZ2xlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMzcsMywxMzAsLjA0KTtcbiAgICBjb2xvcjogdmFyKC0tYWgtdmlvbGV0KTtcbn1cblxuLyogTG9nbyBhcnRpc2FuIGNlbnRyw6kgZGFucyBsYSB0b3BiYXIgKHBvc2l0aW9ubmVtZW50IGFic29sdSA6IHJlc3RlIGNlbnRyw6lcbiAgIHF1ZWxsZSBxdWUgc29pdCBsYSBsYXJnZXVyIGRlcyBncm91cGVzIGdhdWNoZS9kcm9pdGUpICovXG4udGhlbWUtYXJjaGlodWIgLmhlYWRlciAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4udGhlbWUtYXJjaGlodWIgLmFoLXRvcGJhci1sb2dvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgei1pbmRleDogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcblxuICAgIGltZyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIG1heC13aWR0aDogMTgwcHg7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgfVxufVxuXG4vKiBUb3BiYXIgaWNvbiBidXR0b25zIOKAlCB1bmlmb3JtIHNpemluZyBhbmQgaG92ZXIgKi9cbi50aGVtZS1hcmNoaWh1YiAuaGVhZGVyIC5haC10b3BiYXItaWNvbiB7XG4gICAgd2lkdGg6IDIuMjVyZW07XG4gICAgaGVpZ2h0OiAyLjI1cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMC42MjVyZW07XG4gICAgY29sb3I6IHZhcigtLWFoLW11dGVkKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjE1cyBlYXNlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi50aGVtZS1hcmNoaWh1YiAuaGVhZGVyIC5haC10b3BiYXItaWNvbjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWFoLXZpb2xldCk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMzcsMywxMzAsLjA0KTtcbn1cbi8qIFdlYXRoZXIgdHJpZ2dlciDigJQgYXV0byB3aWR0aCBmb3IgaWNvbiArIHRlbXAgdGV4dCAqL1xuLnRoZW1lLWFyY2hpaHViIC5oZWFkZXIgLmFoLXRvcGJhci1pY29uLS13ZWF0aGVyIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBnYXA6IDAuM3JlbTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZzogMC4xMjVyZW0gMC41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGNvbG9yOiB2YXIoLS1haC10ZXh0LCAjMWUxZTFlKTtcbn1cbi50aGVtZS1hcmNoaWh1YiAuaGVhZGVyIC5haC10b3BiYXItaWNvbi0td2VhdGhlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMzcsIDMsIDEzMCwgLjA2KTtcbiAgICBjb2xvcjogdmFyKC0tYWgtdmlvbGV0LCAjODkwMzgyKTtcbn1cbi50aGVtZS1hcmNoaWh1YiAuaGVhZGVyIC5haC10b3BiYXItaWNvbiAuYmFkZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDJweDtcbiAgICByaWdodDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgbWluLXdpZHRoOiAxcmVtO1xuICAgIGhlaWdodDogMXJlbTtcbiAgICBwYWRkaW5nOiAwIDAuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG59XG5cbi8qIEtpbGwgQ29yZVVJIC5uYXYtbGluayBwYWRkaW5nIGluc2lkZSBoZWFkZXItbmF2ICovXG4udGhlbWUtYXJjaGlodWIgLmhlYWRlci1uYXYgLm5hdi1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiBTZXBhcmF0b3IgYmVmb3JlIHVzZXIgZHJvcGRvd24gKi9cbi50aGVtZS1hcmNoaWh1YiAudG9wYmFyLXVzZXI6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC4wOCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cblxuLyogU2lkZWJhciBDb3JlVUkg4oCUIHJlZmluZWQgZGFyayB0aGVtZSAqL1xuLnRoZW1lLWFyY2hpaHViIC5zaWRlYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMWExYTJlIDAlLCAjMTQxNDIyIDEwMCUpO1xuICAgIGNvbG9yOiAjZjdmN2ZiO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi8qIFN1YnRsZSBicmFuZCBoYXplIGF0IHRvcCBvZiBzaWRlYmFyIChsb2dvIHZpb2xldCkgKi9cbi50aGVtZS1hcmNoaWh1YiAuc2lkZWJhcjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDIwMHB4O1xuICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IDUwJSAwJSwgcmdiYSgxMzcsMywxMzAsLjA5KSAwJSwgdHJhbnNwYXJlbnQgNzAlKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiAwO1xufVxuLyogTmF2IGZpbGxzIGF2YWlsYWJsZSBzcGFjZSBzbyB0aGUgbG9nbyBmb290ZXIgcGlucyB0byB0aGUgYm90dG9tICovXG4udGhlbWUtYXJjaGlodWIgLnNpZGViYXItbmF2IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtaW4taGVpZ2h0OiAwO1xufVxuXG4vKiBCcmFuZCBjaGV2cm9ucyDigJQgb3ZlcnNpemVkIGJhY2tncm91bmQgd2F0ZXJtYXJrIGF0IHRoZSBib3R0b20gKEJMQVNULXN0eWxlKSAqL1xuLnRoZW1lLWFyY2hpaHViIC5zaWRlYmFyLWZvb3RlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDA7ICAgICAgICAgICAgICAgICAvKiBiZWhpbmQgdGhlIG5hdiAoei1pbmRleCAxKSAqL1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4udGhlbWUtYXJjaGlodWIgLnNpZGViYXItZm9vdGVyLWxvZ28ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxNTAlOyAgICAgICAgICAgICAgICAvKiB2ZXJ5IGxhcmdlLCBibGVlZHMgb2ZmIHRoZSBzaWRlcyAqL1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3BhY2l0eTogLjE4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMCUpOyAvKiBibGVlZCBvZmYgdGhlIGJvdHRvbSBlZGdlICovXG59XG4vKiBOYXJyb3cgKGljb24tb25seSkgc2lkZWJhciDigJQgaGlkZSB0aGUgb3ZlcnNpemVkIHdhdGVybWFyayAqL1xuLnNpZGViYXItbmFycm93IC5zaWRlYmFyLWZvb3Rlci1sb2dvIHsgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBMb2dvIHNlY3Rpb24gKi9cbi50aGVtZS1hcmNoaWh1YiAuc2lkZWJhci1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMDYpICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG59XG4udGhlbWUtYXJjaGlodWIgLmFoLWJyYW5kLXRleHQge1xuICAgIGZvbnQtZmFtaWx5OiBcIkRNIFNhbnNcIiwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW07XG59XG4udGhlbWUtYXJjaGlodWIgLmFoLWJyYW5kLXRleHQtbmFycm93IHtcbiAgICBmb250LWZhbWlseTogXCJETSBTYW5zXCIsIHN5c3RlbS11aSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1haC1ncmFkaWVudCk7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbn1cblxuLyogTmF2IGl0ZW1zIOKAlCByZWZpbmVkIHNwYWNpbmcgYW5kIHRyYW5zaXRpb25zICovXG4udGhlbWUtYXJjaGlodWIgLnNpZGViYXIgLm5hdi1saW5rIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNik7XG4gICAgYm9yZGVyLXJhZGl1czogMC42MjVyZW07XG4gICAgbWFyZ2luOiAycHggMC43NXJlbTtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjg3NXJlbTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0NTA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDA1ZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG4udGhlbWUtYXJjaGlodWIgLnNpZGViYXIgLm5hdi1saW5rIC5uYXYtaWNvbiB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBvcGFjaXR5OiAuNztcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLCB0cmFuc2Zvcm0gLjJzIGVhc2U7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtO1xuICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgIG1pbi13aWR0aDogMS4yNXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLnRoZW1lLWFyY2hpaHViIC5zaWRlYmFyIC5uYXYtbGluazpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMDYpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMDQpO1xufVxuLnRoZW1lLWFyY2hpaHViIC5zaWRlYmFyIC5uYXYtbGluazpob3ZlciAubmF2LWljb24ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCk7XG59XG5cbi8qIEFjdGl2ZSBzdGF0ZSDigJQgc29mdCBnbG93ICovXG4udGhlbWUtYXJjaGlodWIgLnNpZGViYXIgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMzcsMywxMzAsLjEyKTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTM3LDMsMTMwLC4xOCk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBib3gtc2hhZG93OiAwIDAgMTJweCByZ2JhKDEzNywzLDEzMCwuMSk7XG59XG5cbi8qIEFjdGl2ZSBzdGF0ZSDigJQgc29saWQgYnJhbmQgcmVkIG9uIGljb24gKyBsYWJlbCAobGVnaWJsZSkgKi9cbi50aGVtZS1hcmNoaWh1YiAuc2lkZWJhciAubmF2LWxpbmsuYWN0aXZlLFxuLnRoZW1lLWFyY2hpaHViIC5zaWRlYmFyIC5uYXYtbGluay5hY3RpdmUgLm5hdi1pY29uLFxuLnRoZW1lLWFyY2hpaHViIC5zaWRlYmFyIC5uYXYtbGluay5hY3RpdmUgc3BhbiB7XG4gICAgY29sb3I6IHZhcigtLWFoLXJvdWdlKTtcbiAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdmFyKC0tYWgtcm91Z2UpO1xuICAgIG9wYWNpdHk6IDE7XG59XG4vKiBBY3RpdmUgaW5kaWNhdG9yIOKAlCBncmFkaWVudCBiYXIgb24gdGhlIGxlZnQgZWRnZSAqL1xuLnRoZW1lLWFyY2hpaHViIC5zaWRlYmFyIC5uYXYtbGluay5hY3RpdmU6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTAuNzVyZW07XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHdpZHRoOiAzcHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMnB4IDJweCAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWFoLWdyYWRpZW50KTtcbn1cblxuLyogU2VjdGlvbiB0aXRsZXMgKi9cbi50aGVtZS1hcmNoaWh1YiAuc2lkZWJhciAubmF2LXRpdGxlIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMzUpO1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gICAgcGFkZGluZzogMS4yNXJlbSAxcmVtIDAuNXJlbTtcbiAgICBtYXJnaW46IDAgMC43NXJlbTtcbn1cblxuLyogTmFycm93IHN0YXRlIOKAlCBoaWRlIGFjdGl2ZSBiYXIgKi9cbi5zaWRlYmFyLW5hcnJvdyAubmF2LWxpbmsuYWN0aXZlOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cblxuLyogQnJlYWRjcnVtYiAvIHBhZ2UgdGl0bGUgKi9cbi50aGVtZS1hcmNoaWh1YiAuYnJlYWRjcnVtYiB7XG4gICAgLS1jdWktYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAjYmNiY2MzO1xuICAgIGNvbG9yOiAjOGE4YTkzO1xufVxuLnRoZW1lLWFyY2hpaHViIC5wYWdlLXRpdGxlLCAudGhlbWUtYXJjaGlodWIgLnBhZ2UtdGl0bGUgaDEge1xuICAgIGZvbnQtZmFtaWx5OiBcIkRNIFNhbnNcIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBcIlNlZ29lIFVJXCIsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQk9VVE9OUyBNT0RFUk5FUyDigJQgUm91bmRlZCwgaGF1dGV1ciB1bmlmb3JtZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udGhlbWUtYXJjaGlodWIgLmJ0biB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IC4zNXJlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgYm9yZGVyLXJhZGl1czogLjYyNXJlbTtcbiAgICBwYWRkaW5nOiAuNXJlbSAxcmVtO1xuICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7XG5cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICBvdXRsaW5lOiAycHggc29saWQgcmdiYSgxMzcsMywxMzAsLjQpO1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgIH1cbn1cblxuLnRoZW1lLWFyY2hpaHViIC5idG4tc20ge1xuICAgIHBhZGRpbmc6IC4zNzVyZW0gLjc1cmVtO1xuICAgIGZvbnQtc2l6ZTogLjgxMjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG59XG5cbi50aGVtZS1hcmNoaWh1YiBhLmJ0biB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLyogQm91dG9uIHByaW1haXJlIOKAlCBncmFkaWVudCArIGdsb3cgKi9cbi50aGVtZS1hcmNoaWh1YiAuYnRuLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWFoLWdyYWRpZW50KTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgxMzcsMywxMzAsLjIpO1xufVxuLnRoZW1lLWFyY2hpaHViIC5idG4tcHJpbWFyeTpob3Zlcixcbi50aGVtZS1hcmNoaWh1YiAuYnRuLXByaW1hcnk6Zm9jdXMge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICBib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEoMTM3LDMsMTMwLC4zKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMS4wNSk7XG59XG4udGhlbWUtYXJjaGlodWIgLmJ0bi1wcmltYXJ5OmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDZweCByZ2JhKDEzNywzLDEzMCwuMik7XG59XG5cbi8qIEJvdXRvbiBvdXRsaW5lIHNlY29uZGFpcmUg4oCUIGdsYXNzIHN0eWxlICovXG4udGhlbWUtYXJjaGlodWIgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSB7XG4gICAgY29sb3I6IHZhcigtLWFoLXRleHQpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjYpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDRweCk7XG4gICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KTtcbn1cbi50aGVtZS1hcmNoaWh1YiAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmhvdmVyLFxuLnRoZW1lLWFyY2hpaHViIC5idG4tb3V0bGluZS1zZWNvbmRhcnk6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS1haC10ZXh0KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC45KTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsLjE1KTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1haC1zaGFkb3ctbWQpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cbi50aGVtZS1hcmNoaWh1YiAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIEJvdXRvbiBvdXRsaW5lIHByaW1haXJlICovXG4udGhlbWUtYXJjaGlodWIgLmJ0bi1vdXRsaW5lLXByaW1hcnkge1xuICAgIGNvbG9yOiB2YXIoLS1haC12aW9sZXQpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTM3LDMsMTMwLC4yNSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMzcsMywxMzAsLjA0KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuLnRoZW1lLWFyY2hpaHViIC5idG4tb3V0bGluZS1wcmltYXJ5OmhvdmVyLFxuLnRoZW1lLWFyY2hpaHViIC5idG4tb3V0bGluZS1wcmltYXJ5OmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tYWgtd2hpdGUpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWFoLWdyYWRpZW50KTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICBib3gtc2hhZG93OiAwIDZweCAxNnB4IHJnYmEoMTM3LDMsMTMwLC4yNSk7XG59XG4udGhlbWUtYXJjaGlodWIgLmJ0bi1vdXRsaW5lLXByaW1hcnk6YWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyogQm91dG9uIHN1Y2Nlc3MgKi9cbi50aGVtZS1hcmNoaWh1YiAuYnRuLXN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMxMGI5ODEsICMwNTk2NjkpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgxNiwxODUsMTI5LC4yKTtcbn1cbi50aGVtZS1hcmNoaWh1YiAuYnRuLXN1Y2Nlc3M6aG92ZXIgeyBib3gtc2hhZG93OiAwIDZweCAxNnB4IHJnYmEoMTYsMTg1LDEyOSwuMyk7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTsgfVxuXG4vKiBCb3V0b24gZGFuZ2VyIG91dGxpbmUgKi9cbi50aGVtZS1hcmNoaWh1YiAuYnRuLW91dGxpbmUtZGFuZ2VyIHtcbiAgICBjb2xvcjogI0UxMUQ1QjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIyNSwyOSw5MSwuMik7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMjUsMjksOTEsLjAzKTtcbn1cbi50aGVtZS1hcmNoaWh1YiAuYnRuLW91dGxpbmUtZGFuZ2VyOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAjRTExRDVCO1xuICAgIGJvcmRlci1jb2xvcjogI0UxMUQ1QjtcbiAgICBib3gtc2hhZG93OiAwIDZweCAxNnB4IHJnYmEoMjI1LDI5LDkxLC4yNSk7XG59XG5cbi8qIEJvdXRvbnMgb3V0bGluZSBjb2jDqXJlbnRzICovXG4udGhlbWUtYXJjaGlodWIgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSxcbi50aGVtZS1hcmNoaWh1YiAuYnRuLW91dGxpbmUtcHJpbWFyeSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKiBMaWVucyAqL1xuLnRoZW1lLWFyY2hpaHViIGEgeyBjb2xvcjogdmFyKC0tYWgtdmlvbGV0KTsgdHJhbnNpdGlvbjogY29sb3IgLjE1cyBlYXNlOyB9XG4udGhlbWUtYXJjaGlodWIgYTpob3ZlciwgLnRoZW1lLWFyY2hpaHViIGE6Zm9jdXMgeyBjb2xvcjogdmFyKC0tYWgtcm91Z2UpOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ0FSRFMg4oCUIENsZWFuLCBzYW5zIGJvcmR1cmUgbG91cmRlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50aGVtZS1hcmNoaWh1YiAuY2FyZCB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWgtcmFkaXVzLWNhcmQpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFoLWJvcmRlci1jb2xvcik7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tYWgtc2hhZG93LXNtKTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IC4ycyBlYXNlLCB0cmFuc2Zvcm0gLjJzIGVhc2U7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuLyogQmFkZ2VzICovXG4udGhlbWUtYXJjaGlodWIgLmJhZGdlLmJnLXByaW1hcnkgeyBiYWNrZ3JvdW5kOiAjODkwMzgyICFpbXBvcnRhbnQ7IH1cbi50aGVtZS1hcmNoaWh1YiAuYmFkZ2UuYmctZGFuZ2VyICB7IGJhY2tncm91bmQ6ICNFMTFENUIgIWltcG9ydGFudDsgfVxuXG4vKiBUYWJsZXMg4oCUIG1vZGVybiBoZWFkZXIgKGZpbGV0IHZpb2xldCBoYXJtb25pc8OpIHN1ciB0b3VzIGxlcyB0YWJsZWF1eCkgKi9cbi50aGVtZS1hcmNoaWh1YiAudGFibGUgdGhlYWQgdGgsXG4udGhlbWUtYXJjaGlodWIgLnRhYmxlID4gOm5vdChjYXB0aW9uKSA+ICogPiB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHJnYmEoMTM3LCAzLCAxMzAsIC4xNSk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IC43MnJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA2ZW07XG4gICAgY29sb3I6IHZhcigtLWFoLXZpb2xldCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyogRHJvcGRvd24gbWVudSDigJQgcHJlbWl1bSAqL1xuLnRoZW1lLWFyY2hpaHViIC5kcm9wZG93bi1tZW51IHtcbiAgICBib3JkZXItcmFkaXVzOiAuNzVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWgtYm9yZGVyLWNvbG9yKTtcbiAgICBib3gtc2hhZG93OiAwIDEycHggMzJweCByZ2JhKDAsIDAsIDAsIC4wOCksIDAgMnB4IDZweCByZ2JhKDAsIDAsIDAsIC4wNCk7XG4gICAgcGFkZGluZzogLjM1cmVtO1xuICAgIG1pbi13aWR0aDogMTRyZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBtYXJnaW4tdG9wOiAuMzVyZW07XG4gICAgYW5pbWF0aW9uOiBhaERyb3Bkb3duSW4gLjE1cyBlYXNlLW91dDtcbn1cblxuQGtleWZyYW1lcyBhaERyb3Bkb3duSW4ge1xuICAgIGZyb20geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7IH1cbiAgICB0byAgIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG59XG5cbi50aGVtZS1hcmNoaWh1YiAuZHJvcGRvd24taXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjYyNXJlbTtcbiAgICBwYWRkaW5nOiAuNXJlbSAuNzVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogLjgxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogdmFyKC0tYWgtdGV4dCk7XG4gICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjEycyBlYXNlLCBjb2xvciAuMTJzIGVhc2U7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgaSwgLmJpIHtcbiAgICAgICAgZm9udC1zaXplOiAuOTVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1haC1tdXRlZCk7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuMTJzIGVhc2U7XG4gICAgfVxuXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LCAzLCAxMzAsIC4wOCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1haC12aW9sZXQpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgaSwgLmJpIHsgY29sb3I6IHZhcigtLWFoLXZpb2xldCk7IH1cbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LCAzLCAxMzAsIC4xMik7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1haC12aW9sZXQpO1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYWgtdmlvbGV0KTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG5cbiAgICAgICAgaSwgLmJpIHsgY29sb3I6ICNmZmY7IH1cbiAgICB9XG5cbiAgICAmLmRpc2FibGVkLCAmOmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICNiOGI4Yjg7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgb3BhY2l0eTogLjY1O1xuXG4gICAgICAgIGksIC5iaSB7IGNvbG9yOiAjYzhjOGM4OyB9XG4gICAgfVxufVxuXG4udGhlbWUtYXJjaGlodWIgLmRyb3Bkb3duLWl0ZW0tLWRhbmdlciB7XG4gICAgY29sb3I6IHZhcigtLWFoLXJvdWdlKTtcblxuICAgIGksIC5iaSB7IGNvbG9yOiB2YXIoLS1haC1yb3VnZSk7IH1cblxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIyNSwgMjksIDkxLCAuMDgpO1xuICAgICAgICBjb2xvcjogdmFyKC0tYWgtcm91Z2UpO1xuXG4gICAgICAgIGksIC5iaSB7IGNvbG9yOiB2YXIoLS1haC1yb3VnZSk7IH1cbiAgICB9XG59XG5cbi50aGVtZS1hcmNoaWh1YiAuZHJvcGRvd24tZGl2aWRlciB7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAuMzVyZW0gLjI1cmVtO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1haC1ib3JkZXItY29sb3IpO1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi50aGVtZS1hcmNoaWh1YiAuZHJvcGRvd24taGVhZGVyIHtcbiAgICBwYWRkaW5nOiAuMzVyZW0gLjc1cmVtIC4yNXJlbTtcbiAgICBmb250LXNpemU6IC42OHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4wNWVtO1xuICAgIGNvbG9yOiB2YXIoLS1haC1tdXRlZCk7XG59XG5cbi8qIERyb3Bkb3duIHRyaWdnZXIgYnV0dG9uIOKAlCBzbGlnaHQgdmlzdWFsIGN1ZSB3aGVuIG9wZW5cbiAgIChzY29wZWQgdG8gb3V0bGluZS9naG9zdCB2YXJpYW50cyBvbmx5IOKAlCBuZXZlciBvdmVycmlkZSBmaWxsZWQgYnV0dG9ucykgKi9cbi50aGVtZS1hcmNoaWh1YiAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IC4zNXJlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogLjE1ZW07XG59XG4vKiBEcm9wZG93biBvcGVuZWQgc3RhdGUg4oCUIG1pcnJvciB0aGUgOmhvdmVyIGxvb2sgKHNvbGlkIGZpbGwpIHNvIHRoZSB0ZXh0XG4gICBzdGF5cyByZWFkYWJsZS4gVGhlIDpmb2N1cyBzdGF0ZSBhbG9uZSBnaXZlcyB3aGl0ZSB0ZXh0LCBhbmQgYSBuZWFyLXdoaXRlXG4gICBiYWNrZ3JvdW5kIG1hZGUgaXQgaW52aXNpYmxlLiAqL1xuLnRoZW1lLWFyY2hpaHViIC5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5zaG93IHtcbiAgICBjb2xvcjogdmFyKC0tYWgtd2hpdGUpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWFoLWdyYWRpZW50KTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnRoZW1lLWFyY2hpaHViIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLnNob3cge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjA0KTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbn1cbi50aGVtZS1hcmNoaWh1YiAuYnRuLWxpbmsuZHJvcGRvd24tdG9nZ2xlLnNob3cge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LCAzLCAxMzAsIC4wOCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSU5QVVRTIOKAlCBIYXV0ZXVyIHVuaWZvcm1lLCBzdHlsZSBtb2Rlcm5lXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50aGVtZS1hcmNoaWh1YiAuZm9ybS1jb250cm9sLFxuLnRoZW1lLWFyY2hpaHViIC5mb3JtLXNlbGVjdCB7XG4gICAgYm9yZGVyLXJhZGl1czogLjYyNXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4xKTtcbiAgICBwYWRkaW5nOiAuNXJlbSAuODc1cmVtO1xuICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjgpO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAuMnMgZWFzZSwgYm94LXNoYWRvdyAuMnMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZTtcbn1cbi50aGVtZS1hcmNoaWh1YiAuZm9ybS1jb250cm9sOmZvY3VzLFxuLnRoZW1lLWFyY2hpaHViIC5mb3JtLXNlbGVjdDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDEzNywzLDEzMCwuMzUpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDEzNywzLDEzMCwuMSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi50aGVtZS1hcmNoaWh1YiAuZm9ybS1jb250cm9sOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNhMGEwYTg7XG59XG4udGhlbWUtYXJjaGlodWIgLmZvcm0tY29udHJvbC1zbSxcbi50aGVtZS1hcmNoaWh1YiAuZm9ybS1zZWxlY3Qtc20ge1xuICAgIGhlaWdodDogMi4yNXJlbTtcbiAgICBwYWRkaW5nOiAuMzVyZW0gLjc1cmVtO1xuICAgIGZvbnQtc2l6ZTogLjgxMjVyZW07XG59XG5cbi8qIElucHV0IGdyb3VwIGhhcm1vbmlzw6kgKi9cbi50aGVtZS1hcmNoaWh1YiAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLXRleHQge1xuICAgIGJvcmRlci1yYWRpdXM6IC42MjVyZW0gMCAwIC42MjVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMSk7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjUpO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIHBhZGRpbmc6IC41cmVtIC43NXJlbTtcbn1cbi50aGVtZS1hcmNoaWh1YiAuaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAuNjI1cmVtIC42MjVyZW0gMDtcbn1cbi50aGVtZS1hcmNoaWh1YiAuaW5wdXQtZ3JvdXAtc20gLmlucHV0LWdyb3VwLXRleHQge1xuICAgIGhlaWdodDogMi4yNXJlbTtcbiAgICBwYWRkaW5nOiAuMzVyZW0gLjYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAuNXJlbSAwIDAgLjVyZW07XG59XG4udGhlbWUtYXJjaGlodWIgLmlucHV0LWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgLjVyZW0gLjVyZW0gMDtcbiAgICBoZWlnaHQ6IDIuMjVyZW07XG59XG5cbi8qIGJ0biBkYW5zIGxlcyBncm91cGVzLCBtw6ptZSBoYXV0ZXVyIHF1ZSBsZXMgaW5wdXRzICovXG4udGhlbWUtYXJjaGlodWIgLmJ0biB7IGhlaWdodDogMi41cmVtOyB9XG4udGhlbWUtYXJjaGlodWIgLmJ0bi1zbSB7IGhlaWdodDogMi4yNXJlbTsgfVxuXG4vKiBUb2FzdHMgLyBBbGVydHMgKi9cbi50aGVtZS1hcmNoaWh1YiAuYWxlcnQtcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZTZmZjsgY29sb3I6ICM0ZTFiNmU7IGJvcmRlci1jb2xvcjogI2YyZDZmZDtcbn1cblxuLyogQXZhdGFycyAoYW5uZWF1IHN1YnRpbCkgKi9cbi50aGVtZS1hcmNoaWh1YiAuYXZhdGFyLCAudGhlbWUtYXJjaGlodWIgLnRvcGJhci1hdmF0YXIge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZmZmLCAwIDAgMCA0cHggcmdiYSgxMzcsMywxMzAsLjI1KTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi8qIGhlbHAgdGV4dCBwbHVzIGRpc2NyZXQgKi9cbi50aGVtZS1hcmNoaWh1YiAuZm9ybS10ZXh0IHsgY29sb3I6ICM4YThhOTM7IGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG5cbi8qIGF2YXRhciBkcm9wIHNoYWRvdyBzb2Z0ICovXG4udGhlbWUtYXJjaGlodWIgaW1nLnJvdW5kZWQtY2lyY2xlIHsgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNmZmYsIDAgMCAwIDRweCByZ2JhKDEzNywzLDEzMCwuMTUpOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTkFWIFBJTExTIOKAlCBNb2Rlcm4gQXJjaGlIdWJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRoZW1lLWFyY2hpaHViIC5uYXYtcGlsbHMgLm5hdi1saW5rIHtcbiAgICBib3JkZXItcmFkaXVzOiAuNjI1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1haC1tdXRlZCk7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgcGFkZGluZzogLjVyZW0gMXJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2U7XG59XG4udGhlbWUtYXJjaGlodWIgLm5hdi1waWxscyAubmF2LWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1haC10ZXh0KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC4wNCk7XG59XG4udGhlbWUtYXJjaGlodWIgLm5hdi1waWxscyAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1haC12aW9sZXQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYWgtdmlvbGV0KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMTM3LDMsMTMwLC4yKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBhaC1DQVJEIOKAlCBBY2NlbnQgdG9wIGdyYWRpZW50LCBnbGFzc21vcnBoaXNtIHN1YnRpbFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udGhlbWUtYXJjaGlodWIgLmFoLWNhcmQge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWFoLXJhZGl1cy1jYXJkKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1haC1ib3JkZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG59XG4udGhlbWUtYXJjaGlodWIgLmFoLWNhcmQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwIGF1dG8gYXV0byAwO1xuICAgIGhlaWdodDogM3B4OyB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1haC1ncmFkaWVudCk7XG4gICAgb3BhY2l0eTogLjg1O1xuICAgIHotaW5kZXg6IDI7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qIEdsYXNzIHZhcmlhbnQgKi9cbi50aGVtZS1hcmNoaWh1YiAuYWgtZ2xhc3Mge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWFoLWdsYXNzLWJnKTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IHZhcigtLWFoLWdsYXNzLWJsdXIpO1xuICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiB2YXIoLS1haC1nbGFzcy1ibHVyKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1haC1ib3JkZXItZ2xhc3MpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIGFoLVRBQkxFIOKAlCBUYWJsZSB3aXRoIHN0cnVjdHVyZSBhbmQgcHJlc2VuY2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRoZW1lLWFyY2hpaHViIC5haC10YWJsZSB7XG4gICAgLyogQ29yZVVJIGNlbGxzIHJlYWQgLS1jdWktdGFibGUtYmcgKGRlZmF1bHQgPSBncmV5IGJvZHkgYmcpOyBmb3JjZSB3aGl0ZS4gKi9cbiAgICAtLWJzLXRhYmxlLWJnOiAjZmZmO1xuICAgIC0tY3VpLXRhYmxlLWJnOiAjZmZmO1xuICAgIC0tY3VpLXRhYmxlLWFjY2VudC1iZzogdHJhbnNwYXJlbnQ7XG59XG4udGhlbWUtYXJjaGlodWIgLmFoLXRhYmxlIHRoZWFkIHRoLmFoLXRoIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZ2JhKDEzNywgMywgMTMwLCAuMTUpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAuNzJyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNmVtO1xuICAgIGNvbG9yOiAjODkwMzgyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgcGFkZGluZzogLjc1cmVtIDFyZW07XG59XG5cbi8qIFNvcnRhYmxlIGNvbHVtbiBpbmRpY2F0b3JzICovXG4uYWgtdGgtLXNvcnRhYmxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMTVzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmM2VmZjQ7XG4gICAgfVxufVxuXG4uYWgtc29ydC1pbmRpY2F0b3Ige1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIG1hcmdpbi1sZWZ0OiAuM3JlbTtcbiAgICBmb250LXNpemU6IC41NXJlbTtcbiAgICBjb2xvcjogI2M0YjVjOTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogIzg5MDM4MjtcbiAgICB9XG59XG5cbi8qIExpZ25lcyDigJQgemVicmEgKyBob3ZlciAqL1xuLnRoZW1lLWFyY2hpaHViIC5haC10YWJsZSB0Ym9keSB0ci5haC1yb3cge1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA1KTtcbn1cbi50aGVtZS1hcmNoaWh1YiAuYWgtdGFibGUgdGJvZHkgdHIuYWgtcm93IHRkIHtcbiAgICBwYWRkaW5nOiAuODc1cmVtIDFyZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi50aGVtZS1hcmNoaWh1YiAuYWgtdGFibGUgdGJvZHkgdHIuYWgtcm93OmhvdmVyIHtcbiAgICAtLWN1aS10YWJsZS1hY2NlbnQtYmc6IHJnYmEoMTM3LCAzLCAxMzAsIC4wNCk7XG59XG4udGhlbWUtYXJjaGlodWIgLmFoLXRhYmxlIHRib2R5IHRyLmFoLXJvdzpob3ZlciB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgY29sb3I6ICM4OTAzODI7XG59XG4vKiBSb3cgYWN0aW9ucyDigJQgcmV2ZWFsIG9uIGhvdmVyICovXG4udGhlbWUtYXJjaGlodWIgLmFoLXRhYmxlIHRib2R5IHRyLmFoLXJvdyAuYWgtcm93LWFjdGlvbiB7XG4gICAgb3BhY2l0eTogLjQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4xNXMgZWFzZTtcbn1cbi50aGVtZS1hcmNoaWh1YiAuYWgtdGFibGUgdGJvZHkgdHIuYWgtcm93OmhvdmVyIC5haC1yb3ctYWN0aW9uIHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4vKiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgIE1vYmlsZSAoPDc2OHB4KTogdGFibGVzIGNvbGxhcHNlIGludG8gc3RhY2tlZCBcImxhYmVsOiB2YWx1ZVwiXG4gICBjYXJkcyDigJQgdGhlIHN0YW5kYXJkIHJlc3BvbnNpdmUtdGFibGUgcGF0dGVybi4gQ29sdW1uIGxhYmVscyBhcmVcbiAgIGluamVjdGVkIG9udG8gY2VsbHMgYXMgZGF0YS1sYWJlbCBieSBhc3NldHMvanMvcmVzcG9uc2l2ZS10YWJsZXMuanNcbiAgIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuLyogU3RpY2t5IFwiRmlsdHJlc1wiIHRvZ2dsZSBiYXIg4oCUIGhpZGRlbiBvbiBkZXNrdG9wLCBzaG93biBvbiBwaG9uZXMgKi9cbi5haC1tb2JpbGUtZmlsdGVyYmFyIHsgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgICAvKiDilIDilIAgRmlsdGVyczogY29sbGFwc2VkIGJlaGluZCBhIGRpc2NyZWV0IHN0aWNreSB0b2dnbGUg4pSA4pSAICovXG4gICAgLnRoZW1lLWFyY2hpaHViIC5haC10YWJsZSB0aGVhZCB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLnRoZW1lLWFyY2hpaHViIC5haC10YWJsZSB0aGVhZCB0cjpub3QoLmFoLXRhYmxlLWZpbHRlcnMpIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgLyogY29sbGFwc2VkIGJ5IGRlZmF1bHQ7IHJldmVhbGVkIHdoZW4gdGhlIHRhYmxlIGlzIGZsYWdnZWQgb3BlbiAqL1xuICAgIC50aGVtZS1hcmNoaWh1YiAuYWgtdGFibGUgdGhlYWQgdHIuYWgtdGFibGUtZmlsdGVycyB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAudGhlbWUtYXJjaGlodWIgLmFoLXRhYmxlLmFoLWZpbHRlcnMtb3BlbiB0aGVhZCB0ci5haC10YWJsZS1maWx0ZXJzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIGdhcDogLjc1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE3LCAyNCwgMzksIC4wOCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IC45cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEoMTcsIDI0LCAzOSwgLjEpO1xuICAgIH1cbiAgICAudGhlbWUtYXJjaGlodWIgLmFoLXRhYmxlIHRoZWFkIHRyLmFoLXRhYmxlLWZpbHRlcnMgPiB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbGV4OiAxIDEgMTQwcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgIC50aGVtZS1hcmNoaWh1YiAuYWgtdGFibGUgdGhlYWQgdHIuYWgtdGFibGUtZmlsdGVycyA+IHRkOm5vdCg6aGFzKCopKSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAudGhlbWUtYXJjaGlodWIgLmFoLXRhYmxlIHRoZWFkIHRyLmFoLXRhYmxlLWZpbHRlcnMgPiB0ZFtkYXRhLWZpbHRlci1jb2xdOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtZmlsdGVyLWNvbCk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAuM3JlbTtcbiAgICAgICAgZm9udC1zaXplOiAuNjZyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAuMDRlbTtcbiAgICAgICAgY29sb3I6ICM5YWEwYWI7XG4gICAgfVxuICAgIC50aGVtZS1hcmNoaWh1YiAuYWgtdGFibGUgdGhlYWQgdHIuYWgtdGFibGUtZmlsdGVycyAuYWgtZmlsdGVyLWlucHV0IHsgd2lkdGg6IDEwMCU7IH1cbiAgICAudGhlbWUtYXJjaGlodWIgLmFoLXRhYmxlIHRoZWFkIHRyLmFoLXRhYmxlLWZpbHRlcnMgPiB0ZC5haC10aC1maWx0ZXItLWFjdGlvbnMge1xuICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAuNXJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogLjI1cmVtO1xuICAgIH1cblxuICAgIC8qIHN0aWNreSB0b2dnbGUgYmFyIChpbmplY3RlZCBieSByZXNwb25zaXZlLXRhYmxlcy5qcykgKi9cbiAgICAuYWgtbW9iaWxlLWZpbHRlcmJhciB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogMjA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIHBhZGRpbmc6IC41cmVtIDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC4yNXJlbTtcbiAgICB9XG4gICAgLmFoLW1vYmlsZS1maWx0ZXItdG9nZ2xlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogLjQ1cmVtO1xuICAgICAgICBwYWRkaW5nOiAuNXJlbSAuOXJlbTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNywgMjQsIDM5LCAuMSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBjb2xvcjogIzM0NDA1NDtcbiAgICAgICAgZm9udC1zaXplOiAuOHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMTcsIDI0LCAzOSwgLjA4KTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgICAuYWgtbW9iaWxlLWZpbHRlci10b2dnbGUgLmJpIHsgY29sb3I6ICM4OTAzODI7IGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgIC5haC1tb2JpbGUtZmlsdGVyLXRvZ2dsZV9fY291bnQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1pbi13aWR0aDogMS4ycmVtO1xuICAgICAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICAgICAgcGFkZGluZzogMCAuMzVyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjODkwMzgyO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC1zaXplOiAuNjhyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cbiAgICAuYWgtbW9iaWxlLWZpbHRlcmJhci5pcy1vcGVuIC5haC1tb2JpbGUtZmlsdGVyLXRvZ2dsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWFoLWdyYWRpZW50LCBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjODkwMzgyLCAjYjUxNzllKSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgICAuYWgtbW9iaWxlLWZpbHRlcmJhci5pcy1vcGVuIC5haC1tb2JpbGUtZmlsdGVyLXRvZ2dsZSAuYmksXG4gICAgLmFoLW1vYmlsZS1maWx0ZXJiYXIuaXMtb3BlbiAuYWgtbW9iaWxlLWZpbHRlci10b2dnbGVfX2NvdW50IHsgY29sb3I6ICNmZmY7IH1cbiAgICAuYWgtbW9iaWxlLWZpbHRlcmJhci5pcy1vcGVuIC5haC1tb2JpbGUtZmlsdGVyLXRvZ2dsZV9fY291bnQgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yNSk7IH1cblxuICAgIC8qIOKUgOKUgCBDYXJkcyDilIDilIAgKi9cbiAgICAvKiBUaGUgd3JhcHBpbmcgY2FyZC9zY3JvbGxlciBtdXN0IHZhbmlzaCBzbyBvbmx5IHRoZSByb3ctY2FyZHMgc2hvdy5cbiAgICAgICBUaGVzZSB3cmFwcGVycyBvZnRlbiBjYXJyeSBpbmxpbmUgc3R5bGVzLCBoZW5jZSAhaW1wb3J0YW50LiAqL1xuICAgIC50aGVtZS1hcmNoaWh1YiAuYWgtY2FyZDpoYXModGFibGUuYWgtdGFibGUpIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudGhlbWUtYXJjaGlodWIgLmFoLWNhcmQ6aGFzKHRhYmxlLmFoLXRhYmxlKTo6YmVmb3JlIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIC50aGVtZS1hcmNoaWh1YiAuYWgtY2FyZDpoYXModGFibGUuYWgtdGFibGUpIC50YWJsZS1yZXNwb25zaXZlIHsgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuICAgIC50aGVtZS1hcmNoaWh1YiAuYWgtdGFibGUsXG4gICAgLnRoZW1lLWFyY2hpaHViIC5haC10YWJsZSB0Ym9keSxcbiAgICAudGhlbWUtYXJjaGlodWIgLmFoLXRhYmxlIHRib2R5IHRyLmFoLXJvdyxcbiAgICAudGhlbWUtYXJjaGlodWIgLmFoLXRhYmxlIHRib2R5IHRyLmFoLXJvdyA+IHRkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC50aGVtZS1hcmNoaWh1YiAuYWgtdGFibGUgdGJvZHkgdHIuYWgtcm93IHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNywgMjQsIDM5LCAuMDcpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgxNywgMjQsIDM5LCAuMDQpLCAwIDZweCAxOHB4IHJnYmEoMTcsIDI0LCAzOSwgLjA1KTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAudGhlbWUtYXJjaGlodWIgLmFoLXRhYmxlIHRib2R5IHRyLmFoLXJvdyA+IHRkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBnYXA6IDFyZW07XG4gICAgICAgIHBhZGRpbmc6IC43cmVtIDFyZW07XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDE3LCAyNCwgMzksIC4wNSk7XG4gICAgICAgIGNvbG9yOiAjMWYyNDMwO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgIH1cbiAgICAudGhlbWUtYXJjaGlodWIgLmFoLXRhYmxlIHRib2R5IHRyLmFoLXJvdyA+IHRkOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiAwOyB9XG5cbiAgICAudGhlbWUtYXJjaGlodWIgLmFoLXRhYmxlIHRib2R5IHRyLmFoLXJvdyA+IHRkOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtbGFiZWwpO1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zaXplOiAuNjZyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAuMDRlbTtcbiAgICAgICAgY29sb3I6ICM5YWEwYWI7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgLyogZmlyc3QgY2VsbCA9IGlkZW50aXR5IGhlYWRlciBzdHJpcCAqL1xuICAgIC50aGVtZS1hcmNoaWh1YiAuYWgtdGFibGUgdGJvZHkgdHIuYWgtcm93ID4gdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogLjY1cmVtO1xuICAgICAgICBwYWRkaW5nOiAuOXJlbSAxcmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDEzNywgMywgMTMwLCAuMDUpLCByZ2JhKDE4MSwgMjMsIDE1OCwgLjAzKSk7XG4gICAgICAgIGZvbnQtc2l6ZTogLjk1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogIzE0MTgxZjtcbiAgICB9XG4gICAgLnRoZW1lLWFyY2hpaHViIC5haC10YWJsZSB0Ym9keSB0ci5haC1yb3cgPiB0ZDpmaXJzdC1jaGlsZDo6YmVmb3JlIHsgY29udGVudDogbm9uZTsgfVxuXG4gICAgLyogY2VsbHMgd2l0aCBubyBoZWFkZXIgbGFiZWwg4oCUIG5vIHByZWZpeCwgbGVmdC1hbGlnbmVkICovXG4gICAgLnRoZW1lLWFyY2hpaHViIC5haC10YWJsZSB0Ym9keSB0ci5haC1yb3cgPiB0ZFtkYXRhLWxhYmVsPVwiXCJdIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICAudGhlbWUtYXJjaGlodWIgLmFoLXRhYmxlIHRib2R5IHRyLmFoLXJvdyA+IHRkW2RhdGEtbGFiZWw9XCJcIl06OmJlZm9yZSB7IGNvbnRlbnQ6IG5vbmU7IH1cblxuICAgIC8qIGFjdGlvbnMgcm93ID0gc3VidGxlIGZvb3RlcjsgYWx3YXlzIHNob3cgdGhlIChob3Zlci1yZXZlYWxlZCkgYWN0aW9ucyAqL1xuICAgIC50aGVtZS1hcmNoaWh1YiAuYWgtdGFibGUgdGJvZHkgdHIuYWgtcm93ID4gdGRbZGF0YS1sYWJlbD1cIkFjdGlvbnNcIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDE3LCAyNCwgMzksIC4wMTUpO1xuICAgIH1cbiAgICAudGhlbWUtYXJjaGlodWIgLmFoLXRhYmxlIHRib2R5IHRyLmFoLXJvdyAuYWgtcm93LWFjdGlvbiB7IG9wYWNpdHk6IDE7IH1cbn1cblxuLyogQXZhdGFyIGluaXRpYWxlcyAqL1xuLnRoZW1lLWFyY2hpaHViIC5haC1hdmF0YXIge1xuICAgIHdpZHRoOiAzOHB4OyBoZWlnaHQ6IDM4cHg7IG1pbi13aWR0aDogMzhweDtcbiAgICBib3JkZXItcmFkaXVzOiAuNzVyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtc2l6ZTogLjhyZW07XG4gICAgY29sb3I6IHZhcigtLWFoLXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1haC1ncmFkaWVudCk7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMTM3LDMsMTMwLC4xNSk7XG59XG5cbi8qIEJhZGdlcyBwaWxscyAqL1xuLnRoZW1lLWFyY2hpaHViIC5haC1iYWRnZSB7XG4gICAgLS1waWxsLWJnOiAjZjFlNmY2O1xuICAgIC0tcGlsbC1mZzogIzVhMmQ2YTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1waWxsLWJnKTtcbiAgICBjb2xvcjogdmFyKC0tcGlsbC1mZyk7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IC4zNzVyZW07XG4gICAgcGFkZGluZzogLjI1cmVtIC41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4wMWVtO1xufVxuLnRoZW1lLWFyY2hpaHViIC5haC1iYWRnZS0tc29mdCB7XG4gICAgLS1waWxsLWJnOiByZ2JhKDAsMCwwLC4wNSk7XG4gICAgLS1waWxsLWZnOiAjNTU1O1xufVxuXG4vKiBDaGlwcyBkZSBmaWx0cmVzIGFjdGlmcyAqL1xuLnRoZW1lLWFyY2hpaHViIC5haC1jaGlwIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjlmM2Y5OyBjb2xvcjogIzUyMmE2MDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWFkZmYwO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIHBhZGRpbmc6IC40cmVtIC43cmVtO1xufVxuXG4vKiBMaWVucyAmIGJvdXRvbnMgZGFucyB0YWJsZSAqL1xuLnRoZW1lLWFyY2hpaHViIC5haC10YWJsZSBhLmFoLWxpbmsgeyBjb2xvcjogdmFyKC0tYWgtdmlvbGV0KTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4udGhlbWUtYXJjaGlodWIgLmFoLXRhYmxlIGEuYWgtbGluazpob3ZlciB7IGNvbG9yOiB2YXIoLS1haC1yb3VnZSk7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDJweDsgfVxuXG4vKiBCdG4gZ3JvdXAgaGFybW9uaXPDqSAqL1xuLnRoZW1lLWFyY2hpaHViIC5idG4tZ3JvdXAgLmJ0biB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi8qIMOJdGF0IHZpZGUgcHJlbWl1bSAqL1xuLnRoZW1lLWFyY2hpaHViIC5haC1lbXB0eV9faWNvbiB7XG4gICAgZm9udC1zaXplOiAxLjc1cmVtOyBsaW5lLWhlaWdodDogMTsgbWFyZ2luLWJvdHRvbTogLjVyZW07XG59XG5cbi8qIOKUgOKUgCBQYWdpbmF0aW9uIG1vZGVybmUg4pSA4pSAICovXG4uYWgtcGFnaW5hdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nOiAuNzVyZW0gMS4yNXJlbTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMDYpO1xuICAgIGZvbnQtc2l6ZTogLjgxMjVyZW07XG59XG4uYWgtcGFnaW5hdGlvbl9faW5mbyB7XG4gICAgY29sb3I6ICM3MTcxNzE7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi5haC1wYWdpbmF0aW9uX19uYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC4yNXJlbTtcbn1cbi5haC1wYWdpbmF0aW9uX19idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTtcbiAgICBwYWRkaW5nOiAwIC4zNzVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMDYpO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjMWUxZTFlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogLjgxMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4xNXMgZWFzZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uYWgtcGFnaW5hdGlvbl9fYnRuOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNywzLDEzMCwuMDQpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxMzcsMywxMzAsLjE1KTtcbiAgICBjb2xvcjogdmFyKC0tYWgtdmlvbGV0KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYWgtcGFnaW5hdGlvbl9fYnRuLS1hY3RpdmUsXG4uYWgtcGFnaW5hdGlvbl9fYnRuLS1hY3RpdmU6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWFoLXZpb2xldCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1haC12aW9sZXQpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDEzNywzLDEzMCwuMik7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuLmFoLXBhZ2luYXRpb25fX2J0bi0tZGlzYWJsZWQsXG4uYWgtcGFnaW5hdGlvbl9fYnRuLS1kaXNhYmxlZDpob3ZlciB7XG4gICAgb3BhY2l0eTogLjM7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4wNik7XG4gICAgY29sb3I6ICM3MTcxNzE7XG59XG4uYWgtcGFnaW5hdGlvbl9fZWxsaXBzaXMge1xuICAgIGNvbG9yOiAjOWNhM2FmO1xuICAgIHBhZGRpbmc6IDAgLjEyNXJlbTtcbiAgICBmb250LXNpemU6IC43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xuICAgIC5haC1wYWdpbmF0aW9uX19pbmZvIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIC5haC1wYWdpbmF0aW9uIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbn1cblxuLyogQXZhdGFyIDQwcHggKi9cbi50aGVtZS1hcmNoaWh1YiAuYWgtYXZhdGFyLTQwe1xuICAgIHdpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7Ym9yZGVyLXJhZGl1czouNzVyZW07XG4gICAgY29sb3I6I2ZmZjtiYWNrZ3JvdW5kOnZhcigtLWFoLWdyYWRpZW50KTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgxMzcsMywxMzAsLjE1KTtcbn1cblxuLyogVMOqdGVzIGRlIGNvbG9ubmVzICovXG4udGhlbWUtYXJjaGlodWIgdGhlYWQudGV4dC1kYXJrLmZzLTQgaDZ7IGZvbnQtZmFtaWx5OlwiRE0gU2Fuc1wiLHN5c3RlbS11aTsgfVxuXG4vKiBEcm9wZG93biBpbiB0YWJsZSAqL1xuLnRoZW1lLWFyY2hpaHViIC50YWJsZSAuZHJvcGRvd24tbWVudXtcbiAgICBib3JkZXItcmFkaXVzOi43NXJlbTsgYm94LXNoYWRvdzogdmFyKC0tYWgtc2hhZG93LWxnKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGSUxURVIgQkFSIOKAlCBGbG90dGFudCwgZ2xhc3Ntb3JwaGlzbVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udGhlbWUtYXJjaGlodWIgLmFoLWZpbHRlci1iYXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWFoLWdsYXNzLWJnKTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IHZhcigtLWFoLWdsYXNzLWJsdXIpO1xuICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiB2YXIoLS1haC1nbGFzcy1ibHVyKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1haC1ib3JkZXItZ2xhc3MpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWFoLXJhZGl1cy1jYXJkKTtcbiAgICBwYWRkaW5nOiAuNjI1cmVtO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLWFoLXNoYWRvdy1zbSk7XG59XG5cbi8qIOKUgOKUgCBGaWx0ZXIgVG9nZ2xlIEJ1dHRvbiDilIDilIAgKi9cbi50aGVtZS1hcmNoaWh1YiAuYWgtZmlsdGVyLXRvZ2dsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC4zNzVyZW07XG4gICAgaGVpZ2h0OiAyLjEyNXJlbTtcbiAgICBwYWRkaW5nOiAwIC43NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1haC1ib3JkZXItZ2xhc3MpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWFoLWdsYXNzLWJnKTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IHZhcigtLWFoLWdsYXNzLWJsdXIpO1xuICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiB2YXIoLS1haC1nbGFzcy1ibHVyKTtcbiAgICBjb2xvcjogdmFyKC0tYWgtbXV0ZWQpO1xuICAgIGZvbnQtc2l6ZTogLjgxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLnRoZW1lLWFyY2hpaHViIC5haC1maWx0ZXItdG9nZ2xlOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tYWgtdmlvbGV0KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNywzLDEzMCwuMDQpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxMzcsMywxMzAsLjE1KTtcbn1cbi50aGVtZS1hcmNoaWh1YiAuYWgtZmlsdGVyLXRvZ2dsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgY29sb3I6IHZhcigtLWFoLXZpb2xldCk7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDEzNywzLDEzMCwuMik7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMzcsMywxMzAsLjA0KTtcbn1cbi5haC1maWx0ZXItdG9nZ2xlX19pY29uIHtcbiAgICBmb250LXNpemU6IC44NzVyZW07XG4gICAgdHJhbnNpdGlvbjogY29sb3IgLjJzIGVhc2U7XG59XG4uYWgtZmlsdGVyLXRvZ2dsZV9fYmFkZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiAxLjEyNXJlbTtcbiAgICBoZWlnaHQ6IDEuMTI1cmVtO1xuICAgIHBhZGRpbmc6IDAgLjNyZW07XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgZm9udC1zaXplOiAuNjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM4OTAzODIgMCUsICNFMTFENUIgMTAwJSk7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi8qIOKUgOKUgCBGaWx0ZXIgQmFyIENvbGxhcHNlIEFuaW1hdGlvbiDilIDilIAgKi9cbi5haC1maWx0ZXItYmFyLS1jb2xsYXBzZWQge1xuICAgIG1heC1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksXG4gICAgICAgICAgICAgICAgb3BhY2l0eSAuMnMgZWFzZSxcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wIC4zcyBlYXNlLFxuICAgICAgICAgICAgICAgIHBhZGRpbmcgLjNzIGVhc2UsXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIC4zcyBlYXNlO1xufVxuLmFoLWZpbHRlci1iYXI6bm90KC5haC1maWx0ZXItYmFyLS1jb2xsYXBzZWQpIHtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxcbiAgICAgICAgICAgICAgICBvcGFjaXR5IC4yNXMgZWFzZSxcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wIC4zcyBlYXNlO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNUQVQgQ0FSRCDigJQgR2xhc3Ntb3JwaGlzbSB2MlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udGhlbWUtYXJjaGlodWIgLmFoLXN0YXQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWFoLWdsYXNzLWJnKTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IHZhcigtLWFoLWdsYXNzLWJsdXIpO1xuICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiB2YXIoLS1haC1nbGFzcy1ibHVyKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1haC1ib3JkZXItZ2xhc3MpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWFoLXJhZGl1cy1jYXJkKTtcbiAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7XG59XG4udGhlbWUtYXJjaGlodWIgLmFoLXN0YXQ6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IHZhcigtLWFoLXNoYWRvdy1tZCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xufVxuLnRoZW1lLWFyY2hpaHViIC5haC1zdGF0LS1hY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYWgtc3RhdC1hY2NlbnQsIHZhcigtLWFoLXByaW1hcnkpKTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0tYWgtc3RhdC1hY2NlbnQsIHZhcigtLWFoLXByaW1hcnkpKSBpbnNldCwgdmFyKC0tYWgtc2hhZG93LW1kKTtcbn1cbi50aGVtZS1hcmNoaWh1YiAuYWgtc3RhdF9faWNvbiB7XG4gICAgd2lkdGg6IDQ0cHg7IGhlaWdodDogNDRweDtcbiAgICBib3JkZXItcmFkaXVzOiAuNzVyZW07XG4gICAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjE1cmVtO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuLnRoZW1lLWFyY2hpaHViIC5haC1zdGF0X192YWx1ZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiRE0gU2Fuc1wiLCBzeXN0ZW0tdWksIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTtcbn1cbi50aGVtZS1hcmNoaWh1YiAuYWgtc3RhdF9fbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogLjgxMjVyZW07XG4gICAgY29sb3I6IHZhcigtLWFoLW11dGVkKTtcbiAgICBtYXJnaW4tdG9wOiAuMjVyZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUk9XIEFDVElPTiDigJQgQm91dG9uIGljb24gdGFibGUgbW9kZXJuZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udGhlbWUtYXJjaGlodWIgLmFoLXJvdy1hY3Rpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IC41cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1haC1tdXRlZCk7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjE1cyBlYXNlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IC44NzVyZW07XG4gICAgcGFkZGluZzogMDtcbn1cbi50aGVtZS1hcmNoaWh1YiAuYWgtcm93LWFjdGlvbjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWFoLXZpb2xldCk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMzcsMywxMzAsLjA2KTtcbn1cbi50aGVtZS1hcmNoaWh1YiAuYWgtcm93LWFjdGlvbi0tZGFuZ2VyOmhvdmVyIHtcbiAgICBjb2xvcjogI0UxMUQ1QjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIyNSwyOSw5MSwuMDYpO1xufVxuLnRoZW1lLWFyY2hpaHViIC5haC1yb3ctYWN0aW9uLS1zdWNjZXNzOmhvdmVyIHtcbiAgICBjb2xvcjogIzA0Nzg1NztcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE2LDE4NSwxMjksLjA4KTtcbn1cbiIsIi8vIEZvbnRzIOKAlCBzaW5nbGUgc291cmNlIG9mIHRydXRoXG5AaW1wb3J0IFwiZm9udHNcIjtcblxuLy8gQ29yZVVJIChpbmNsdXQgQm9vdHN0cmFwIHZhcmlhYmxlcyAmIGNvbXBvc2FudHMpXG5AaW1wb3J0IFwiQGNvcmV1aS9jb3JldWkvc2Nzcy9jb3JldWlcIjtcbkBpbXBvcnQgXCJ+Ym9vdHN0cmFwLWljb25zL2ZvbnQvYm9vdHN0cmFwLWljb25zLmNzc1wiO1xuQGltcG9ydCBcImxvZ2luXCI7XG5AaW1wb3J0IFwiZGFzaGJvYXJkXCI7XG5AaW1wb3J0IFwiZGFzaGJvYXJkX2dyaWRcIjtcbkBpbXBvcnQgXCJ0b3BiYXJfdXNlcl9kcm9wZG93blwiO1xuQGltcG9ydCBcIndlYXRoZXJcIjtcbkBpbXBvcnQgXCJwcm9qZWN0X3dlYXRoZXJcIjtcbkBpbXBvcnQgXCJpbWFnZS11cGxvYWRcIjtcbkBpbXBvcnQgXCJwcm9qZWN0X3Nob3dfY29yZXVpXCI7XG5AaW1wb3J0IFwidGFza3NcIjtcbkBpbXBvcnQgXCJ0YXNrX21vZGFsX3RyZWxsb1wiO1xuQGltcG9ydCBcImJ1bGtfYWN0aW9uc1wiO1xuQGltcG9ydCBcImJpbGxpbmdcIjtcbkBpbXBvcnQgXCJkb2N1bWVudHNcIjtcbkBpbXBvcnQgXCJib2FyZF9maWx0ZXJcIjtcbkBpbXBvcnQgXCJwcm9qZWN0X2NhcmRzXCI7XG5AaW1wb3J0IFwiZGFzaGJvYXJkX3ByZW1pdW1cIjtcbkBpbXBvcnQgXCJhcnRpc2FuX3Byb2ZpbGVcIjtcbkBpbXBvcnQgXCJtZWV0aW5nX3JlcG9ydHNcIjtcblxuLyogQXZhdGFyIHByZXZpZXcgZm9yIGFydGlzYW4gY29udGFjdCBmb3JtICovXG4uYWgtY29udGFjdC1hdmF0YXItcHJldmlldyB7XG4gICAgd2lkdGg6IDY0cHg7XG4gICAgaGVpZ2h0OiA2NHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IC43NXJlbTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNywgMywgMTMwLCAuMDYpO1xuICAgIGNvbG9yOiAjODkwMzgyO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMDYpO1xuXG4gICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxufVxuXG4vKiBUZWFtIGNhcmQgb24gY2xpZW50IHByb2plY3QgcGFnZSAqL1xuLmFoLXRlYW0tZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyMjBweCwgMWZyKSk7XG4gICAgZ2FwOiAuNzVyZW07XG59XG4uYWgtdGVhbS1jYXJkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuNzVyZW07XG4gICAgcGFkZGluZzogLjg1cmVtIDFyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMDYpO1xuICAgIGJvcmRlci1yYWRpdXM6IC43NXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgLjE1cyBlYXNlLCBib3JkZXItY29sb3IgLjE1cyBlYXNlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxMzcsIDMsIDEzMCwgLjIpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxNHB4IHJnYmEoMTM3LCAzLCAxMzAsIC4wNik7XG4gICAgfVxufVxuLmFoLXRlYW0tY2FyZF9fYXZhdGFyIHtcbiAgICB3aWR0aDogNTJweDtcbiAgICBoZWlnaHQ6IDUycHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LCAzLCAxMzAsIC4wOCk7XG4gICAgY29sb3I6ICM4OTAzODI7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDEzNywgMywgMTMwLCAuMTUpO1xuXG4gICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxufVxuLmFoLXRlYW0tY2FyZF9fYm9keSB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG4uYWgtdGVhbS1jYXJkX19uYW1lIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgICBjb2xvcjogIzFlMWUxZTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cbi5haC10ZWFtLWNhcmRfX3JvbGUge1xuICAgIGZvbnQtc2l6ZTogLjcycmVtO1xuICAgIGNvbG9yOiAjODkwMzgyO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogLjA0ZW07XG4gICAgbWFyZ2luLXRvcDogMXB4O1xufVxuLmFoLXRlYW0tY2FyZF9fY29udGFjdCB7XG4gICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgY29sb3I6ICM3MTcxNzE7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDJweDtcblxuICAgIGEge1xuICAgICAgICBjb2xvcjogIzcxNzE3MTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiA0cHg7XG5cbiAgICAgICAgJjpob3ZlciB7IGNvbG9yOiAjODkwMzgyOyB9XG4gICAgfVxuICAgIGkgeyBmb250LXNpemU6IC43NXJlbTsgb3BhY2l0eTogLjg7IH1cbn1cblxuLy8gUGVyc29ubmFsaXNhdGlvbnMgYmFzaXF1ZXNcbjpyb290IHtcbiAgICAtLWN1aS1ib2R5LWJnOiAjZjZmN2ZiO1xuICAgIC0tY3VpLWJvZHktZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBcIlNlZ29lIFVJXCIsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbmJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWN1aS1ib2R5LWJnKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tY3VpLWJvZHktZm9udC1mYW1pbHkpO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgREFTSEJPQVJEIFNUQVQgQ0FSRFNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmRhc2gtc3RhdC1jYXJkIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgZWFzZSwgYm94LXNoYWRvdyAwLjE1cyBlYXNlO1xuICAgICY6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLDAsMCwuMDYpICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4uZGFzaC1zdGF0LWljb24ge1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIGhlaWdodDogNDhweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5kYXNoLXN0YXQtdmFsdWUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkRNIFNhbnNcIiwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLmRhc2gtc3RhdC1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzcxNzE3MTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEtBTkJBTiBCT0FSRFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ua2FuYmFuLWNvbHVtbiB7XG4gICAgYmFja2dyb3VuZDogI2YwZjJmNTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjE1cyBlYXNlLCBib3gtc2hhZG93IC4xNXMgZWFzZTtcbn1cblxuLmthbmJhbi1jb2x1bW4ua2FuYmFuLWRyb3AtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTNlOGYwO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCB2YXIoLS1icy1wcmltYXJ5KTtcbn1cblxuLmthbmJhbi1jb2x1bW4taGVhZGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMDYpO1xuICAgIGZvbnQtZmFtaWx5OiBcIkRNIFNhbnNcIiwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5rYW5iYW4tY2FyZCB7XG4gICAgY3Vyc29yOiBncmFiO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMTJzIGVhc2UsIGJveC1zaGFkb3cgLjEycyBlYXNlO1xuICAgICY6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLDAsMCwuMDgpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICYua2FuYmFuLWRyYWdnaW5nIHtcbiAgICAgICAgb3BhY2l0eTogMC40O1xuICAgICAgICBjdXJzb3I6IGdyYWJiaW5nO1xuICAgIH1cbn1cblxuLmthbmJhbi1jYXJkcyB7XG4gICAgbWluLWhlaWdodDogNjBweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBOT1RJRklDQVRJT04gQ0VOVEVSIERST1BET1dOXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5ub3RpZi1kcm9wZG93biB7XG4gICAgbWluLXdpZHRoOiAzNDBweDtcbiAgICBtYXgtd2lkdGg6IDM4MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IC43NXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubm90aWYtZHJvcGRvd24taGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jdWktY2FyZC1iZywgI2ZmZik7XG59XG5cbi5ub3RpZi1kcm9wZG93bi1ib2R5IHtcbiAgICBtYXgtaGVpZ2h0OiAzNjBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4ubm90aWYtaXRlbSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA0KTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4xMnMgZWFzZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmNmY3ZmI7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiAwOyB9XG59XG5cbi5ub3RpZi1pY29uLXdyYXAge1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIGhlaWdodDogMzZweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5ub3RpZi10aXRsZSB7XG4gICAgZm9udC1zaXplOiAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4ubm90aWYtc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi5ub3RpZi10aW1lIHtcbiAgICBmb250LXNpemU6IC42ODc1cmVtO1xuICAgIG1hcmdpbi10b3A6IDJweDtcbn1cblxuLyogTWV0ZXIgYmFzaXF1ZSAqL1xubWV0ZXIge1xuICAgIGhlaWdodDogLjVyZW07XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6ICNlOWVjZWY7XG4gICAgYm9yZGVyLXJhZGl1czogLjI1cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xufVxubWV0ZXI6Oi13ZWJraXQtbWV0ZXItYmFyIHsgYmFja2dyb3VuZDogI2U5ZWNlZjsgYm9yZGVyLXJhZGl1czogLjI1cmVtOyB9XG5tZXRlcjo6LXdlYmtpdC1tZXRlci1vcHRpbXVtLXZhbHVlIHsgYmFja2dyb3VuZDogIzE5ODc1NDsgfVxubWV0ZXI6Oi13ZWJraXQtbWV0ZXItc3Vib3B0aW11bS12YWx1ZSB7IGJhY2tncm91bmQ6ICNmZmMxMDc7IH1cbm1ldGVyOjotd2Via2l0LW1ldGVyLWV2ZW4tbGVzcy1nb29kLXZhbHVlIHsgYmFja2dyb3VuZDogI2RjMzU0NTsgfVxuXG4vKiBCYWRnZSBjb21wYWN0IFwiY2hhdFwiICovXG4uYmFkZ2Utbm90aWZ5IHtcbiAgICAtLV9zaXplOiAxLjJyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtaW4td2lkdGg6IHZhcigtLV9zaXplKTtcbiAgICBoZWlnaHQ6IHZhcigtLV9zaXplKTtcbiAgICBwYWRkaW5nOiAwIC4zNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBmb250LXNpemU6IC42NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZDogI2RjMzU0NTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuICAgIGJveC1zaGFkb3c6XG4gICAgICAgIDAgMCAwIDJweCByZ2JhKDAsMCwwLDAuMDYpLFxuICAgICAgICAwIDJweCA2cHggcmdiYSgwLDAsMCwwLjE1KTtcbn1cblxuLmJhZGdlLW5vdGlmeTplbXB0eTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAuNXJlbTtcbiAgICBoZWlnaHQ6IC41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmJhZGdlLW5vdGlmeS5wdWxzZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAtNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJvcmRlcjogM3B4IHNvbGlkIHJnYmEoMjIwLDUzLDY5LC4zNSk7XG4gICAgYW5pbWF0aW9uOiBiYWRnZS1wdWxzZSAxLjZzIGVhc2Utb3V0IGluZmluaXRlO1xufVxuQGtleWZyYW1lcyBiYWRnZS1wdWxzZSB7XG4gICAgZnJvbSB7IHRyYW5zZm9ybTogc2NhbGUoLjgpOyBvcGFjaXR5OiAuNzsgfVxuICAgIHRvICAgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7IG9wYWNpdHk6IDA7IH1cbn1cblxuLmxpc3QtZ3JvdXAgLmJhZGdlLW5vdGlmeSB7XG4gICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCAwIDAgMnB4ICNmZmYsXG4gICAgICAgIDAgMXB4IDNweCByZ2JhKDAsMCwwLC4xKTtcbn1cblxuLmJhZGdlLW5vdGlmeS5iZy1wcmltYXJ5IHsgYmFja2dyb3VuZDogdmFyKC0tYnMtcHJpbWFyeSk7IH1cbi5iYWRnZS1ub3RpZnkuYmctaW5mbyAgICB7IGJhY2tncm91bmQ6IHZhcigtLWJzLWluZm8pOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgV1lTSVdZRyAoUXVpbGwpIOKAlCBBcmNoaUh1YiB0aGVtZSBvdmVycmlkZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQGltcG9ydCBcInF1aWxsL2Rpc3QvcXVpbGwuc25vdy5jc3NcIjtcblxuLmFoLXd5c2l3eWcge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTY7XG4gICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgLjE1cyBlYXNlLCBib3gtc2hhZG93IC4xNXMgZWFzZTtcblxuICAgICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDEzNywgMywgMTMwLCAuNCk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDEzNywgMywgMTMwLCAuMDgpO1xuICAgIH1cblxuICAgIC5xbC10b29sYmFyIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZhZmFmYTtcbiAgICAgICAgcGFkZGluZzogLjM3NXJlbSAuNXJlbTtcblxuICAgICAgICAucWwtZm9ybWF0cyB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxLjc1cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjc1cmVtO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogLjI1cmVtO1xuXG4gICAgICAgICAgICAmOmhvdmVyLCAmLnFsLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM4OTAzODI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxMzcsIDMsIDEzMCwgLjA2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5xbC1waWNrZXItbGFiZWwge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogLjI1cmVtO1xuICAgICAgICAgICAgcGFkZGluZzogLjEyNXJlbSAuMzc1cmVtO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzg5MDM4MjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5xbC1jb250YWluZXIge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIHN5c3RlbS11aSwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAuODc1cmVtO1xuICAgIH1cblxuICAgIC5xbC1lZGl0b3Ige1xuICAgICAgICBtaW4taGVpZ2h0OiAxMjBweDtcbiAgICAgICAgcGFkZGluZzogLjc1cmVtIDFyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgIGNvbG9yOiAjMWUxZTFlO1xuXG4gICAgICAgICYucWwtYmxhbms6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogI2EwYTBhODtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgIGxlZnQ6IDFyZW07XG4gICAgICAgICAgICByaWdodDogMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHsgZm9udC1zaXplOiAxLjEyNXJlbTsgZm9udC13ZWlnaHQ6IDYwMDsgbWFyZ2luLWJvdHRvbTogLjVyZW07IH1cbiAgICAgICAgaDMgeyBmb250LXNpemU6IDFyZW07IGZvbnQtd2VpZ2h0OiA2MDA7IG1hcmdpbi1ib3R0b206IC41cmVtOyB9XG4gICAgICAgIHAgeyBtYXJnaW4tYm90dG9tOiAuNXJlbTsgfVxuICAgICAgICB1bCwgb2wgeyBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07IG1hcmdpbi1ib3R0b206IC41cmVtOyB9XG4gICAgICAgIGEgeyBjb2xvcjogIzg5MDM4MjsgfVxuICAgIH1cbn1cblxuLyogPT09PT0gTWVzc2FnaW5nIC8gQ29udmVyc2F0aW9ucyA9PT09PSAqL1xuXG4vLyBGaWx0ZXJzIGJhclxuLmFoLWNvbnYtZmlsdGVycyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IC40cmVtO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmFoLWNvbnYtZmlsdGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IC40cmVtIC44NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAycmVtO1xuICAgIGZvbnQtc2l6ZTogLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzZjNzU3ZDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMTVzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjODkwMzgyO1xuICAgICAgICBib3JkZXItY29sb3I6ICM4OTAzODI7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LCAzLCAxMzAsIC4wNik7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAmLS1hY3RpdmUsXG4gICAgJi0tYWN0aXZlOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZDogIzg5MDM4MiAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItY29sb3I6ICM4OTAzODIgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8vIENvbnZlcnNhdGlvbiBsaXN0XG4vKiBNZXNzYWdlcyBsaXN0IOKAlCB0YWJsZSBjZWxscyBzcGVjaWZpY3MgKi9cbi5haC1tc2ctYXZhdGFyIHtcbiAgICB3aWR0aDogMzhweDtcbiAgICBoZWlnaHQ6IDM4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM4OTAzODIsICNiMDQwYTgpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBib3gtc2hhZG93OiAwIDJweCA2cHggcmdiYSgxMzcsIDMsIDEzMCwgLjE1KTtcbn1cblxuLmFoLW1zZy1wcmV2aWV3IHtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgY29sb3I6ICM3MTcxNzE7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgbWF4LXdpZHRoOiAzODBweDtcblxuICAgIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAjMWUxZTFlO1xuICAgIH1cbn1cblxuLmFoLW1zZy11bnJlYWQtZG90IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogIzg5MDM4MjtcbiAgICBtYXJnaW4tcmlnaHQ6IC4zNXJlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKiBNZXNzYWdpbmcgcXVpY2stZmlsdGVyIHNlZ21lbnRlZCBjb250cm9sIChUb3VzIC8gUHJvc3BlY3RzIC8gQ2xpZW50cyAvIFBlcmR1cykgKi9cbi5haC1tc2ctZmlsdGVycyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4uYWgtbXNnLWZpbHRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC40NXJlbTtcbiAgICBwYWRkaW5nOiAuNDVyZW0gLjg1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjA4KTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGNvbG9yOiAjNmI3MjgwO1xuICAgIGZvbnQtc2l6ZTogLjgxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMTVzIGVhc2UsIGNvbG9yIC4xNXMgZWFzZSwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZSwgYm94LXNoYWRvdyAuMTVzIGVhc2U7XG5cbiAgICAuYmkgeyBmb250LXNpemU6IC45cmVtOyBvcGFjaXR5OiAuODU7IH1cblxuICAgICZfX2NvdW50IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtaW4td2lkdGg6IDEuMjVyZW07XG4gICAgICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgcGFkZGluZzogMCAuMzVyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC4wNik7XG4gICAgICAgIGNvbG9yOiAjNmI3MjgwO1xuICAgICAgICBmb250LXNpemU6IC43MnJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxMzcsIDMsIDEzMCwgLjMpO1xuICAgICAgICBjb2xvcjogIzg5MDM4MjtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxMzcsIDMsIDEzMCwgLjA0KTtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWFoLWdyYWRpZW50LCBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjODkwMzgyLCAjYjUxNzllKSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMTM3LCAzLCAxMzAsIC4yNSk7XG5cbiAgICAgICAgLmJpIHsgb3BhY2l0eTogMTsgfVxuXG4gICAgICAgIC5haC1tc2ctZmlsdGVyX19jb3VudCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yNSk7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuW2RhdGEtY29yZXVpLXRoZW1lPVwiZGFya1wiXSB7XG4gICAgLmFoLW1zZy1maWx0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMmEyYjM2O1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjEpO1xuICAgICAgICBjb2xvcjogI2FlYjBiYjtcblxuICAgICAgICAmX19jb3VudCB7IGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjEpOyBjb2xvcjogI2FlYjBiYjsgfVxuXG4gICAgICAgICY6aG92ZXIgeyBjb2xvcjogI2YwZDZlZTsgYmFja2dyb3VuZDogcmdiYSgxMzcsIDMsIDEzMCwgLjIpOyB9XG4gICAgfVxufVxuXG4vKiBXcmFwcGVyIHRoYXQgaG9sZHMgdGhlIHJvdyBsaW5rICsgdGhlIGRlbGV0ZSBidXR0b24gb3ZlcmxheSAqL1xuLmFoLWNvbnYtcm93LXdyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6aG92ZXIgLmFoLWNvbnYtcm93LWRlbGV0ZS1idG4geyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMSk7IH1cbn1cblxuLmFoLWNvbnYtcm93LWRlbGV0ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB6LWluZGV4OiAyO1xufVxuXG4uYWgtY29udi1yb3ctZGVsZXRlLWJ0biB7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMjUsIDI5LCA5MSwgLjI1KTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogI0UxMUQ1QjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC44NSk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGVhc2UsIHRyYW5zZm9ybSAuMTVzIGVhc2UsIGJhY2tncm91bmQgLjE1cyBlYXNlO1xuICAgIGZvbnQtc2l6ZTogLjg1cmVtO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNFMTFENUI7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgICY6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDEpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgyMjUsIDI5LCA5MSwgLjI1KTtcbiAgICB9XG59XG5cbi8qIE9uIHRvdWNoIGRldmljZXMsIGFsd2F5cyBzaG93IHRoZSBidXR0b24gKG5vIGhvdmVyIHN0YXRlKSAqL1xuQG1lZGlhIChob3Zlcjogbm9uZSkge1xuICAgIC5haC1jb252LXJvdy1kZWxldGUtYnRuIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDEpO1xuICAgIH1cbn1cblxuLyogSGlkZSB0aGUgY2hldnJvbiBhcnJvdyB3aGVuIHRoZSBkZWxldGUgYnV0dG9uIGlzIHNob3duIHRvIGF2b2lkIG92ZXJsYXAgKi9cbi5haC1jb252LXJvdy13cmFwOmhvdmVyIC5haC1jb252LXJvdy1jaGV2cm9uIHsgb3BhY2l0eTogMDsgfVxuLmFoLWNvbnYtcm93LWNoZXZyb24geyB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgZWFzZTsgfVxuXG4uYWgtY29udi1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2U5ZWNlZjtcbiAgICBib3JkZXItcmFkaXVzOiAuNzVyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLDAsMCwuMDYpO1xufVxuXG4uYWgtY29udi1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC43NXJlbTtcbiAgICBwYWRkaW5nOiAxcmVtIDEuMjVyZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4xNXM7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMGYwZjA7XG5cbiAgICAmOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZhZjdmYTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgICYtLXVucmVhZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZGY2ZmQ7XG5cbiAgICAgICAgLmFoLWNvbnYtcm93LW5hbWUge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFoLWNvbnYtcm93LWF2YXRhciB7XG4gICAgd2lkdGg6IDQycHg7XG4gICAgaGVpZ2h0OiA0MnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAjODkwMzgyO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBib3gtc2hhZG93OiAwIDJweCA2cHggcmdiYSgxMzcsIDMsIDEzMCwgLjI1KTtcbn1cblxuLmFoLWNvbnYtcm93LWJvZHkge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uYWgtY29udi1yb3ctbWFpbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjVyZW07XG59XG5cbi5haC1jb252LXJvdy1uYW1lIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLmFoLWNvbnYtcm93LXN1YiB7XG4gICAgZm9udC1zaXplOiAuOHJlbTtcbiAgICBjb2xvcjogIzZjNzU3ZDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogLjc1cmVtO1xuICAgIG1hcmdpbi10b3A6IDJweDtcbn1cblxuLmFoLWNvbnYtcHJldmlldyB7XG4gICAgZm9udC1zaXplOiAuNzhyZW07XG4gICAgY29sb3I6ICM5OTk7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgIG1hcmdpbi10b3A6IC4xNXJlbTtcblxuICAgIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6ICM2Yzc1N2Q7XG4gICAgfVxufVxuXG4uYWgtY29udi11bnJlYWQtY291bnQge1xuICAgIGZvbnQtc2l6ZTogLjY4cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICM4OTAzODI7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMzcsIDMsIDEzMCwgLjEpO1xuICAgIHBhZGRpbmc6IC4xZW0gLjVlbTtcbiAgICBib3JkZXItcmFkaXVzOiAycmVtO1xufVxuXG4uYWgtY29udi1yb3ctZW5kIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uYWgtY29udi1yb3ctZGF0ZSB7XG4gICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgY29sb3I6ICM5OTk7XG59XG5cbi5haC1jb252LXJvdy1jaGV2cm9uIHtcbiAgICBjb2xvcjogI2NjYztcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmFoLWNvbnYtdW5yZWFkLWRvdCB7XG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBtaW4td2lkdGg6IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogIzg5MDM4MjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi8vIENvbnZlcnNhdGlvbiBoZWFkZXJcbi5haC1jb252LWhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2Y4ZjBmNyAwJSwgI2ZmZiAxMDAlKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTllY2VmO1xuICAgIGJvcmRlci1yYWRpdXM6IC43NXJlbTtcbiAgICBwYWRkaW5nOiAxLjVyZW0gMS43NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwwLDAsLjA2KTtcbn1cblxuLmFoLWNvbnYtaGVhZGVyLXRvcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxcmVtO1xufVxuXG4uYWgtY29udi1oZWFkZXItbWV0YSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IC4yNXJlbSAwO1xuICAgIG1hcmdpbi10b3A6IC41cmVtO1xuICAgIGZvbnQtc2l6ZTogLjgycmVtO1xuICAgIGNvbG9yOiAjNmM3NTdkO1xuXG4gICAgPiBzcGFuLFxuICAgID4gYTpub3QoLmFoLWNvbnYtaGVhZGVyLXVzZXItY2hpcCkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1xcMDBCNyc7XG4gICAgICAgICAgICBtYXJnaW46IDAgLjZyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgY29sb3I6ICNjY2M7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkOjpiZWZvcmUgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICBpIHsgb3BhY2l0eTogLjY7IG1hcmdpbi1yaWdodDogLjJyZW07IH1cbn1cblxuLmFoLWNvbnYtaGVhZGVyLXVzZXItY2hpcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC40cmVtO1xuICAgIHBhZGRpbmc6IC4ycmVtIC43cmVtIC4ycmVtIC4yNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAycmVtO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LCAzLCAxMzAsIC4xKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEzNywgMywgMTMwLCAuMik7XG4gICAgY29sb3I6ICM4OTAzODI7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IC44MnJlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4xNXM7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxMzcsIDMsIDEzMCwgLjE4KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODkwMzgyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuXG4uYWgtY29udi1oZWFkZXItdXNlci1hdmF0YXIge1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMjJweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogIzg5MDM4MjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAuNjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmFoLWNvbnYtaGVhZGVyLWFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAuNXJlbTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLy8gTWVzc2FnZXMgY2FyZFxuLmFoLWNvbnYtY2FyZCB7XG4gICAgYm9yZGVyLXJhZGl1czogLjc1cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlOWVjZWY7XG4gICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwwLDAsLjA2KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbi5haC1jb252LWNhcmQtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuNXJlbTtcbiAgICBwYWRkaW5nOiAuODVyZW0gMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogLjlyZW07XG4gICAgY29sb3I6ICMzMzM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlOWVjZWY7XG5cbiAgICBpIHsgY29sb3I6ICM4OTAzODI7IGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4gICAgLmJhZGdlIHtcbiAgICAgICAgZm9udC1zaXplOiAuNzJyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAjODkwMzgyO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNywgMywgMTMwLCAuMSk7XG4gICAgICAgIHBhZGRpbmc6IC4xZW0gLjU1ZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJyZW07XG4gICAgfVxufVxuXG4vLyBUaHJlYWQg4oCUIENSTSBzdHlsZVxuLy8g4pSA4pSAIFRocmVhZCBjb250YWluZXIg4oCUIHRpbWVsaW5lIOKUgOKUgFxuLmFoLWNvbnYtdGhyZWFkIHtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogLjE1cmVtO1xuICAgIGJhY2tncm91bmQ6ICNmNGY1Zjc7XG59XG5cbi8vIOKUgOKUgCBEYXRlIHNlcGFyYXRvciDilIDilIBcbi5haC1jb252LWRhdGUtc2VwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IC41cmVtIDA7XG4gICAgbWFyZ2luOiAuNXJlbSAwIC43NXJlbTtcblxuICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IC42OHJlbTtcbiAgICAgICAgY29sb3I6ICM4ODk4YWE7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAuMDVlbTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgYmFja2dyb3VuZDogI2U3ZTllZTtcbiAgICAgICAgcGFkZGluZzogLjJyZW0gLjc1cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICB9XG59XG5cbi8vIOKUgOKUgCBDaGF0IHJvdyAoYnViYmxlIGxheW91dCkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4uYWgtY2hhdC1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGdhcDogLjU1cmVtO1xuICAgIG1hcmdpbjogLjNyZW0gMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8vIFNlbnQgYnkgbWUg4oaSIGFsaWduIHJpZ2h0LCBhdmF0YXIgb24gdGhlIHJpZ2h0XG4uYWgtY2hhdC1yb3ctLW1pbmUgeyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLy8gQXZhdGFyXG4uYWgtY2hhdC1hdmF0YXIge1xuICAgIHdpZHRoOiAzNHB4O1xuICAgIGhlaWdodDogMzRweDtcbiAgICBtaW4td2lkdGg6IDM0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogLjdyZW07XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgfVxufVxuLmFoLWNoYXQtYXZhdGFyLS1hcnRpc2FuIHsgYmFja2dyb3VuZDogIzg5MDM4MjsgfVxuLmFoLWNoYXQtYXZhdGFyLS1jbGllbnQgIHsgYmFja2dyb3VuZDogIzNiODJmNjsgfVxuXG4vLyBCdWJibGUgY29sdW1uXG4uYWgtY2hhdC1idWJibGUtd3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC13aWR0aDogNzIlO1xuICAgIG1pbi13aWR0aDogMDtcbn1cbi5haC1jaGF0LXJvdy0tbWluZSAuYWgtY2hhdC1idWJibGUtd3JhcCB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4vLyBNZXRhIGxpbmUgKHNlbmRlciDCtyBiYWRnZXMgwrcgdGltZSlcbi5haC1jaGF0LW1ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC40cmVtO1xuICAgIG1hcmdpbjogMCAuNHJlbSAuMnJlbTtcbiAgICBmb250LXNpemU6IC42OHJlbTtcbiAgICBjb2xvcjogIzk0YTNiODtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG4uYWgtY2hhdC1yb3ctLW1pbmUgLmFoLWNoYXQtbWV0YSB7IGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuLmFoLWNoYXQtc2VuZGVyIHsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6ICM2NDc0OGI7IH1cbi5haC1jaGF0LXRpbWUgICB7IGNvbG9yOiAjYjBiOGM0OyB9XG5cbi8vIFRoZSBidWJibGUgaXRzZWxmXG4uYWgtY2hhdC1idWJibGUge1xuICAgIHBhZGRpbmc6IC42cmVtIC44NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAxLjFyZW07XG4gICAgZm9udC1zaXplOiAuODU1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU1O1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICBib3gtc2hhZG93OiAwIDFweCAxLjVweCByZ2JhKDAsIDAsIDAsIC4wNSk7XG59XG5cbi8vIFJlY2VpdmVkIChvdGhlciBwYXJ0eSkg4oCUIGxpZ2h0LCBsZWZ0XG4uYWgtY2hhdC1yb3ctLW90aGVyIC5haC1jaGF0LWJ1YmJsZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogIzM3NDE1MTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTdlOWVlO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IC4zNXJlbTtcbn1cblxuLy8gU2VudCAobWUpIOKAlCBicmFuZCBncmFkaWVudCwgcmlnaHRcbi5haC1jaGF0LXJvdy0tbWluZSAuYWgtY2hhdC1idWJibGUge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM4OTAzODIsICNhODEzOGYpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAuMzVyZW07XG59XG4uYWgtY2hhdC1yb3ctLW1pbmUgLmFoLWNoYXQtYnViYmxlIGEgeyBjb2xvcjogI2ZmZjsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLy8gQ29udGVudCB0eXBvZ3JhcGh5XG4uYWgtY2hhdC1jb250ZW50IHtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgICBwIHsgbWFyZ2luLWJvdHRvbTogLjNyZW07IH1cbiAgICBwOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgYSB7IGNvbG9yOiAjODkwMzgyOyB9XG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlOyBoZWlnaHQ6IGF1dG87IGJvcmRlci1yYWRpdXM6IDhweDsgbWFyZ2luLXRvcDogLjM1cmVtOyB9XG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2UyZThmMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAuNzVyZW07XG4gICAgICAgIG1hcmdpbjogLjVyZW0gMDtcbiAgICAgICAgb3BhY2l0eTogLjg1O1xuICAgICAgICBmb250LXNpemU6IC44MnJlbTtcbiAgICB9XG4gICAgdWwsIG9sIHsgcGFkZGluZy1sZWZ0OiAxLjI1cmVtOyB9XG59XG4uYWgtY2hhdC1yb3ctLW1pbmUgLmFoLWNoYXQtY29udGVudCBibG9ja3F1b3RlIHsgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjQpOyB9XG5cbi8vIEVtYWlsIGJhZGdlc1xuLmFoLWNvbnYtbXNnLWVtYWlsLWJhZGdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogLjZyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDNlbTtcbiAgICBjb2xvcjogIzYzNjZmMTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDk5LCAxMDIsIDI0MSwgLjA3KTtcbiAgICBwYWRkaW5nOiAuMTJyZW0gLjQ1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IC4yNXJlbTtcbn1cblxuLy8g4pSA4pSAIEF0dGFjaG1lbnRzIGluc2lkZSBidWJibGUg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4uYWgtY2hhdC1hdHRhY2htZW50cyB7XG4gICAgbWFyZ2luLXRvcDogLjQ1cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IC4zNXJlbTtcbn1cblxuLy8gSW5saW5lIGltYWdlIHByZXZpZXdcbi5haC1jaGF0LWltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDI2MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBsaW5lLWhlaWdodDogMDtcblxuICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzO1xuICAgIH1cbiAgICAmOmhvdmVyIGltZyB7IHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7IH1cbn1cblxuLy8gTm9uLWltYWdlIGZpbGUgY2hpcFxuLmFoLWNoYXQtYXR0YWNobWVudC1saW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjE1cmVtO1xuICAgIHBhZGRpbmc6IC4zNXJlbSAuN3JlbTtcbiAgICBib3JkZXItcmFkaXVzOiAycmVtO1xuICAgIGZvbnQtc2l6ZTogLjc2cmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xuICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XG5cbiAgICAuYmktZG93bmxvYWQgeyBvcGFjaXR5OiAuNjsgdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzOyB9XG4gICAgJjpob3ZlciAuYmktZG93bmxvYWQgeyBvcGFjaXR5OiAxOyB9XG59XG4uYWgtY2hhdC1yb3ctLW90aGVyIC5haC1jaGF0LWF0dGFjaG1lbnQtbGluayB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMzcsIDMsIDEzMCwgLjA2KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEzNywgMywgMTMwLCAuMTUpO1xuICAgIGNvbG9yOiAjODkwMzgyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LCAzLCAxMzAsIC4xNCk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxMzcsIDMsIDEzMCwgLjMpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgfVxufVxuLmFoLWNoYXQtcm93LS1taW5lIC5haC1jaGF0LWF0dGFjaG1lbnQtbGluayB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTgpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjM1KTtcbiAgICBjb2xvcjogI2ZmZjtcblxuICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yOCk7IH1cbn1cblxuLy8gUmVwbHkgZm9ybVxuLmFoLWNvbnYtcmVwbHkge1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZTllY2VmO1xuICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmRmOGZjO1xufVxuXG4uYWgtY29udi1yZXBseS1sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IC44NXJlbTtcbiAgICBjb2xvcjogIzg5MDM4MjtcbiAgICBtYXJnaW4tYm90dG9tOiAuNzVyZW07XG5cbiAgICBpIHsgZm9udC1zaXplOiAuOTVyZW07IH1cbn1cblxuLy8gRmlsZSBkcm9wem9uZVxuLmFoLWZpbGUtZHJvcHpvbmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogLjM1cmVtO1xuICAgIGJvcmRlcjogMnB4IGRhc2hlZCAjZGVlMmU2O1xuICAgIGJvcmRlci1yYWRpdXM6IC41cmVtO1xuICAgIHBhZGRpbmc6IDFyZW0gMS4yNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuMDE1KTtcblxuICAgICY6aG92ZXIsICYtLWFjdGl2ZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzg5MDM4MjtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxMzcsIDMsIDEzMCwgLjA0KTtcbiAgICB9XG5cbiAgICAmLS1hY3RpdmUge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgxMzcsIDMsIDEzMCwgLjEyKTtcbiAgICB9XG5cbiAgICAmLS1jb21wYWN0IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgcGFkZGluZzogLjZyZW0gMXJlbTtcbiAgICAgICAgZ2FwOiAuNXJlbTtcblxuICAgICAgICAuYWgtZmlsZS1kcm9wem9uZS1pY29uIHsgZm9udC1zaXplOiAxLjFyZW07IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgLmFoLWZpbGUtZHJvcHpvbmUtdGV4dCB7IGZvbnQtc2l6ZTogLjc4cmVtOyB9XG4gICAgICAgIC5haC1maWxlLWRyb3B6b25lLWhpbnQgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgfVxufVxuXG4uYWgtZmlsZS1kcm9wem9uZS1pY29uIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBjb2xvcjogIzg5MDM4MjtcbiAgICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmFoLWZpbGUtZHJvcHpvbmUtdGV4dCB7XG4gICAgZm9udC1zaXplOiAuODJyZW07XG4gICAgY29sb3I6ICM2Yzc1N2Q7XG5cbiAgICBzdHJvbmcgeyBjb2xvcjogIzg5MDM4MjsgfVxufVxuXG4uYWgtZmlsZS1kcm9wem9uZS1oaW50IHtcbiAgICBmb250LXNpemU6IC43MnJlbTtcbiAgICBjb2xvcjogIzk5OTtcbn1cblxuLy8gUmVzcG9uc2l2ZVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAgLmFoLWNvbnYtaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMS4xNXJlbSAxLjI1cmVtO1xuICAgIH1cbiAgICAuYWgtY29udi1oZWFkZXItdG9wIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgLmFoLWNvbnYtaGVhZGVyLWFjdGlvbnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAuNzVyZW07XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gICAgLmFoLWNvbnYtbXNnIHtcbiAgICAgICAgbWF4LXdpZHRoOiA5MiU7XG4gICAgfVxuICAgIC5haC1jaGF0LWJ1YmJsZS13cmFwIHtcbiAgICAgICAgbWF4LXdpZHRoOiA4NCU7XG4gICAgfVxuICAgIC5haC1jb252LXRocmVhZCB7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgfVxuICAgIC5haC1jb252LW1lc3NhZ2VzIHtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICB9XG4gICAgLmFoLWNvbnYtcmVwbHkge1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgIH1cbiAgICAuYWgtY29udi1wcmV2aWV3IHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLmFoLWZpbGUtbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogLjVyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmFoLWZpbGUtaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjVyZW07XG4gICAgcGFkZGluZzogLjM3NXJlbSAuNzVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogLjM3NXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmOWZhO1xuICAgIG1hcmdpbi1ib3R0b206IC4yNXJlbTtcbiAgICBmb250LXNpemU6IC44MTI1cmVtO1xuICAgIG1pbi13aWR0aDogMDtcblxuICAgICYtLWVycm9yIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjNmMztcbiAgICB9XG59XG5cbi5haC1maWxlLWl0ZW0tbmFtZSB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uYWgtZmlsZS1pdGVtLXJlbW92ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC41cmVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZTllY2VmO1xuICAgIGNvbG9yOiAjNjY2O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IC43cmVtO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjE1cywgY29sb3IgLjE1cztcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZGMzNTQ1O1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG59XG5cbi8vIOKUgOKUgCBBZ2VuZGEgdmlld3MgKGRheSAmIHdlZWspIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLmFoLWFnZW5kYS1hbGxkYXkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYmFja2dyb3VuZDogI2ZhZmJmYztcbn1cblxuLmFoLWFnZW5kYS1hbGxkYXktbGFiZWwge1xuICAgIHdpZHRoOiA2NHB4O1xuICAgIG1pbi13aWR0aDogNjRweDtcbiAgICBwYWRkaW5nOiAuNXJlbSAuNXJlbSAuNXJlbSAuNzVyZW07XG4gICAgZm9udC1zaXplOiAuNjVyZW07XG4gICAgY29sb3I6ICM5NGEzYjg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2UyZThmMDtcbn1cblxuLmFoLWFnZW5kYS1hbGxkYXktaXRlbXMge1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAuMzVyZW07XG4gICAgcGFkZGluZzogLjVyZW0gLjc1cmVtO1xufVxuXG4vLyBUaW1lbGluZSAoZGF5IHZpZXcpXG4uYWgtYWdlbmRhLXRpbWVsaW5lIHtcbiAgICBtYXgtaGVpZ2h0OiA1MjBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4uYWgtYWdlbmRhLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtaW4taGVpZ2h0OiA0OHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjFmNWY5O1xuXG4gICAgJjpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxufVxuXG4uYWgtYWdlbmRhLWhvdXIge1xuICAgIHdpZHRoOiA2NHB4O1xuICAgIG1pbi13aWR0aDogNjRweDtcbiAgICBwYWRkaW5nOiAuMzVyZW0gLjVyZW0gLjM1cmVtIC43NXJlbTtcbiAgICBmb250LXNpemU6IC43cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICM5NGEzYjg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2UyZThmMDtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmFoLWFnZW5kYS1zbG90IHtcbiAgICBmbGV4OiAxO1xuICAgIHBhZGRpbmc6IC4yNXJlbSAuNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAuMjVyZW07XG59XG5cbi8vIEFnZW5kYSBldmVudHNcbi5haC1hZ2VuZGEtZXZlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC40cmVtO1xuICAgIHBhZGRpbmc6IC4zcmVtIC42cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IC4zNzVyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgLjE1cztcblxuICAgICY6aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSgwLDAsMCwuMSk7XG4gICAgfVxuXG4gICAgJi0tYWxsZGF5IHtcbiAgICAgICAgYmFja2dyb3VuZDogI2YwZTdmNTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjODkwMzgyO1xuICAgIH1cblxuICAgICYtLXRpbWVkIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2UyZThmMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjODkwMzgyO1xuICAgIH1cblxuICAgIC8vIFByaW9yaXR5IGNvbG9ycyBmb3IgbGVmdCBiYXJcbiAgICAmLS1oaWdoIHsgYm9yZGVyLWxlZnQtY29sb3I6ICNlZjQ0NDQ7IH1cbiAgICAmLS1tZWRpdW0geyBib3JkZXItbGVmdC1jb2xvcjogI2Y1OWUwYjsgfVxuICAgICYtLWxvdyB7IGJvcmRlci1sZWZ0LWNvbG9yOiAjNjM2NmYxOyB9XG59XG5cbi5haC1hZ2VuZGEtZXZlbnQtdGltZSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IC43cmVtO1xuICAgIGNvbG9yOiAjMzM0MTU1O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5haC1hZ2VuZGEtZXZlbnQtdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICMxZTI5M2I7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uYWgtYWdlbmRhLWV2ZW50LXByb2plY3Qge1xuICAgIGZvbnQtc2l6ZTogLjYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjODkwMzgyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8vIFdlZWsgYWdlbmRhXG4uYWgtYWdlbmRhLXdlZWstaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNjRweCByZXBlYXQoNywgMWZyKTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2UyZThmMDtcbn1cblxuLmFoLWFnZW5kYS13ZWVrLWd1dHRlciB7XG4gICAgd2lkdGg6IDY0cHg7XG4gICAgbWluLXdpZHRoOiA2NHB4O1xuICAgIHBhZGRpbmc6IC41cmVtIC41cmVtIC41cmVtIC43NXJlbTtcbiAgICBmb250LXNpemU6IC43cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICM5NGEzYjg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2UyZThmMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLmFoLWFnZW5kYS13ZWVrLWRheS1oZWFkZXIge1xuICAgIHBhZGRpbmc6IC41cmVtIC4yNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAuNzJyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzY0NzQ4YjtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZjFmNWY5O1xuXG4gICAgJjpsYXN0LWNoaWxkIHsgYm9yZGVyLXJpZ2h0OiBub25lOyB9XG5cbiAgICAmLS10b2RheSB7XG4gICAgICAgIGNvbG9yOiAjODkwMzgyO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNywgMywgMTMwLCAuMDMpO1xuICAgIH1cbn1cblxuLmFoLWFnZW5kYS13ZWVrLWRheS1uYW1lIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDNlbTtcbiAgICBmb250LXNpemU6IC42cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYWgtYWdlbmRhLXdlZWstZGF5LW51bSB7XG4gICAgZm9udC1zaXplOiAuOXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbi10b3A6IC4xNXJlbTtcblxuICAgICYtLXRvZGF5IHtcbiAgICAgICAgYmFja2dyb3VuZDogIzg5MDM4MjtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHdpZHRoOiAxLjZyZW07XG4gICAgICAgIGhlaWdodDogMS42cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgfVxufVxuXG4uYWgtYWdlbmRhLXdlZWstYWxsZGF5LXJvdyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDY0cHggcmVwZWF0KDcsIDFmcik7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYmFja2dyb3VuZDogI2ZhZmJmYztcbn1cblxuLmFoLWFnZW5kYS13ZWVrLWFsbGRheS1jZWxsIHtcbiAgICBwYWRkaW5nOiAuM3JlbSAuMjVyZW07XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2YxZjVmOTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAuMnJlbTtcblxuICAgICY6bGFzdC1jaGlsZCB7IGJvcmRlci1yaWdodDogbm9uZTsgfVxufVxuXG4uYWgtYWdlbmRhLXdlZWstYm9keSB7XG4gICAgbWF4LWhlaWdodDogNDgwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLmFoLWFnZW5kYS13ZWVrLXJvdyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDY0cHggcmVwZWF0KDcsIDFmcik7XG4gICAgbWluLWhlaWdodDogNDRweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YxZjVmOTtcblxuICAgICY6bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b206IG5vbmU7IH1cbn1cblxuLmFoLWFnZW5kYS13ZWVrLWNlbGwge1xuICAgIHBhZGRpbmc6IC4ycmVtIC4ycmVtO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmMWY1Zjk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogLjE1cmVtO1xuXG4gICAgJjpsYXN0LWNoaWxkIHsgYm9yZGVyLXJpZ2h0OiBub25lOyB9XG5cbiAgICAmLS10b2RheSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LCAzLCAxMzAsIC4wMTUpO1xuICAgIH1cblxuICAgIC5haC1hZ2VuZGEtZXZlbnQge1xuICAgICAgICBmb250LXNpemU6IC42NXJlbTtcbiAgICAgICAgcGFkZGluZzogLjJyZW0gLjM1cmVtO1xuICAgIH1cbn1cblxuLy8g4pSA4pSAIExvY2F0aW9uIGxpbmsgKHByb2plY3QgbGlzdCkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4uYWgtbG9jYXRpb24tbGluayB7XG4gICAgZm9udC1zaXplOiAuODEyNXJlbTtcbiAgICBjb2xvcjogIzU1NTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAuMTVzO1xuXG4gICAgaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjdyZW07XG4gICAgICAgIGNvbG9yOiAjODkwMzgyO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC4xNXJlbTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICM4OTAzODI7XG4gICAgfVxufVxuXG4vLyDilIDilIAgVGFzayBkdWUtZGF0ZSByb3cg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4uYWgtZHVlLWRhdGUtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuNzVyZW07XG59XG5cbi5haC1kdWUtZGF0ZS1pbnB1dCB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5haC1kdWUtZGF0ZS10b2dnbGUge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC40cmVtO1xuICAgIHBhZGRpbmc6IC4zNXJlbSAuNjVyZW07XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIGJvcmRlci1yYWRpdXM6IC41cmVtO1xuICAgIGhlaWdodDogMzhweDsgLy8gbWF0Y2ggZm9ybS1jb250cm9sIGhlaWdodFxuXG4gICAgLmZvcm0tY2hlY2sge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IC4zNXJlbTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjcycmVtO1xuICAgICAgICBjb2xvcjogIzY0NzQ4YjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG59XG5cbi8vIOKUgOKUgCBSZWNpcGllbnQgc2VhcmNoIGF1dG9jb21wbGV0ZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi5haC1zZWFyY2gtcmVzdWx0cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDEwNTU7IC8vIGFib3ZlIEJvb3RzdHJhcCBtb2RhbCAoMTA1MClcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1heC1oZWlnaHQ6IDI0MHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGVlMmU2O1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIC4zNzVyZW0gLjM3NXJlbTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwwLDAsLjEpO1xufVxuXG4uYWgtc2VhcmNoLXJlc3VsdC1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuNjI1cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IC41cmVtIC43NXJlbTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1zaXplOiAuODc1cmVtO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjE1cztcblxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZjhmMGY4O1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbn1cblxuLmFoLXNlYXJjaC1hdmF0YXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgYmFja2dyb3VuZDogIzZjNzU3ZDtcbn1cblxuLmFoLXNlYXJjaC1pbmZvIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uYWgtc2VhcmNoLW5vLXJlc3VsdCB7XG4gICAgcGFkZGluZzogLjc1cmVtO1xuICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8vIOKUgOKUgCBSZWNpcGllbnQgY2hpcCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi5haC1yZWNpcGllbnQtY2hpcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC41cmVtO1xuICAgIHBhZGRpbmc6IC4zNzVyZW0gLjc1cmVtO1xuICAgIGJhY2tncm91bmQ6ICNmMGU2ZWY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Q0YjVkMztcbiAgICBib3JkZXItcmFkaXVzOiAycmVtO1xuICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgICBjb2xvcjogIzMzMztcbn1cblxuLmFoLXJlY2lwaWVudC1jaGlwLXJlbW92ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsLjEpO1xuICAgIGNvbG9yOiAjNjY2O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IC42MjVyZW07XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMTVzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsLjIpO1xuICAgICAgICBjb2xvcjogIzMzMztcbiAgICB9XG59XG5cbi8vIE1ha2UgdGhlIHJlY2lwaWVudCBzZWFyY2ggd3JhcHBlciBwb3NpdGlvbjpyZWxhdGl2ZSBmb3IgZHJvcGRvd25cbltkYXRhLWNvbnRyb2xsZXI9XCJyZWNpcGllbnQtc2VhcmNoXCJdIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vIOKUgOKUgCBDbGllbnQgcGFnZTogw4ljaGFuZ2VzIHNlY3Rpb24g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4uYWgtY2FyZC1jbGVhbiB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAuNXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTllY2VmO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5haC1leGNoYW5nZS1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IC42cmVtIDFyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMWY1Zjk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjE1cztcblxuICAgICY6bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDogI2Y4ZmFmYzsgfVxufVxuXG4uYWgtZXhjaGFuZ2UtaXRlbS1sZWZ0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuNzVyZW07XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uYWgtZXhjaGFuZ2Utc3RhdHVzIHtcbiAgICB3aWR0aDogOHB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBmbGV4LXNocmluazogMDtcblxuICAgICYtLW9wZW4geyBiYWNrZ3JvdW5kOiAjMjJjNTVlOyB9XG4gICAgJi0tY2xvc2VkIHsgYmFja2dyb3VuZDogIzk0YTNiODsgfVxufVxuXG4uYWgtZXhjaGFuZ2Utc3ViamVjdCB7XG4gICAgZm9udC1zaXplOiAuODRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzFlMjkzYjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5haC1leGNoYW5nZS1tZXRhIHtcbiAgICBmb250LXNpemU6IC43MnJlbTtcbiAgICBjb2xvcjogIzk0YTNiODtcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcbn1cblxuLmFoLWV4Y2hhbmdlLWl0ZW0tcmlnaHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC41cmVtO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uYWgtZXhjaGFuZ2UtYmFkZ2Uge1xuICAgIGZvbnQtc2l6ZTogLjYycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogLjA0ZW07XG4gICAgcGFkZGluZzogLjJyZW0gLjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogLjI1cmVtO1xuXG4gICAgJi0tb3BlbiB7XG4gICAgICAgIGNvbG9yOiAjMTZhMzRhO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAxOTcsIDk0LCAuMSk7XG4gICAgfVxuICAgICYtLWNsb3NlZCB7XG4gICAgICAgIGNvbG9yOiAjNjQ3NDhiO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEwMCwgMTE2LCAxMzksIC4wOCk7XG4gICAgfVxufVxuXG4uYWgtZW1wdHktc3RhdGUtbWluaSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDEuNXJlbSAxcmVtO1xuICAgIGNvbG9yOiAjYjBiMGIwO1xuXG4gICAgcCB7XG4gICAgICAgIG1hcmdpbjogLjVyZW0gMCAwO1xuICAgICAgICBmb250LXNpemU6IC44cmVtO1xuICAgIH1cbn1cblxuLyogRGFyayBtb2RlIHJlbW92ZWQg4oCUIGxpZ2h0IG9ubHkgKi9cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQXJjaGlIdWIg4oCUIEZvbnQgZGVjbGFyYXRpb25zIChzaW5nbGUgc291cmNlIG9mIHRydXRoKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIC0tLSBHb29kYmVyIOKAlCBCcmFuZCBsb2dvIHRleHQgb25seSAtLS0gKi9cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvb2RiZXJcIjtcbiAgICBzcmM6IHVybChcIi4uL2ZvbnRzL2FyY2hpaHViL2dvZGJlci0zbHhvei50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG4vKiAtLS0gSW50ZXIg4oCUIFByaW1hcnkgVUkgLyBib2R5IGZvbnQgKHZhcmlhYmxlLCBsYXRpbi1leHQgKyBsYXRpbikgLS0tICovXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJJbnRlclwiO1xuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvaW50ZXIvSW50ZXItbGF0aW4tZXh0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDAgNzAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJJbnRlclwiO1xuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvaW50ZXIvSW50ZXItbGF0aW4ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG4gICAgZm9udC13ZWlnaHQ6IDMwMCA3MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDtcbn1cblxuLyogLS0tIERNIFNhbnMg4oCUIEhlYWRpbmdzIC8gZGlzcGxheSBmb250ICh2YXJpYWJsZSwgbGF0aW4tZXh0ICsgbGF0aW4pIC0tLSAqL1xuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiRE0gU2Fuc1wiO1xuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvZG0tc2Fucy9ETVNhbnMtbGF0aW4tZXh0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDAgNzAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJETSBTYW5zXCI7XG4gICAgc3JjOiB1cmwoXCIuLi9mb250cy9kbS1zYW5zL0RNU2Fucy1sYXRpbi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgICBmb250LXdlaWdodDogNDAwIDcwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEO1xufVxuIiwiJGZpbGU6IFwiXCIgIWRlZmF1bHQ7XG5cbi8qIVxuICogQ29yZVVJICN7JGZpbGV9IHY1LjQuMSAoaHR0cHM6Ly9jb3JldWkuaW8pXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjUgY3JlYXRpdmVMYWJzIMWBdWthc3ogSG9sZWN6ZWtcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL2NvcmV1aS9jb3JldWkvYmxvYi9tYWluL0xJQ0VOU0UpXG4gKi9cbiIsIkB1c2UgXCJzYXNzOm1ldGFcIjtcbkB1c2UgXCJmdW5jdGlvbnMvY29sb3JcIiBhcyAqO1xuQHVzZSBcImZ1bmN0aW9ucy90by1yZ2JcIiBhcyAqO1xuQHVzZSBcIm1peGlucy9jb2xvci1tb2RlXCIgYXMgKjtcbkB1c2UgXCJ2ZW5kb3IvcmZzXCIgYXMgKjtcbkB1c2UgXCJtYXBzXCIgYXMgKjtcbkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xuQHVzZSBcInZhcmlhYmxlcy1kYXJrXCIgYXMgKjtcblxuOnJvb3QsXG5bZGF0YSN7JGRhdGEtaW5maXh9dGhlbWU9XCJsaWdodFwiXSB7XG4gIC8vIE5vdGU6IEN1c3RvbSB2YXJpYWJsZSB2YWx1ZXMgb25seSBzdXBwb3J0IFNhc3NTY3JpcHQgaW5zaWRlIGAje31gLlxuXG4gIC8vIENvbG9yc1xuICAvL1xuICAvLyBHZW5lcmF0ZSBwYWxldHRlcyBmb3IgZnVsbCBjb2xvcnMsIGdyYXlzLCBhbmQgdGhlbWUgY29sb3JzXG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGNvbG9ycyB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkZ3JheXMge1xuICAgIC0tI3skcHJlZml4fWdyYXktI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtcmdiIHtcbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tcmdiOiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLXRleHQge1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS10ZXh0LWVtcGhhc2lzOiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLWJnLXN1YnRsZSB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LWJnLXN1YnRsZTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1ib3JkZXItc3VidGxlIHtcbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tYm9yZGVyLXN1YnRsZTogI3skdmFsdWV9O1xuICB9XG5cbiAgLS0jeyRwcmVmaXh9d2hpdGUtcmdiOiAje3RvLXJnYigkd2hpdGUpfTtcbiAgLS0jeyRwcmVmaXh9YmxhY2stcmdiOiAje3RvLXJnYigkYmxhY2spfTtcblxuICAvLyBGb250c1xuXG4gIC8vIE5vdGU6IFVzZSBgbWV0YS5pbnNwZWN0YCBmb3IgbGlzdHMgc28gdGhhdCBxdW90ZWQgaXRlbXMga2VlcCB0aGUgcXVvdGVzLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMjM4MyNpc3N1ZWNvbW1lbnQtMzM2MzQ5MTcyXG4gIC0tI3skcHJlZml4fWZvbnQtc2Fucy1zZXJpZjogI3ttZXRhLmluc3BlY3QoJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYpfTtcbiAgLS0jeyRwcmVmaXh9Zm9udC1tb25vc3BhY2U6ICN7bWV0YS5pbnNwZWN0KCRmb250LWZhbWlseS1tb25vc3BhY2UpfTtcbiAgLS0jeyRwcmVmaXh9Z3JhZGllbnQ6ICN7JGdyYWRpZW50fTtcblxuICAvLyBSb290IGFuZCBib2R5XG4gIC8vIHNjc3MtZG9jcy1zdGFydCByb290LWJvZHktdmFyaWFibGVzXG4gIEBpZiAkZm9udC1zaXplLXJvb3QgIT0gbnVsbCB7XG4gICAgLS0jeyRwcmVmaXh9cm9vdC1mb250LXNpemU6ICN7JGZvbnQtc2l6ZS1yb290fTtcbiAgfVxuICAtLSN7JHByZWZpeH1ib2R5LWZvbnQtZmFtaWx5OiAje21ldGEuaW5zcGVjdCgkZm9udC1mYW1pbHktYmFzZSl9O1xuICBAaW5jbHVkZSByZnMoJGZvbnQtc2l6ZS1iYXNlLCAtLSN7JHByZWZpeH1ib2R5LWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJvZHktZm9udC13ZWlnaHQ6ICN7JGZvbnQtd2VpZ2h0LWJhc2V9O1xuICAtLSN7JHByZWZpeH1ib2R5LWxpbmUtaGVpZ2h0OiAjeyRsaW5lLWhlaWdodC1iYXNlfTtcbiAgQGlmICRib2R5LXRleHQtYWxpZ24gIT0gbnVsbCB7XG4gICAgLS0jeyRwcmVmaXh9Ym9keS10ZXh0LWFsaWduOiAjeyRib2R5LXRleHQtYWxpZ259O1xuICB9XG5cbiAgLS0jeyRwcmVmaXh9Ym9keS1jb2xvcjogI3skYm9keS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJvZHktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1jb2xvcil9O1xuICAtLSN7JHByZWZpeH1ib2R5LWJnOiAjeyRib2R5LWJnfTtcbiAgLS0jeyRwcmVmaXh9Ym9keS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LWJnKX07XG5cbiAgLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3I6ICN7JGJvZHktZW1waGFzaXMtY29sb3J9O1xuICAtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LWVtcGhhc2lzLWNvbG9yKX07XG5cbiAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yOiAjeyRib2R5LXNlY29uZGFyeS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LXNlY29uZGFyeS1jb2xvcil9O1xuICAtLSN7JHByZWZpeH1zZWNvbmRhcnktYmc6ICN7JGJvZHktc2Vjb25kYXJ5LWJnfTtcbiAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktc2Vjb25kYXJ5LWJnKX07XG5cbiAgLS0jeyRwcmVmaXh9dGVydGlhcnktY29sb3I6ICN7JGJvZHktdGVydGlhcnktY29sb3J9O1xuICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LXRlcnRpYXJ5LWNvbG9yKX07XG4gIC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnOiAjeyRib2R5LXRlcnRpYXJ5LWJnfTtcbiAgLS0jeyRwcmVmaXh9dGVydGlhcnktYmctcmdiOiAje3RvLXJnYigkYm9keS10ZXJ0aWFyeS1iZyl9O1xuXG4gIC0tI3skcHJlZml4fWJvZHktY29sb3ItZGFyazogI3skYm9keS1jb2xvci1kYXJrfTtcbiAgLS0jeyRwcmVmaXh9Ym9keS1jb2xvci1yZ2ItZGFyazogI3t0by1yZ2IoJGJvZHktY29sb3ItZGFyayl9O1xuICAtLSN7JHByZWZpeH1ib2R5LWJnLWRhcms6ICN7JGJvZHktYmctZGFya307XG4gIC0tI3skcHJlZml4fWJvZHktYmctcmdiLWRhcms6ICN7dG8tcmdiKCRib2R5LWJnLWRhcmspfTtcblxuICAtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1kYXJrOiAjeyRib2R5LWVtcGhhc2lzLWNvbG9yLWRhcmt9O1xuICAtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2ItZGFyazogI3t0by1yZ2IoJGJvZHktZW1waGFzaXMtY29sb3ItZGFyayl9O1xuXG4gIC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvci1kYXJrOiAjeyRib2R5LXNlY29uZGFyeS1jb2xvci1kYXJrfTtcbiAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yLXJnYi1kYXJrOiAje3RvLXJnYigkYm9keS1zZWNvbmRhcnktY29sb3ItZGFyayl9O1xuICAtLSN7JHByZWZpeH1zZWNvbmRhcnktYmctZGFyazogI3skYm9keS1zZWNvbmRhcnktYmctZGFya307XG4gIC0tI3skcHJlZml4fXNlY29uZGFyeS1iZy1yZ2ItZGFyazogI3t0by1yZ2IoJGJvZHktc2Vjb25kYXJ5LWJnLWRhcmspfTtcblxuICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvci1kYXJrOiAjeyRib2R5LXRlcnRpYXJ5LWNvbG9yLWRhcmt9O1xuICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvci1yZ2ItZGFyazogI3t0by1yZ2IoJGJvZHktdGVydGlhcnktY29sb3ItZGFyayl9O1xuICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZy1kYXJrOiAjeyRib2R5LXRlcnRpYXJ5LWJnLWRhcmt9O1xuICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZy1yZ2ItZGFyazogI3t0by1yZ2IoJGJvZHktdGVydGlhcnktYmctZGFyayl9O1xuXG4gIC0tI3skcHJlZml4fWhpZ2gtZW1waGFzaXM6ICN7JGhpZ2gtZW1waGFzaXN9OyAvLyBEZXByZWNhdGVkIGluIHY1LjAuMFxuICAtLSN7JHByZWZpeH1tZWRpdW0tZW1waGFzaXM6ICN7JG1lZGl1bS1lbXBoYXNpc307IC8vIERlcHJlY2F0ZWQgaW4gdjUuMC4wXG4gIC0tI3skcHJlZml4fWRpc2FibGVkOiAjeyRkaXNhYmxlZH07IC8vIERlcHJlY2F0ZWQgaW4gdjUuMC4wXG5cbiAgLS0jeyRwcmVmaXh9aGlnaC1lbXBoYXNpcy1pbnZlcnNlOiAjeyRoaWdoLWVtcGhhc2lzLWludmVyc2V9OyAvLyBEZXByZWNhdGVkIGluIHY1LjAuMFxuICAtLSN7JHByZWZpeH1tZWRpdW0tZW1waGFzaXMtaW52ZXJzZTogI3skbWVkaXVtLWVtcGhhc2lzLWludmVyc2V9OyAvLyBEZXByZWNhdGVkIGluIHY1LjAuMFxuICAtLSN7JHByZWZpeH1kaXNhYmxlZC1pbnZlcnNlOiAjeyRkaXNhYmxlZC1pbnZlcnNlfTsgLy8gRGVwcmVjYXRlZCBpbiB2NS4wLjBcbiAgLy8gc2Nzcy1kb2NzLWVuZCByb290LWJvZHktdmFyaWFibGVzXG5cbiAgLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcjogI3skaGVhZGluZ3MtY29sb3J9O1xuXG4gIC0tI3skcHJlZml4fWxpbmstY29sb3I6ICN7JGxpbmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1saW5rLWNvbG9yLXJnYjogI3t0by1yZ2IoJGxpbmstY29sb3IpfTtcbiAgLS0jeyRwcmVmaXh9bGluay1kZWNvcmF0aW9uOiAjeyRsaW5rLWRlY29yYXRpb259O1xuXG4gIC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3I6ICN7JGxpbmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yLXJnYjogI3t0by1yZ2IoJGxpbmstaG92ZXItY29sb3IpfTtcblxuICBAaWYgJGxpbmstaG92ZXItZGVjb3JhdGlvbiAhPSBudWxsIHtcbiAgICAtLSN7JHByZWZpeH1saW5rLWhvdmVyLWRlY29yYXRpb246ICN7JGxpbmstaG92ZXItZGVjb3JhdGlvbn07XG4gIH1cblxuICAtLSN7JHByZWZpeH1jb2RlLWNvbG9yOiAjeyRjb2RlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWNvbG9yOiAjeyRtYXJrLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWJnOiAjeyRtYXJrLWJnfTtcblxuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcm9vdC1ib3JkZXItdmFyXG4gIC0tI3skcHJlZml4fWJvcmRlci13aWR0aDogI3skYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXN0eWxlOiAjeyRib3JkZXItc3R5bGV9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItY29sb3I6ICN7JGJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudDogI3skYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50fTtcblxuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzOiAjeyRib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1zbTogI3skYm9yZGVyLXJhZGl1cy1zbX07XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGc6ICN7JGJvcmRlci1yYWRpdXMtbGd9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXhsOiAjeyRib3JkZXItcmFkaXVzLXhsfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy14eGw6ICN7JGJvcmRlci1yYWRpdXMteHhsfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy0yeGw6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXh4bCk7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMC4wIGZvciBjb25zaXN0ZW5jeVxuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXBpbGw6ICN7JGJvcmRlci1yYWRpdXMtcGlsbH07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcm9vdC1ib3JkZXItdmFyXG5cbiAgLS0jeyRwcmVmaXh9Ym94LXNoYWRvdzogI3skYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWJveC1zaGFkb3ctc206ICN7JGJveC1zaGFkb3ctc219O1xuICAtLSN7JHByZWZpeH1ib3gtc2hhZG93LWxnOiAjeyRib3gtc2hhZG93LWxnfTtcbiAgLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1pbnNldDogI3skYm94LXNoYWRvdy1pbnNldH07XG5cbiAgLy8gRm9jdXMgc3R5bGVzXG4gIC8vIHNjc3MtZG9jcy1zdGFydCByb290LWZvY3VzLXZhcmlhYmxlc1xuICAtLSN7JHByZWZpeH1mb2N1cy1yaW5nLXdpZHRoOiAjeyRmb2N1cy1yaW5nLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy1vcGFjaXR5OiAjeyRmb2N1cy1yaW5nLW9wYWNpdHl9O1xuICAtLSN7JHByZWZpeH1mb2N1cy1yaW5nLWNvbG9yOiAjeyRmb2N1cy1yaW5nLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCByb290LWZvY3VzLXZhcmlhYmxlc1xuXG4gIC8vIHNjc3MtZG9jcy1zdGFydCByb290LWZvcm0tdmFsaWRhdGlvbi12YXJpYWJsZXNcbiAgLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1jb2xvcjogI3skZm9ybS12YWxpZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yOiAjeyRmb3JtLXZhbGlkLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1jb2xvcjogI3skZm9ybS1pbnZhbGlkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvcjogI3skZm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcm9vdC1mb3JtLXZhbGlkYXRpb24tdmFyaWFibGVzXG59XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaywgdHJ1ZSkge1xuICAgIGNvbG9yLXNjaGVtZTogZGFyaztcblxuICAgIC8vIHNjc3MtZG9jcy1zdGFydCByb290LWRhcmstbW9kZS12YXJzXG4gICAgLS0jeyRwcmVmaXh9Ym9keS1jb2xvcjogI3skYm9keS1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1ib2R5LWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktY29sb3ItZGFyayl9O1xuICAgIC0tI3skcHJlZml4fWJvZHktYmc6ICN7JGJvZHktYmctZGFya307XG4gICAgLS0jeyRwcmVmaXh9Ym9keS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LWJnLWRhcmspfTtcblxuICAgIC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yOiAjeyRib2R5LWVtcGhhc2lzLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktZW1waGFzaXMtY29sb3ItZGFyayl9O1xuXG4gICAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yOiAjeyRib2R5LXNlY29uZGFyeS1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1zZWNvbmRhcnktY29sb3ItZGFyayl9O1xuICAgIC0tI3skcHJlZml4fXNlY29uZGFyeS1iZzogI3skYm9keS1zZWNvbmRhcnktYmctZGFya307XG4gICAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktc2Vjb25kYXJ5LWJnLWRhcmspfTtcblxuICAgIC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yOiAjeyRib2R5LXRlcnRpYXJ5LWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktdGVydGlhcnktY29sb3ItZGFyayl9O1xuICAgIC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnOiAjeyRib2R5LXRlcnRpYXJ5LWJnLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktdGVydGlhcnktYmctZGFyayl9O1xuXG4gICAgLS0jeyRwcmVmaXh9aGlnaC1lbXBoYXNpczogI3skaGlnaC1lbXBoYXNpcy1kYXJrfTsgLy8gRGVwcmVjYXRlZCBpbiB2NS4wLjBcbiAgICAtLSN7JHByZWZpeH1tZWRpdW0tZW1waGFzaXM6ICN7JG1lZGl1bS1lbXBoYXNpcy1kYXJrfTsgLy8gRGVwcmVjYXRlZCBpbiB2NS4wLjBcbiAgICAtLSN7JHByZWZpeH1kaXNhYmxlZDogI3skZGlzYWJsZWQtZGFya307IC8vIERlcHJlY2F0ZWQgaW4gdjUuMC4wXG5cbiAgICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLWRhcmsge1xuICAgICAgLS0jeyRwcmVmaXh9I3skY29sb3J9OiAjeyR2YWx1ZX07XG4gICAgfVxuXG4gICAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGdyYXlzLWRhcmsge1xuICAgICAgLS0jeyRwcmVmaXh9Z3JheS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgICB9XG5cbiAgICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLXJnYi1kYXJrIHtcbiAgICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1yZ2I6ICN7JHZhbHVlfTtcbiAgICB9XG5cbiAgICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLXRleHQtZGFyayB7XG4gICAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tdGV4dC1lbXBoYXNpczogI3skdmFsdWV9O1xuICAgIH1cblxuICAgIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtYmctc3VidGxlLWRhcmsge1xuICAgICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LWJnLXN1YnRsZTogI3skdmFsdWV9O1xuICAgIH1cblxuICAgIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtYm9yZGVyLXN1YnRsZS1kYXJrIHtcbiAgICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1ib3JkZXItc3VidGxlOiAjeyR2YWx1ZX07XG4gICAgfVxuXG4gICAgLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcjogI3skaGVhZGluZ3MtY29sb3ItZGFya307XG5cbiAgICAtLSN7JHByZWZpeH1saW5rLWNvbG9yOiAjeyRsaW5rLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3I6ICN7JGxpbmstaG92ZXItY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9bGluay1jb2xvci1yZ2I6ICN7dG8tcmdiKCRsaW5rLWNvbG9yLWRhcmspfTtcbiAgICAtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yLXJnYjogI3t0by1yZ2IoJGxpbmstaG92ZXItY29sb3ItZGFyayl9O1xuXG4gICAgLS0jeyRwcmVmaXh9Y29kZS1jb2xvcjogI3skY29kZS1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1oaWdobGlnaHQtY29sb3I6ICN7JG1hcmstY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWJnOiAjeyRtYXJrLWJnLWRhcmt9O1xuXG4gICAgLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yOiAjeyRib3JkZXItY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50OiAjeyRib3JkZXItY29sb3ItdHJhbnNsdWNlbnQtZGFya307XG5cbiAgICAtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWNvbG9yOiAjeyRmb3JtLXZhbGlkLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yOiAjeyRmb3JtLXZhbGlkLWJvcmRlci1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtY29sb3I6ICN7JGZvcm0taW52YWxpZC1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yOiAjeyRmb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yLWRhcmt9O1xuICAgIC8vIHNjc3MtZG9jcy1lbmQgcm9vdC1kYXJrLW1vZGUtdmFyc1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzY3NzL2RpbWVuc2lvbi1uby1ub24tbnVtZXJpYy12YWx1ZXNcbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcInNhc3M6bWV0YVwiO1xuQHVzZSBcInNhc3M6c3RyaW5nXCI7XG5cbkB1c2UgXCIuLi92YXJpYWJsZXNcIiBhcyAqO1xuXG4vLyBTQ1NTIFJGUyBtaXhpblxuLy9cbi8vIEF1dG9tYXRlZCByZXNwb25zaXZlIHZhbHVlcyBmb3IgZm9udCBzaXplcywgcGFkZGluZ3MsIG1hcmdpbnMgYW5kIG11Y2ggbW9yZVxuLy9cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2Jsb2IvbWFpbi9MSUNFTlNFKVxuXG4vLyBDb25maWd1cmF0aW9uXG5cbi8vIEJhc2UgdmFsdWVcbiRyZnMtYmFzZS12YWx1ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyZnMtdW5pdDogcmVtICFkZWZhdWx0O1xuXG5AaWYgJHJmcy11bml0ICE9IHJlbSBhbmQgJHJmcy11bml0ICE9IHB4IHtcbiAgQGVycm9yIFwiYCN7JHJmcy11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbn1cblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSB2YWx1ZXMgc3RhcnQgZGVjcmVhc2luZyBpZiBzY3JlZW4gd2lkdGggaXMgc21hbGxlclxuJHJmcy1icmVha3BvaW50OiAxMjAwcHggIWRlZmF1bHQ7XG4kcmZzLWJyZWFrcG9pbnQtdW5pdDogcHggIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBweCBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gZW0gYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHJlbSB7XG4gIEBlcnJvciBcImAjeyRyZnMtYnJlYWtwb2ludC11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1icmVha3BvaW50LXVuaXQuIFVzZSBgcHhgLCBgZW1gIG9yIGByZW1gLlwiO1xufVxuXG4vLyBSZXNpemUgdmFsdWVzIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhY3RvciBvZiBkZWNyZWFzZVxuJHJmcy1mYWN0b3I6IDEwICFkZWZhdWx0O1xuXG5AaWYgbWV0YS50eXBlLW9mKCRyZnMtZmFjdG9yKSAhPSBudW1iZXIgb3IgJHJmcy1mYWN0b3IgPD0gMSB7XG4gIEBlcnJvciBcImAjeyRyZnMtZmFjdG9yfWAgaXMgbm90IGEgdmFsaWQgICRyZnMtZmFjdG9yLCBpdCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxLlwiO1xufVxuXG4vLyBNb2RlLiBQb3NzaWJpbGl0aWVzOiBcIm1pbi1tZWRpYS1xdWVyeVwiLCBcIm1heC1tZWRpYS1xdWVyeVwiXG4kcmZzLW1vZGU6IG1pbi1tZWRpYS1xdWVyeSAhZGVmYXVsdDtcblxuLy8gR2VuZXJhdGUgZW5hYmxlIG9yIGRpc2FibGUgY2xhc3Nlcy4gUG9zc2liaWxpdGllczogZmFsc2UsIFwiZW5hYmxlXCIgb3IgXCJkaXNhYmxlXCJcbiRyZnMtY2xhc3M6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyAxIHJlbSA9ICRyZnMtcmVtLXZhbHVlIHB4XG4kcmZzLXJlbS12YWx1ZTogMTYgIWRlZmF1bHQ7XG5cbi8vIFNhZmFyaSBpZnJhbWUgcmVzaXplIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2lzc3Vlcy8xNFxuJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRGlzYWJsZSBSRlMgYnkgc2V0dGluZyAkZW5hYmxlLXJmcyB0byBmYWxzZVxuJGVuYWJsZS1yZnM6ICRlbmFibGUtcmZzICFkZWZhdWx0O1xuXG4vLyBDYWNoZSAkcmZzLWJhc2UtdmFsdWUgdW5pdFxuJHJmcy1iYXNlLXZhbHVlLXVuaXQ6IG1hdGgudW5pdCgkcmZzLWJhc2UtdmFsdWUpO1xuXG5AZnVuY3Rpb24gcmZzLWRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMCkge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwIG9yICRkaXZpZGVuZCA8IDAgYW5kICRkaXZpc29yIDwgMCwgMSwgLTEpO1xuICAkZGl2aWRlbmQ6IGFicygkZGl2aWRlbmQpO1xuICAkZGl2aXNvcjogYWJzKCRkaXZpc29yKTtcbiAgQGlmICRkaXZpZGVuZCA9PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDAge1xuICAgIEBlcnJvciBcIkNhbm5vdCBkaXZpZGUgYnkgMFwiO1xuICB9XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgJHJlc3VsdDogMDtcbiAgJGZhY3RvcjogMTA7XG4gIEB3aGlsZSAoJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPj0gMCkge1xuICAgICRxdW90aWVudDogMDtcbiAgICBAd2hpbGUgKCRyZW1haW5kZXIgPj0gJGRpdmlzb3IpIHtcbiAgICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgICAgICRxdW90aWVudDogJHF1b3RpZW50ICsgMTtcbiAgICB9XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgJHF1b3RpZW50O1xuICAgICRmYWN0b3I6ICRmYWN0b3IgKiAuMTtcbiAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyICogMTA7XG4gICAgJHByZWNpc2lvbjogJHByZWNpc2lvbiAtIDE7XG4gICAgQGlmICgkcHJlY2lzaW9uIDwgMCBhbmQgJHJlbWFpbmRlciA+PSAkZGl2aXNvciAqIDUpIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAxO1xuICAgIH1cbiAgfVxuICAkcmVzdWx0OiAkcmVzdWx0ICogJGZhY3RvciAqICRzaWduO1xuICAkZGl2aWRlbmQtdW5pdDogbWF0aC51bml0KCRkaXZpZGVuZCk7XG4gICRkaXZpc29yLXVuaXQ6IG1hdGgudW5pdCgkZGl2aXNvcik7XG4gICR1bml0LW1hcDogKFxuICAgIFwicHhcIjogMXB4LFxuICAgIFwicmVtXCI6IDFyZW0sXG4gICAgXCJlbVwiOiAxZW0sXG4gICAgXCIlXCI6IDElXG4gICk7XG4gIEBpZiAoJGRpdmlkZW5kLXVuaXQgIT0gJGRpdmlzb3ItdW5pdCBhbmQgbWFwLmhhcy1rZXkoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCkpIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogbWFwLmdldCgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KTtcbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vIFJlbW92ZSBweC11bml0IGZyb20gJHJmcy1iYXNlLXZhbHVlIGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJhc2UtdmFsdWUtdW5pdCA9PSBweCB7XG4gICRyZnMtYmFzZS12YWx1ZTogcmZzLWRpdmlkZSgkcmZzLWJhc2UtdmFsdWUsICRyZnMtYmFzZS12YWx1ZSAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYmFzZS12YWx1ZS11bml0ID09IHJlbSB7XG4gICRyZnMtYmFzZS12YWx1ZTogcmZzLWRpdmlkZSgkcmZzLWJhc2UtdmFsdWUsIHJmcy1kaXZpZGUoJHJmcy1iYXNlLXZhbHVlICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIENhY2hlICRyZnMtYnJlYWtwb2ludCB1bml0IHRvIHByZXZlbnQgbXVsdGlwbGUgY2FsbHNcbiRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlOiBtYXRoLnVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IHB4IHtcbiAgJHJmcy1icmVha3BvaW50OiByZnMtZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1icmVha3BvaW50ICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gcmVtIG9yICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwiZW1cIiB7XG4gICRyZnMtYnJlYWtwb2ludDogcmZzLWRpdmlkZSgkcmZzLWJyZWFrcG9pbnQsIHJmcy1kaXZpZGUoJHJmcy1icmVha3BvaW50ICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIENhbGN1bGF0ZSB0aGUgbWVkaWEgcXVlcnkgdmFsdWVcbiRyZnMtbXEtdmFsdWU6IGlmKCRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4LCAjeyRyZnMtYnJlYWtwb2ludH1weCwgI3tyZnMtZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1yZW0tdmFsdWUpfSN7JHJmcy1icmVha3BvaW50LXVuaXR9KTtcbiRyZnMtbXEtcHJvcGVydHktd2lkdGg6IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksIG1heC13aWR0aCwgbWluLXdpZHRoKTtcbiRyZnMtbXEtcHJvcGVydHktaGVpZ2h0OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCBtYXgtaGVpZ2h0LCBtaW4taGVpZ2h0KTtcblxuLy8gSW50ZXJuYWwgbWl4aW4gdXNlZCB0byBkZXRlcm1pbmUgd2hpY2ggbWVkaWEgcXVlcnkgbmVlZHMgdG8gYmUgdXNlZFxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnkge1xuICBAaWYgJHJmcy10d28tZGltZW5zaW9uYWwge1xuICAgIEBpZiAkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBtZWRpYSAoI3skcmZzLW1xLXByb3BlcnR5LXdpZHRofTogI3skcmZzLW1xLXZhbHVlfSksICgjeyRyZnMtbXEtcHJvcGVydHktaGVpZ2h0fTogI3skcmZzLW1xLXZhbHVlfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSBhbmQgKCN7JHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHR9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGRpc2FibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtcnVsZSB7XG4gIEBpZiAkcmZzLWNsYXNzID09IGRpc2FibGUgYW5kICRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnkge1xuICAgIC8vIEFkZGluZyBhbiBleHRyYSBjbGFzcyBpbmNyZWFzZXMgc3BlY2lmaWNpdHksIHdoaWNoIHByZXZlbnRzIHRoZSBtZWRpYSBxdWVyeSB0byBvdmVycmlkZSB0aGUgcHJvcGVydHlcbiAgICAmLFxuICAgIC5kaXNhYmxlLXJmcyAmLFxuICAgICYuZGlzYWJsZS1yZnMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRyZnMtY2xhc3MgPT0gZW5hYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAuZW5hYmxlLXJmcyAmLFxuICAgICYuZW5hYmxlLXJmcyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBlbmFibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnktcnVsZSB7XG5cbiAgQGlmICRyZnMtY2xhc3MgPT0gZW5hYmxlIHtcbiAgICBAaWYgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5ICgpIHtcbiAgICAgIC5lbmFibGUtcmZzICYsXG4gICAgICAmLmVuYWJsZS1yZnMge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkcmZzLWNsYXNzID09IGRpc2FibGUgYW5kICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgICAgLmRpc2FibGUtcmZzICYsXG4gICAgICAmLmRpc2FibGUtcmZzIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkgKCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIGZvcm1hdHRlZCBub24tcmVzcG9uc2l2ZSB2YWx1ZVxuQGZ1bmN0aW9uIHJmcy12YWx1ZSgkdmFsdWVzKSB7XG4gIC8vIENvbnZlcnQgdG8gbGlzdFxuICAkdmFsdWVzOiBpZihtZXRhLnR5cGUtb2YoJHZhbHVlcykgIT0gbGlzdCwgKCR2YWx1ZXMsKSwgJHZhbHVlcyk7XG5cbiAgJHZhbDogXCJcIjtcblxuICAvLyBMb29wIG92ZXIgZWFjaCB2YWx1ZSBhbmQgY2FsY3VsYXRlIHZhbHVlXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgJHZhbHVlID09IDAge1xuICAgICAgJHZhbDogJHZhbCArIFwiIDBcIjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQ2FjaGUgJHZhbHVlIHVuaXRcbiAgICAgICR1bml0OiBpZihtZXRhLnR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiLCBtYXRoLnVuaXQoJHZhbHVlKSwgZmFsc2UpO1xuXG4gICAgICBAaWYgJHVuaXQgPT0gcHgge1xuICAgICAgICAvLyBDb252ZXJ0IHRvIHJlbSBpZiBuZWVkZWRcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgaWYoJHJmcy11bml0ID09IHJlbSwgI3tyZnMtZGl2aWRlKCR2YWx1ZSwgJHZhbHVlICogMCArICRyZnMtcmVtLXZhbHVlKX1yZW0sICR2YWx1ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkdW5pdCA9PSByZW0ge1xuICAgICAgICAvLyBDb252ZXJ0IHRvIHB4IGlmIG5lZWRlZFxuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyBpZigkcmZzLXVuaXQgPT0gcHgsICN7cmZzLWRpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyAxKSAqICRyZnMtcmVtLXZhbHVlfXB4LCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIElmICR2YWx1ZSBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkdmFsdWUgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVtb3ZlIGZpcnN0IHNwYWNlXG4gIEByZXR1cm4gc3RyaW5nLnVucXVvdGUoc3RyaW5nLnNsaWNlKCR2YWwsIDIpKTtcbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgcmVzcG9uc2l2ZSB2YWx1ZSBjYWxjdWxhdGVkIGJ5IFJGU1xuQGZ1bmN0aW9uIHJmcy1mbHVpZC12YWx1ZSgkdmFsdWVzKSB7XG4gIC8vIENvbnZlcnQgdG8gbGlzdFxuICAkdmFsdWVzOiBpZihtZXRhLnR5cGUtb2YoJHZhbHVlcykgIT0gbGlzdCwgKCR2YWx1ZXMsKSwgJHZhbHVlcyk7XG5cbiAgJHZhbDogXCJcIjtcblxuICAvLyBMb29wIG92ZXIgZWFjaCB2YWx1ZSBhbmQgY2FsY3VsYXRlIHZhbHVlXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgJHZhbHVlID09IDAge1xuICAgICAgJHZhbDogJHZhbCArIFwiIDBcIjtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIENhY2hlICR2YWx1ZSB1bml0XG4gICAgICAkdW5pdDogaWYobWV0YS50eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiwgbWF0aC51bml0KCR2YWx1ZSksIGZhbHNlKTtcblxuICAgICAgLy8gSWYgJHZhbHVlIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICR2YWx1ZSBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gICAgICBAaWYgbm90ICR1bml0IG9yICR1bml0ICE9IHB4IGFuZCAkdW5pdCAhPSByZW0ge1xuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyAkdmFsdWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gUmVtb3ZlIHVuaXQgZnJvbSAkdmFsdWUgZm9yIGNhbGN1bGF0aW9uc1xuICAgICAgICAkdmFsdWU6IHJmcy1kaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgaWYoJHVuaXQgPT0gcHgsIDEsIHJmcy1kaXZpZGUoMSwgJHJmcy1yZW0tdmFsdWUpKSk7XG5cbiAgICAgICAgLy8gT25seSBhZGQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZSB2YWx1ZSBpcyBncmVhdGVyIHRoYW4gdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgQGlmIGFicygkdmFsdWUpIDw9ICRyZnMtYmFzZS12YWx1ZSBvciBub3QgJGVuYWJsZS1yZnMge1xuICAgICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArIGlmKCRyZnMtdW5pdCA9PSByZW0sICN7cmZzLWRpdmlkZSgkdmFsdWUsICRyZnMtcmVtLXZhbHVlKX1yZW0sICN7JHZhbHVlfXB4KTtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgICAgJHZhbHVlLW1pbjogJHJmcy1iYXNlLXZhbHVlICsgcmZzLWRpdmlkZShhYnMoJHZhbHVlKSAtICRyZnMtYmFzZS12YWx1ZSwgJHJmcy1mYWN0b3IpO1xuXG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIGRpZmZlcmVuY2UgYmV0d2VlbiAkdmFsdWUgYW5kIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgICAgJHZhbHVlLWRpZmY6IGFicygkdmFsdWUpIC0gJHZhbHVlLW1pbjtcblxuICAgICAgICAgIC8vIEJhc2UgdmFsdWUgZm9ybWF0dGluZ1xuICAgICAgICAgICRtaW4td2lkdGg6IGlmKCRyZnMtdW5pdCA9PSByZW0sICN7cmZzLWRpdmlkZSgkdmFsdWUtbWluLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyR2YWx1ZS1taW59cHgpO1xuXG4gICAgICAgICAgLy8gVXNlIG5lZ2F0aXZlIHZhbHVlIGlmIG5lZWRlZFxuICAgICAgICAgICRtaW4td2lkdGg6IGlmKCR2YWx1ZSA8IDAsIC0kbWluLXdpZHRoLCAkbWluLXdpZHRoKTtcblxuICAgICAgICAgIC8vIFVzZSBgdm1pbmAgaWYgdHdvLWRpbWVuc2lvbmFsIGlzIGVuYWJsZWRcbiAgICAgICAgICAkdmFyaWFibGUtdW5pdDogaWYoJHJmcy10d28tZGltZW5zaW9uYWwsIHZtaW4sIHZ3KTtcblxuICAgICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICAgICAkdmFyaWFibGUtd2lkdGg6ICN7cmZzLWRpdmlkZSgkdmFsdWUtZGlmZiAqIDEwMCwgJHJmcy1icmVha3BvaW50KX0jeyR2YXJpYWJsZS11bml0fTtcblxuICAgICAgICAgIC8vIFJldHVybiB0aGUgY2FsY3VsYXRlZCB2YWx1ZVxuICAgICAgICAgICR2YWw6ICR2YWwgKyBcIiBjYWxjKFwiICsgJG1pbi13aWR0aCArIGlmKCR2YWx1ZSA8IDAsIFwiIC0gXCIsIFwiICsgXCIpICsgJHZhcmlhYmxlLXdpZHRoICsgXCIpXCI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZW1vdmUgZmlyc3Qgc3BhY2VcbiAgQHJldHVybiBzdHJpbmcudW5xdW90ZShzdHJpbmcuc2xpY2UoJHZhbCwgMikpO1xufVxuXG4vLyBSRlMgbWl4aW5cbkBtaXhpbiByZnMoJHZhbHVlcywgJHByb3BlcnR5OiBmb250LXNpemUpIHtcbiAgQGlmICR2YWx1ZXMgIT0gbnVsbCB7XG4gICAgJHZhbDogcmZzLXZhbHVlKCR2YWx1ZXMpO1xuICAgICRmbHVpZC12YWw6IHJmcy1mbHVpZC12YWx1ZSgkdmFsdWVzKTtcblxuICAgIC8vIERvIG5vdCBwcmludCB0aGUgbWVkaWEgcXVlcnkgaWYgcmVzcG9uc2l2ZSAmIG5vbi1yZXNwb25zaXZlIHZhbHVlcyBhcmUgdGhlIHNhbWVcbiAgICBAaWYgJHZhbCA9PSAkZmx1aWQtdmFsIHtcbiAgICAgICN7JHByb3BlcnR5fTogJHZhbDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgX3Jmcy1ydWxlICgpIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCAkdmFsLCAkZmx1aWQtdmFsKTtcblxuICAgICAgICAvLyBJbmNsdWRlIHNhZmFyaSBpZnJhbWUgcmVzaXplIGZpeCBpZiBuZWVkZWRcbiAgICAgICAgbWluLXdpZHRoOiBpZigkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgsICgwICogMXZ3KSwgbnVsbCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnktcnVsZSAoKSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgJGZsdWlkLXZhbCwgJHZhbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFNob3J0aGFuZCBoZWxwZXIgbWl4aW5zXG5AbWl4aW4gZm9udC1zaXplKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlKTtcbn1cblxuQG1peGluIHBhZGRpbmcoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmcpO1xufVxuXG5AbWl4aW4gcGFkZGluZy10b3AoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctdG9wKTtcbn1cblxuQG1peGluIHBhZGRpbmctcmlnaHQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctcmlnaHQpO1xufVxuXG5AbWl4aW4gcGFkZGluZy1ib3R0b20oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctYm90dG9tKTtcbn1cblxuQG1peGluIHBhZGRpbmctbGVmdCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1sZWZ0KTtcbn1cblxuQG1peGluIG1hcmdpbigkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luKTtcbn1cblxuQG1peGluIG1hcmdpbi10b3AoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi10b3ApO1xufVxuXG5AbWl4aW4gbWFyZ2luLXJpZ2h0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tcmlnaHQpO1xufVxuXG5AbWl4aW4gbWFyZ2luLWJvdHRvbSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLWJvdHRvbSk7XG59XG5cbkBtaXhpbiBtYXJnaW4tbGVmdCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLWxlZnQpO1xufSIsIkB1c2UgXCIuLi92YXJpYWJsZXNcIiBhcyAqO1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3ItbW9kZS1taXhpblxuQG1peGluIGNvbG9yLW1vZGUoJG1vZGU6IGxpZ2h0LCAkcm9vdDogZmFsc2UpIHtcbiAgQGlmICRjb2xvci1tb2RlLXR5cGUgPT0gXCJtZWRpYS1xdWVyeVwiIHtcbiAgICBAaWYgJHJvb3QgPT0gdHJ1ZSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiAkbW9kZSkge1xuICAgICAgICA6cm9vdCB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6ICRtb2RlKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgW2RhdGEjeyRkYXRhLWluZml4fXRoZW1lPVwiI3skbW9kZX1cIl0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGNvbG9yLW1vZGUtbWl4aW5cbiIsIkB1c2UgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiIGFzICo7XG5AdXNlIFwidmVuZG9yL3Jmc1wiIGFzICo7XG5AdXNlIFwidmFyaWFibGVzXCIgYXMgKjtcblxuLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGUsIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXhcblxuXG4vLyBSZWJvb3Rcbi8vXG4vLyBOb3JtYWxpemF0aW9uIG9mIEhUTUwgZWxlbWVudHMsIG1hbnVhbGx5IGZvcmtlZCBmcm9tIE5vcm1hbGl6ZS5jc3MgdG8gcmVtb3ZlXG4vLyBzdHlsZXMgdGFyZ2V0aW5nIGlycmVsZXZhbnQgYnJvd3NlcnMgd2hpbGUgYXBwbHlpbmcgbmV3IHN0eWxlcy5cbi8vXG4vLyBOb3JtYWxpemUgaXMgbGljZW5zZWQgTUlULiBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG5cblxuLy8gRG9jdW1lbnRcbi8vXG4vLyBDaGFuZ2UgZnJvbSBgYm94LXNpemluZzogY29udGVudC1ib3hgIHNvIHRoYXQgYHdpZHRoYCBpcyBub3QgYWZmZWN0ZWQgYnkgYHBhZGRpbmdgIG9yIGBib3JkZXJgLlxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5cbi8vIFJvb3Rcbi8vXG4vLyBBYmlsaXR5IHRvIHRoZSB2YWx1ZSBvZiB0aGUgcm9vdCBmb250IHNpemVzLCBhZmZlY3RpbmcgdGhlIHZhbHVlIG9mIGByZW1gLlxuLy8gbnVsbCBieSBkZWZhdWx0LCB0aHVzIG5vdGhpbmcgaXMgZ2VuZXJhdGVkLlxuXG46cm9vdCB7XG4gIEBpZiAkZm9udC1zaXplLXJvb3QgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1yb290LWZvbnQtc2l6ZSkpO1xuICB9XG5cbiAgQGlmICRlbmFibGUtc21vb3RoLXNjcm9sbCB7XG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBCb2R5XG4vL1xuLy8gMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuLy8gMi4gQXMgYSBiZXN0IHByYWN0aWNlLCBhcHBseSBhIGRlZmF1bHQgYGJhY2tncm91bmQtY29sb3JgLlxuLy8gMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4vLyA0LiBDaGFuZ2UgdGhlIGRlZmF1bHQgdGFwIGhpZ2hsaWdodCB0byBiZSBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IGluIGlPUy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHJlYm9vdC1ib2R5LXJ1bGVzXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyAvLyAxXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1mb250LWZhbWlseSk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1mb250LXNpemUpKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1ib2R5LWZvbnQtd2VpZ2h0KTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1ib2R5LWxpbmUtaGVpZ2h0KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogdmFyKC0tI3skcHJlZml4fWJvZHktdGV4dC1hbGlnbik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKTsgLy8gMlxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDNcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKCRibGFjaywgMCk7IC8vIDRcbn1cbi8vIHNjc3MtZG9jcy1lbmQgcmVib290LWJvZHktcnVsZXNcblxuXG4vLyBDb250ZW50IGdyb3VwaW5nXG4vL1xuLy8gMS4gUmVzZXQgRmlyZWZveCdzIGdyYXkgY29sb3JcblxuaHIge1xuICBtYXJnaW46ICRoci1tYXJnaW4teSAwO1xuICBjb2xvcjogJGhyLWNvbG9yOyAvLyAxXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogJGhyLWJvcmRlci13aWR0aCBzb2xpZCAkaHItYm9yZGVyLWNvbG9yO1xuICBvcGFjaXR5OiAkaHItb3BhY2l0eTtcbn1cblxuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gMS4gUmVtb3ZlIHRvcCBtYXJnaW5zIGZyb20gaGVhZGluZ3Ncbi8vICAgIEJ5IGRlZmF1bHQsIGA8aDE+YC1gPGg2PmAgYWxsIHJlY2VpdmUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gV2UgbnVrZSB0aGUgdG9wXG4vLyAgICBtYXJnaW4gZm9yIGVhc2llciBjb250cm9sIHdpdGhpbiB0eXBlIHNjYWxlcyBhcyBpdCBhdm9pZHMgbWFyZ2luIGNvbGxhcHNpbmcuXG5cbiVoZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogMDsgLy8gMVxuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC1zdHlsZTogJGhlYWRpbmdzLWZvbnQtc3R5bGU7XG4gIGZvbnQtd2VpZ2h0OiAkaGVhZGluZ3MtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcik7XG59XG5cbmgxIHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xufVxuXG5oMiB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTtcbn1cblxuaDMge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7XG59XG5cbmg0IHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xufVxuXG5oNSB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTtcbn1cblxuaDYge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG59XG5cblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBwYXJhZ3JhcGhzXG4vL1xuLy8gU2ltaWxhcmx5LCB0aGUgdG9wIG1hcmdpbiBvbiBgPHA+YHMgZ2V0IHJlc2V0LiBIb3dldmVyLCB3ZSBhbHNvIHJlc2V0IHRoZVxuLy8gYm90dG9tIG1hcmdpbiB0byB1c2UgYHJlbWAgdW5pdHMgaW5zdGVhZCBvZiBgZW1gLlxuXG5wIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xufVxuXG5cbi8vIEFiYnJldmlhdGlvbnNcbi8vXG4vLyAxLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4vLyAyLiBBZGQgZXhwbGljaXQgY3Vyc29yIHRvIGluZGljYXRlIGNoYW5nZWQgYmVoYXZpb3IuXG4vLyAzLiBQcmV2ZW50IHRoZSB0ZXh0LWRlY29yYXRpb24gdG8gYmUgc2tpcHBlZC5cblxuYWJiclt0aXRsZV0ge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDFcbiAgY3Vyc29yOiBoZWxwOyAvLyAyXG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTsgLy8gM1xufVxuXG5cbi8vIEFkZHJlc3NcblxuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cblxuLy8gTGlzdHNcblxub2wsXG51bCB7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAycmVtO1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6ICRkdC1mb250LXdlaWdodDtcbn1cblxuLy8gMS4gVW5kbyBicm93c2VyIGRlZmF1bHRcblxuZGQge1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwOyAvLyAxXG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xufVxuXG5cbi8vIEJsb2NrcXVvdGVcblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy8gU3Ryb25nXG4vL1xuLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXI7XG59XG5cblxuLy8gU21hbGxcbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vyc1xuXG5zbWFsbCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkc21hbGwtZm9udC1zaXplKTtcbn1cblxuXG4vLyBNYXJrXG5cbm1hcmsge1xuICBwYWRkaW5nOiAkbWFyay1wYWRkaW5nO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWhpZ2hsaWdodC1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1oaWdobGlnaHQtYmcpO1xufVxuXG5cbi8vIFN1YiBhbmQgU3VwXG4vL1xuLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4vLyBhbGwgYnJvd3NlcnMuXG5cbnN1YixcbnN1cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRzdWItc3VwLWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7IGJvdHRvbTogLS4yNWVtOyB9XG5zdXAgeyB0b3A6IC0uNWVtOyB9XG5cblxuLy8gTGlua3NcblxuYSB7XG4gIGNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1saW5rLWNvbG9yLXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLW9wYWNpdHksIDEpKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuXG4gICY6aG92ZXIge1xuICAgIC0tI3skcHJlZml4fWxpbmstY29sb3ItcmdiOiB2YXIoLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvci1yZ2IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxufVxuLy8gQW5kIHVuZG8gdGhlc2Ugc3R5bGVzIGZvciBwbGFjZWhvbGRlciBsaW5rcy9uYW1lZCBhbmNob3JzICh3aXRob3V0IGhyZWYpLlxuLy8gSXQgd291bGQgYmUgbW9yZSBzdHJhaWdodGZvcndhcmQgdG8ganVzdCB1c2UgYVtocmVmXSBpbiBwcmV2aW91cyBibG9jaywgYnV0IHRoYXRcbi8vIGNhdXNlcyBzcGVjaWZpY2l0eSBpc3N1ZXMgaW4gbWFueSBvdGhlciBzdHlsZXMgdGhhdCBhcmUgdG9vIGNvbXBsZXggdG8gZml4LlxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTk0MDJcblxuYTpub3QoW2hyZWZdKTpub3QoW2NsYXNzXSkge1xuICAmLFxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBDb2RlXG5cbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1jb2RlO1xuICBAaW5jbHVkZSBmb250LXNpemUoMWVtKTsgLy8gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxufVxuXG4vLyAxLiBSZW1vdmUgYnJvd3NlciBkZWZhdWx0IHRvcCBtYXJnaW5cbi8vIDIuIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYHJlbWBzXG4vLyAzLiBEb24ndCBhbGxvdyBjb250ZW50IHRvIGJyZWFrIG91dHNpZGVcblxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDA7IC8vIDFcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgLy8gMlxuICBvdmVyZmxvdzogYXV0bzsgLy8gM1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNvZGUtZm9udC1zaXplKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcmUtY29sb3IsICRwcmUtY29sb3IpO1xuXG4gIC8vIEFjY291bnQgZm9yIHNvbWUgY29kZSBvdXRwdXRzIHRoYXQgcGxhY2UgY29kZSB0YWdzIGluIHByZSB0YWdzXG4gIGNvZGUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIH1cbn1cblxuY29kZSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNvZGUtY29sb3IpO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgLy8gU3RyZWFtbGluZSB0aGUgc3R5bGUgd2hlbiBpbnNpZGUgYW5jaG9ycyB0byBhdm9pZCBicm9rZW4gdW5kZXJsaW5lIGFuZCBtb3JlXG4gIGEgPiAmIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG5rYmQge1xuICBwYWRkaW5nOiAka2JkLXBhZGRpbmcteSAka2JkLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRrYmQtZm9udC1zaXplKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1rYmQtY29sb3IsICRrYmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9a2JkLWJnLCAka2JkLWJnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1zbSk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxZW0pO1xuICAgIGZvbnQtd2VpZ2h0OiAkbmVzdGVkLWtiZC1mb250LXdlaWdodDtcbiAgfVxufVxuXG5cbi8vIEZpZ3VyZXNcbi8vXG4vLyBBcHBseSBhIGNvbnNpc3RlbnQgbWFyZ2luIHN0cmF0ZWd5IChtYXRjaGVzIG91ciB0eXBlIHN0eWxlcykuXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy8gSW1hZ2VzIGFuZCBjb250ZW50XG5cbmltZyxcbnN2ZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cblxuLy8gVGFibGVzXG4vL1xuLy8gUHJldmVudCBkb3VibGUgYm9yZGVyc1xuXG50YWJsZSB7XG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xufVxuXG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6ICR0YWJsZS1jZWxsLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICR0YWJsZS1jZWxsLXBhZGRpbmcteTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1jYXB0aW9uLWNvbG9yLCAkdGFibGUtY2FwdGlvbi1jb2xvcik7XG4gIHRleHQtYWxpZ246IHN0YXJ0O1xufVxuXG4vLyAxLiBSZW1vdmVzIGZvbnQtd2VpZ2h0IGJvbGQgYnkgaW5oZXJpdGluZ1xuLy8gMi4gTWF0Y2hlcyBkZWZhdWx0IGA8dGQ+YCBhbGlnbm1lbnQgYnkgaW5oZXJpdGluZyBgdGV4dC1hbGlnbmAuXG4vLyAzLiBGaXggYWxpZ25tZW50IGZvciBTYWZhcmlcblxudGgge1xuICBmb250LXdlaWdodDogJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OyAvLyAxXG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIDJcbiAgdGV4dC1hbGlnbjogLXdlYmtpdC1tYXRjaC1wYXJlbnQ7IC8vIDNcbn1cblxudGhlYWQsXG50Ym9keSxcbnRmb290LFxudHIsXG50ZCxcbnRoIHtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDA7XG59XG5cblxuLy8gRm9ybXNcbi8vXG4vLyAxLiBBbGxvdyBsYWJlbHMgdG8gdXNlIGBtYXJnaW5gIGZvciBzcGFjaW5nLlxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gMVxufVxuXG4vLyBSZW1vdmUgdGhlIGRlZmF1bHQgYGJvcmRlci1yYWRpdXNgIHRoYXQgbWFjT1MgQ2hyb21lIGFkZHMuXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDA5M1xuXG5idXR0b24ge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8vIEV4cGxpY2l0bHkgcmVtb3ZlIGZvY3VzIG91dGxpbmUgaW4gQ2hyb21pdW0gd2hlbiBpdCBzaG91bGRuJ3QgYmVcbi8vIHZpc2libGUgKGUuZy4gYXMgcmVzdWx0IG9mIG1vdXNlIGNsaWNrIG9yIHRvdWNoIHRhcCkuIEl0IGFscmVhZHlcbi8vIHNob3VsZCBiZSBkb2luZyB0aGlzIGF1dG9tYXRpY2FsbHksIGJ1dCBzZWVtcyB0byBjdXJyZW50bHkgYmVcbi8vIGNvbmZ1c2VkIGFuZCBhcHBsaWVzIGl0cyB2ZXJ5IHZpc2libGUgdHdvLXRvbmUgb3V0bGluZSBhbnl3YXkuXG5cbmJ1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpXG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxub3B0Z3JvdXAsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDsgLy8gMVxuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94XG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cbi8vIFNldCB0aGUgY3Vyc29yIGZvciBub24tYDxidXR0b24+YCBidXR0b25zXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zMDU2MlxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnNlbGVjdCB7XG4gIC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2Ygd29yZC13cmFwIGluIFNhZmFyaS5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ5OTBcbiAgd29yZC13cmFwOiBub3JtYWw7XG5cbiAgLy8gVW5kbyB0aGUgb3BhY2l0eSBjaGFuZ2UgZnJvbSBDaHJvbWVcbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4vLyBSZW1vdmUgdGhlIGRyb3Bkb3duIGFycm93IG9ubHkgZnJvbSB0ZXh0IHR5cGUgaW5wdXRzIGJ1aWx0IHdpdGggZGF0YWxpc3RzIGluIENocm9tZS5cbi8vIFNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvNTQ5OTcxMThcblxuW2xpc3RdOm5vdChbdHlwZT1cImRhdGVcIl0pOm5vdChbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdKTpub3QoW3R5cGU9XCJtb250aFwiXSk6bm90KFt0eXBlPVwid2Vla1wiXSk6bm90KFt0eXBlPVwidGltZVwiXSk6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4vLyAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4vLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuLy8gMy4gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIGJ1dHRvbiBlbGVtZW50cy5cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sIC8vIDFcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG5cbiAgQGlmICRlbmFibGUtYnV0dG9uLXBvaW50ZXJzIHtcbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgLy8gM1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZW1vdmUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGZyb20gRmlyZWZveCwgYnV0IGRvbid0IHJlc3RvcmUgdGhlIG91dGxpbmUgbGlrZSBOb3JtYWxpemUuXG5cbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLy8gMS4gVGV4dGFyZWFzIHNob3VsZCByZWFsbHkgb25seSByZXNpemUgdmVydGljYWxseSBzbyB0aGV5IGRvbid0IGJyZWFrIHRoZWlyIChob3Jpem9udGFsKSBjb250YWluZXJzLlxuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogdmVydGljYWw7IC8vIDFcbn1cblxuLy8gMS4gQnJvd3NlcnMgc2V0IGEgZGVmYXVsdCBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbi8vICAgIHVubGlrZSBlLmcuIGA8ZGl2PmBzLCB3aGljaCBoYXZlIGBtaW4td2lkdGg6IDA7YCBieSBkZWZhdWx0LlxuLy8gICAgU28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgZmllbGRzZXRzIGJlaGF2ZSBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuLy8gICAgU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTIzNTlcbi8vICAgIGFuZCBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS8jdGhlLWZpZWxkc2V0LWFuZC1sZWdlbmQtZWxlbWVudHNcbi8vIDIuIFJlc2V0IHRoZSBkZWZhdWx0IG91dGxpbmUgYmVoYXZpb3Igb2YgZmllbGRzZXRzIHNvIHRoZXkgZG9uJ3QgYWZmZWN0IHBhZ2UgbGF5b3V0LlxuXG5maWVsZHNldCB7XG4gIG1pbi13aWR0aDogMDsgLy8gMVxuICBwYWRkaW5nOiAwOyAvLyAyXG4gIG1hcmdpbjogMDsgLy8gMlxuICBib3JkZXI6IDA7IC8vIDJcbn1cblxuLy8gMS4gQnkgdXNpbmcgYGZsb2F0OiBsZWZ0YCwgdGhlIGxlZ2VuZCB3aWxsIGJlaGF2ZSBsaWtlIGEgYmxvY2sgZWxlbWVudC5cbi8vICAgIFRoaXMgd2F5IHRoZSBib3JkZXIgb2YgYSBmaWVsZHNldCB3cmFwcyBhcm91bmQgdGhlIGxlZ2VuZCBpZiBwcmVzZW50LlxuLy8gMi4gRml4IHdyYXBwaW5nIGJ1Zy5cbi8vICAgIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI5NzEyXG5cbmxlZ2VuZCB7XG4gIGZsb2F0OiBpbmxpbmUtc3RhcnQ7IC8vIDFcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRsZWdlbmQtbWFyZ2luLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRsZWdlbmQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGxlZ2VuZC1mb250LXNpemUpO1xuXG4gICsgKiB7XG4gICAgY2xlYXI6IGxlZnQ7IC8vIDJcbiAgfVxufVxuXG4vLyBGaXggaGVpZ2h0IG9mIGlucHV0cyB3aXRoIGEgdHlwZSBvZiBkYXRldGltZS1sb2NhbCwgZGF0ZSwgbW9udGgsIHdlZWssIG9yIHRpbWVcbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE4ODQyXG5cbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWZpZWxkcy13cmFwcGVyLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtdGV4dCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbnV0ZSxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWhvdXItZmllbGQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1kYXktZmllbGQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXllYXItZmllbGQge1xuICBwYWRkaW5nOiAwO1xufVxuXG46Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vIDEuIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcbi8vICAgIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuLy8gICAgYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuLy8gICAgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cbi8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyXG59XG5cbi8vIDEuIEEgZmV3IGlucHV0IHR5cGVzIHNob3VsZCBzdGF5IExUUlxuLy8gU2VlIGh0dHBzOi8vcnRsc3R5bGluZy5jb20vcG9zdHMvcnRsLXN0eWxpbmcjZm9ybS1pbnB1dHNcblxuKltkaXI9XCJydGxcIl0ge1xuICBbdHlwZT1cInRlbFwiXSxcbiAgW3R5cGU9XCJ1cmxcIl0sXG4gIFt0eXBlPVwiZW1haWxcIl0sXG4gIFt0eXBlPVwibnVtYmVyXCJdIHtcbiAgICBkaXJlY3Rpb246IGx0cjtcbiAgfVxufVxuXG5cbi8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vLyBSZW1vdmUgcGFkZGluZyBhcm91bmQgY29sb3IgcGlja2VycyBpbiB3ZWJraXQgYnJvd3NlcnNcblxuOjotd2Via2l0LWNvbG9yLXN3YXRjaC13cmFwcGVyIHtcbiAgcGFkZGluZzogMDtcbn1cblxuXG4vLyAxLiBJbmhlcml0IGZvbnQgZmFtaWx5IGFuZCBsaW5lIGhlaWdodCBmb3IgZmlsZSBpbnB1dCBidXR0b25zXG4vLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXG46OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgZm9udDogaW5oZXJpdDsgLy8gMVxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxufVxuXG4vLyBDb3JyZWN0IGVsZW1lbnQgZGlzcGxheXNcblxub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vLyBSZW1vdmUgYm9yZGVyIGZyb20gaWZyYW1lXG5cbmlmcmFtZSB7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gU3VtbWFyeVxuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vyc1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyAvLyAxXG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuXG4vLyBQcm9ncmVzc1xuLy9cbi8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5cbi8vIEhpZGRlbiBhdHRyaWJ1dGVcbi8vXG4vLyBBbHdheXMgaGlkZSBhbiBlbGVtZW50IHdpdGggdGhlIGBoaWRkZW5gIEhUTUwgYXR0cmlidXRlLlxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIkB1c2UgXCJzYXNzOmNvbG9yXCI7XG5AdXNlIFwic2FzczpzdHJpbmdcIjtcbkB1c2UgXCJmdW5jdGlvbnMvYXNzZXJ0LWFzY2VuZGluZ1wiIGFzICo7XG5AdXNlIFwiZnVuY3Rpb25zL2Fzc2VydC1zdGFydHMtYXQtemVyb1wiIGFzICo7XG5AdXNlIFwiZnVuY3Rpb25zL2NvbG9yXCIgYXMgKjtcbkB1c2UgXCJmdW5jdGlvbnMvY29sb3ItY29udHJhc3QtdmFyaWFibGVzXCIgYXMgKjtcbkB1c2UgXCJmdW5jdGlvbnMvbWF0aFwiIGFzICo7XG5AdXNlIFwiZnVuY3Rpb25zL3RvLXJnYlwiIGFzICo7XG5cbi8vIFZhcmlhYmxlc1xuLy9cbi8vIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxuLy8gY29uc2lzdGVudCBuYW1pbmcuIEV4OiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgYW5kICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMuXG5cbi8vIENvbG9yIHN5c3RlbVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JheS1jb2xvci12YXJpYWJsZXNcbiR3aGl0ZTogICAgICNmZmYgIWRlZmF1bHQ7XG4kZ3JheS1iYXNlOiAjMzIzYTQ5ICFkZWZhdWx0O1xuJGdyYXktMTAwOiAgI2YzZjRmNyAhZGVmYXVsdDtcbiRncmF5LTIwMDogICNlN2VhZWUgIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICAjZGJkZmU2ICFkZWZhdWx0O1xuJGdyYXktNDAwOiAgI2NmZDRkZSAhZGVmYXVsdDtcbiRncmF5LTUwMDogICNhYWIzYzUgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICAjNmQ3ZDljICFkZWZhdWx0O1xuJGdyYXktNzAwOiAgIzRhNTY2ZCAhZGVmYXVsdDtcbiRncmF5LTgwMDogICMzMjNhNDkgIWRlZmF1bHQ7XG4kZ3JheS05MDA6ICAjMjEyNjMxICFkZWZhdWx0O1xuJGJsYWNrOiAgICAgIzA4MGEwYyAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JheS1jb2xvci12YXJpYWJsZXNcblxuLy8gZnVzdi1kaXNhYmxlXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JheS1jb2xvcnMtbWFwXG4kZ3JheXM6IChcbiAgXCIxMDBcIjogJGdyYXktMTAwLFxuICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gIFwiMzAwXCI6ICRncmF5LTMwMCxcbiAgXCI0MDBcIjogJGdyYXktNDAwLFxuICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gIFwiNjAwXCI6ICRncmF5LTYwMCxcbiAgXCI3MDBcIjogJGdyYXktNzAwLFxuICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gIFwiOTAwXCI6ICRncmF5LTkwMFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JheS1jb2xvcnMtbWFwXG4vLyBmdXN2LWVuYWJsZVxuXG4vLyBmdXN2LWRpc2FibGVcbiRoaWdoLWVtcGhhc2lzOiAgICAgICAgICAgIHJnYmEoc2hpZnQtY29sb3IoJGdyYXktYmFzZSwgKzI2JSksIC45NSkgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gNS4wLjBcbiRtZWRpdW0tZW1waGFzaXM6ICAgICAgICAgIHJnYmEoc2hpZnQtY29sb3IoJGdyYXktYmFzZSwgKzI2JSksIC42ODEpICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIDUuMC4wXG4kZGlzYWJsZWQ6ICAgICAgICAgICAgICAgICByZ2JhKHNoaWZ0LWNvbG9yKCRncmF5LWJhc2UsICsyNiUpLCAuMzgpICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIDUuMC4wXG5cbiRoaWdoLWVtcGhhc2lzLWludmVyc2U6ICAgIHJnYmEoJHdoaXRlLCAuODcpICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIDUuMC4wXG4kbWVkaXVtLWVtcGhhc2lzLWludmVyc2U6ICByZ2JhKCR3aGl0ZSwgLjYpICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIDUuMC4wXG4kZGlzYWJsZWQtaW52ZXJzZTogICAgICAgICByZ2JhKCR3aGl0ZSwgLjM4KSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiA1LjAuMFxuLy8gZnVzdi1lbmFibGVcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbG9yLXZhcmlhYmxlc1xuJGJsdWU6ICAgICMwZDZlZmQgIWRlZmF1bHQ7XG4kaW5kaWdvOiAgIzY2MTBmMiAhZGVmYXVsdDtcbiRwdXJwbGU6ICAjNmY0MmMxICFkZWZhdWx0O1xuJHBpbms6ICAgICNkNjMzODQgIWRlZmF1bHQ7XG4kcmVkOiAgICAgI2RjMzU0NSAhZGVmYXVsdDtcbiRvcmFuZ2U6ICAjZmQ3ZTE0ICFkZWZhdWx0O1xuJHllbGxvdzogICNmZmMxMDcgIWRlZmF1bHQ7XG4kZ3JlZW46ICAgIzE5ODc1NCAhZGVmYXVsdDtcbiR0ZWFsOiAgICAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW46ICAgICMwZGNhZjAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbG9yLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3JzLW1hcFxuJGNvbG9yczogKFxuICBcImJsdWVcIjogICAgICAgJGJsdWUsXG4gIFwiaW5kaWdvXCI6ICAgICAkaW5kaWdvLFxuICBcInB1cnBsZVwiOiAgICAgJHB1cnBsZSxcbiAgXCJwaW5rXCI6ICAgICAgICRwaW5rLFxuICBcInJlZFwiOiAgICAgICAgJHJlZCxcbiAgXCJvcmFuZ2VcIjogICAgICRvcmFuZ2UsXG4gIFwieWVsbG93XCI6ICAgICAkeWVsbG93LFxuICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxuICBcInRlYWxcIjogICAgICAgJHRlYWwsXG4gIFwiY3lhblwiOiAgICAgICAkY3lhbixcbiAgXCJibGFja1wiOiAgICAgICRibGFjayxcbiAgXCJ3aGl0ZVwiOiAgICAgICR3aGl0ZSxcbiAgXCJncmF5XCI6ICAgICAgICRncmF5LTYwMCxcbiAgXCJncmF5LWRhcmtcIjogICRncmF5LTgwMFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY29sb3JzLW1hcFxuXG4vLyBUaGUgY29udHJhc3QgcmF0aW8gdG8gcmVhY2ggYWdhaW5zdCB3aGl0ZSwgdG8gZGV0ZXJtaW5lIGlmIGNvbG9yIGNoYW5nZXMgZnJvbSBcImxpZ2h0XCIgdG8gXCJkYXJrXCIuIEFjY2VwdGFibGUgdmFsdWVzIGZvciBXQ0FHIDIuMiBhcmUgMywgNC41IGFuZCA3LlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9XQ0FHLyNjb250cmFzdC1taW5pbXVtXG4kbWluLWNvbnRyYXN0LXJhdGlvOiAgIDQuNSAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cbiRjb2xvci1jb250cmFzdC1kYXJrOiAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjb2xvci1jb250cmFzdC1saWdodDogICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuXG4vLyBmdXN2LWRpc2FibGVcbiRibHVlLTEwMDogdGludC1jb2xvcigkYmx1ZSwgODAlKSAhZGVmYXVsdDtcbiRibHVlLTIwMDogdGludC1jb2xvcigkYmx1ZSwgNjAlKSAhZGVmYXVsdDtcbiRibHVlLTMwMDogdGludC1jb2xvcigkYmx1ZSwgNDAlKSAhZGVmYXVsdDtcbiRibHVlLTQwMDogdGludC1jb2xvcigkYmx1ZSwgMjAlKSAhZGVmYXVsdDtcbiRibHVlLTUwMDogJGJsdWUgIWRlZmF1bHQ7XG4kYmx1ZS02MDA6IHNoYWRlLWNvbG9yKCRibHVlLCAyMCUpICFkZWZhdWx0O1xuJGJsdWUtNzAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgNDAlKSAhZGVmYXVsdDtcbiRibHVlLTgwMDogc2hhZGUtY29sb3IoJGJsdWUsIDYwJSkgIWRlZmF1bHQ7XG4kYmx1ZS05MDA6IHNoYWRlLWNvbG9yKCRibHVlLCA4MCUpICFkZWZhdWx0O1xuXG4kaW5kaWdvLTEwMDogdGludC1jb2xvcigkaW5kaWdvLCA4MCUpICFkZWZhdWx0O1xuJGluZGlnby0yMDA6IHRpbnQtY29sb3IoJGluZGlnbywgNjAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tMzAwOiB0aW50LWNvbG9yKCRpbmRpZ28sIDQwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTQwMDogdGludC1jb2xvcigkaW5kaWdvLCAyMCUpICFkZWZhdWx0O1xuJGluZGlnby01MDA6ICRpbmRpZ28gIWRlZmF1bHQ7XG4kaW5kaWdvLTYwMDogc2hhZGUtY29sb3IoJGluZGlnbywgMjAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tNzAwOiBzaGFkZS1jb2xvcigkaW5kaWdvLCA0MCUpICFkZWZhdWx0O1xuJGluZGlnby04MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDYwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTkwMDogc2hhZGUtY29sb3IoJGluZGlnbywgODAlKSAhZGVmYXVsdDtcblxuJHB1cnBsZS0xMDA6IHRpbnQtY29sb3IoJHB1cnBsZSwgODAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtMjAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDYwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTMwMDogdGludC1jb2xvcigkcHVycGxlLCA0MCUpICFkZWZhdWx0O1xuJHB1cnBsZS00MDA6IHRpbnQtY29sb3IoJHB1cnBsZSwgMjAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtNTAwOiAkcHVycGxlICFkZWZhdWx0O1xuJHB1cnBsZS02MDA6IHNoYWRlLWNvbG9yKCRwdXJwbGUsIDIwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTcwMDogc2hhZGUtY29sb3IoJHB1cnBsZSwgNDAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtODAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCA2MCUpICFkZWZhdWx0O1xuJHB1cnBsZS05MDA6IHNoYWRlLWNvbG9yKCRwdXJwbGUsIDgwJSkgIWRlZmF1bHQ7XG5cbiRwaW5rLTEwMDogdGludC1jb2xvcigkcGluaywgODAlKSAhZGVmYXVsdDtcbiRwaW5rLTIwMDogdGludC1jb2xvcigkcGluaywgNjAlKSAhZGVmYXVsdDtcbiRwaW5rLTMwMDogdGludC1jb2xvcigkcGluaywgNDAlKSAhZGVmYXVsdDtcbiRwaW5rLTQwMDogdGludC1jb2xvcigkcGluaywgMjAlKSAhZGVmYXVsdDtcbiRwaW5rLTUwMDogJHBpbmsgIWRlZmF1bHQ7XG4kcGluay02MDA6IHNoYWRlLWNvbG9yKCRwaW5rLCAyMCUpICFkZWZhdWx0O1xuJHBpbmstNzAwOiBzaGFkZS1jb2xvcigkcGluaywgNDAlKSAhZGVmYXVsdDtcbiRwaW5rLTgwMDogc2hhZGUtY29sb3IoJHBpbmssIDYwJSkgIWRlZmF1bHQ7XG4kcGluay05MDA6IHNoYWRlLWNvbG9yKCRwaW5rLCA4MCUpICFkZWZhdWx0O1xuXG4kcmVkLTEwMDogdGludC1jb2xvcigkcmVkLCA4MCUpICFkZWZhdWx0O1xuJHJlZC0yMDA6IHRpbnQtY29sb3IoJHJlZCwgNjAlKSAhZGVmYXVsdDtcbiRyZWQtMzAwOiB0aW50LWNvbG9yKCRyZWQsIDQwJSkgIWRlZmF1bHQ7XG4kcmVkLTQwMDogdGludC1jb2xvcigkcmVkLCAyMCUpICFkZWZhdWx0O1xuJHJlZC01MDA6ICRyZWQgIWRlZmF1bHQ7XG4kcmVkLTYwMDogc2hhZGUtY29sb3IoJHJlZCwgMjAlKSAhZGVmYXVsdDtcbiRyZWQtNzAwOiBzaGFkZS1jb2xvcigkcmVkLCA0MCUpICFkZWZhdWx0O1xuJHJlZC04MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDYwJSkgIWRlZmF1bHQ7XG4kcmVkLTkwMDogc2hhZGUtY29sb3IoJHJlZCwgODAlKSAhZGVmYXVsdDtcblxuJG9yYW5nZS0xMDA6IHRpbnQtY29sb3IoJG9yYW5nZSwgODAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtMjAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDYwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTMwMDogdGludC1jb2xvcigkb3JhbmdlLCA0MCUpICFkZWZhdWx0O1xuJG9yYW5nZS00MDA6IHRpbnQtY29sb3IoJG9yYW5nZSwgMjAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtNTAwOiAkb3JhbmdlICFkZWZhdWx0O1xuJG9yYW5nZS02MDA6IHNoYWRlLWNvbG9yKCRvcmFuZ2UsIDIwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTcwMDogc2hhZGUtY29sb3IoJG9yYW5nZSwgNDAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtODAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCA2MCUpICFkZWZhdWx0O1xuJG9yYW5nZS05MDA6IHNoYWRlLWNvbG9yKCRvcmFuZ2UsIDgwJSkgIWRlZmF1bHQ7XG5cbiR5ZWxsb3ctMTAwOiB0aW50LWNvbG9yKCR5ZWxsb3csIDgwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTIwMDogdGludC1jb2xvcigkeWVsbG93LCA2MCUpICFkZWZhdWx0O1xuJHllbGxvdy0zMDA6IHRpbnQtY29sb3IoJHllbGxvdywgNDAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctNDAwOiB0aW50LWNvbG9yKCR5ZWxsb3csIDIwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTUwMDogJHllbGxvdyAhZGVmYXVsdDtcbiR5ZWxsb3ctNjAwOiBzaGFkZS1jb2xvcigkeWVsbG93LCAyMCUpICFkZWZhdWx0O1xuJHllbGxvdy03MDA6IHNoYWRlLWNvbG9yKCR5ZWxsb3csIDQwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTgwMDogc2hhZGUtY29sb3IoJHllbGxvdywgNjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctOTAwOiBzaGFkZS1jb2xvcigkeWVsbG93LCA4MCUpICFkZWZhdWx0O1xuXG4kZ3JlZW4tMTAwOiB0aW50LWNvbG9yKCRncmVlbiwgODAlKSAhZGVmYXVsdDtcbiRncmVlbi0yMDA6IHRpbnQtY29sb3IoJGdyZWVuLCA2MCUpICFkZWZhdWx0O1xuJGdyZWVuLTMwMDogdGludC1jb2xvcigkZ3JlZW4sIDQwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tNDAwOiB0aW50LWNvbG9yKCRncmVlbiwgMjAlKSAhZGVmYXVsdDtcbiRncmVlbi01MDA6ICRncmVlbiAhZGVmYXVsdDtcbiRncmVlbi02MDA6IHNoYWRlLWNvbG9yKCRncmVlbiwgMjAlKSAhZGVmYXVsdDtcbiRncmVlbi03MDA6IHNoYWRlLWNvbG9yKCRncmVlbiwgNDAlKSAhZGVmYXVsdDtcbiRncmVlbi04MDA6IHNoYWRlLWNvbG9yKCRncmVlbiwgNjAlKSAhZGVmYXVsdDtcbiRncmVlbi05MDA6IHNoYWRlLWNvbG9yKCRncmVlbiwgODAlKSAhZGVmYXVsdDtcblxuJHRlYWwtMTAwOiB0aW50LWNvbG9yKCR0ZWFsLCA4MCUpICFkZWZhdWx0O1xuJHRlYWwtMjAwOiB0aW50LWNvbG9yKCR0ZWFsLCA2MCUpICFkZWZhdWx0O1xuJHRlYWwtMzAwOiB0aW50LWNvbG9yKCR0ZWFsLCA0MCUpICFkZWZhdWx0O1xuJHRlYWwtNDAwOiB0aW50LWNvbG9yKCR0ZWFsLCAyMCUpICFkZWZhdWx0O1xuJHRlYWwtNTAwOiAkdGVhbCAhZGVmYXVsdDtcbiR0ZWFsLTYwMDogc2hhZGUtY29sb3IoJHRlYWwsIDIwJSkgIWRlZmF1bHQ7XG4kdGVhbC03MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCA0MCUpICFkZWZhdWx0O1xuJHRlYWwtODAwOiBzaGFkZS1jb2xvcigkdGVhbCwgNjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTkwMDogc2hhZGUtY29sb3IoJHRlYWwsIDgwJSkgIWRlZmF1bHQ7XG5cbiRjeWFuLTEwMDogdGludC1jb2xvcigkY3lhbiwgODAlKSAhZGVmYXVsdDtcbiRjeWFuLTIwMDogdGludC1jb2xvcigkY3lhbiwgNjAlKSAhZGVmYXVsdDtcbiRjeWFuLTMwMDogdGludC1jb2xvcigkY3lhbiwgNDAlKSAhZGVmYXVsdDtcbiRjeWFuLTQwMDogdGludC1jb2xvcigkY3lhbiwgMjAlKSAhZGVmYXVsdDtcbiRjeWFuLTUwMDogJGN5YW4gIWRlZmF1bHQ7XG4kY3lhbi02MDA6IHNoYWRlLWNvbG9yKCRjeWFuLCAyMCUpICFkZWZhdWx0O1xuJGN5YW4tNzAwOiBzaGFkZS1jb2xvcigkY3lhbiwgNDAlKSAhZGVmYXVsdDtcbiRjeWFuLTgwMDogc2hhZGUtY29sb3IoJGN5YW4sIDYwJSkgIWRlZmF1bHQ7XG4kY3lhbi05MDA6IHNoYWRlLWNvbG9yKCRjeWFuLCA4MCUpICFkZWZhdWx0O1xuXG4kYmx1ZXM6IChcbiAgXCJibHVlLTEwMFwiOiAkYmx1ZS0xMDAsXG4gIFwiYmx1ZS0yMDBcIjogJGJsdWUtMjAwLFxuICBcImJsdWUtMzAwXCI6ICRibHVlLTMwMCxcbiAgXCJibHVlLTQwMFwiOiAkYmx1ZS00MDAsXG4gIFwiYmx1ZS01MDBcIjogJGJsdWUtNTAwLFxuICBcImJsdWUtNjAwXCI6ICRibHVlLTYwMCxcbiAgXCJibHVlLTcwMFwiOiAkYmx1ZS03MDAsXG4gIFwiYmx1ZS04MDBcIjogJGJsdWUtODAwLFxuICBcImJsdWUtOTAwXCI6ICRibHVlLTkwMFxuKSAhZGVmYXVsdDtcblxuJGluZGlnb3M6IChcbiAgXCJpbmRpZ28tMTAwXCI6ICRpbmRpZ28tMTAwLFxuICBcImluZGlnby0yMDBcIjogJGluZGlnby0yMDAsXG4gIFwiaW5kaWdvLTMwMFwiOiAkaW5kaWdvLTMwMCxcbiAgXCJpbmRpZ28tNDAwXCI6ICRpbmRpZ28tNDAwLFxuICBcImluZGlnby01MDBcIjogJGluZGlnby01MDAsXG4gIFwiaW5kaWdvLTYwMFwiOiAkaW5kaWdvLTYwMCxcbiAgXCJpbmRpZ28tNzAwXCI6ICRpbmRpZ28tNzAwLFxuICBcImluZGlnby04MDBcIjogJGluZGlnby04MDAsXG4gIFwiaW5kaWdvLTkwMFwiOiAkaW5kaWdvLTkwMFxuKSAhZGVmYXVsdDtcblxuJHB1cnBsZXM6IChcbiAgXCJwdXJwbGUtMTAwXCI6ICRwdXJwbGUtMTAwLFxuICBcInB1cnBsZS0yMDBcIjogJHB1cnBsZS0yMDAsXG4gIFwicHVycGxlLTMwMFwiOiAkcHVycGxlLTMwMCxcbiAgXCJwdXJwbGUtNDAwXCI6ICRwdXJwbGUtNDAwLFxuICBcInB1cnBsZS01MDBcIjogJHB1cnBsZS01MDAsXG4gIFwicHVycGxlLTYwMFwiOiAkcHVycGxlLTYwMCxcbiAgXCJwdXJwbGUtNzAwXCI6ICRwdXJwbGUtNzAwLFxuICBcInB1cnBsZS04MDBcIjogJHB1cnBsZS04MDAsXG4gIFwicHVycGxlLTkwMFwiOiAkcHVycGxlLTkwMFxuKSAhZGVmYXVsdDtcblxuJHBpbmtzOiAoXG4gIFwicGluay0xMDBcIjogJHBpbmstMTAwLFxuICBcInBpbmstMjAwXCI6ICRwaW5rLTIwMCxcbiAgXCJwaW5rLTMwMFwiOiAkcGluay0zMDAsXG4gIFwicGluay00MDBcIjogJHBpbmstNDAwLFxuICBcInBpbmstNTAwXCI6ICRwaW5rLTUwMCxcbiAgXCJwaW5rLTYwMFwiOiAkcGluay02MDAsXG4gIFwicGluay03MDBcIjogJHBpbmstNzAwLFxuICBcInBpbmstODAwXCI6ICRwaW5rLTgwMCxcbiAgXCJwaW5rLTkwMFwiOiAkcGluay05MDBcbikgIWRlZmF1bHQ7XG5cbiRyZWRzOiAoXG4gIFwicmVkLTEwMFwiOiAkcmVkLTEwMCxcbiAgXCJyZWQtMjAwXCI6ICRyZWQtMjAwLFxuICBcInJlZC0zMDBcIjogJHJlZC0zMDAsXG4gIFwicmVkLTQwMFwiOiAkcmVkLTQwMCxcbiAgXCJyZWQtNTAwXCI6ICRyZWQtNTAwLFxuICBcInJlZC02MDBcIjogJHJlZC02MDAsXG4gIFwicmVkLTcwMFwiOiAkcmVkLTcwMCxcbiAgXCJyZWQtODAwXCI6ICRyZWQtODAwLFxuICBcInJlZC05MDBcIjogJHJlZC05MDBcbikgIWRlZmF1bHQ7XG5cbiRvcmFuZ2VzOiAoXG4gIFwib3JhbmdlLTEwMFwiOiAkb3JhbmdlLTEwMCxcbiAgXCJvcmFuZ2UtMjAwXCI6ICRvcmFuZ2UtMjAwLFxuICBcIm9yYW5nZS0zMDBcIjogJG9yYW5nZS0zMDAsXG4gIFwib3JhbmdlLTQwMFwiOiAkb3JhbmdlLTQwMCxcbiAgXCJvcmFuZ2UtNTAwXCI6ICRvcmFuZ2UtNTAwLFxuICBcIm9yYW5nZS02MDBcIjogJG9yYW5nZS02MDAsXG4gIFwib3JhbmdlLTcwMFwiOiAkb3JhbmdlLTcwMCxcbiAgXCJvcmFuZ2UtODAwXCI6ICRvcmFuZ2UtODAwLFxuICBcIm9yYW5nZS05MDBcIjogJG9yYW5nZS05MDBcbikgIWRlZmF1bHQ7XG5cbiR5ZWxsb3dzOiAoXG4gIFwieWVsbG93LTEwMFwiOiAkeWVsbG93LTEwMCxcbiAgXCJ5ZWxsb3ctMjAwXCI6ICR5ZWxsb3ctMjAwLFxuICBcInllbGxvdy0zMDBcIjogJHllbGxvdy0zMDAsXG4gIFwieWVsbG93LTQwMFwiOiAkeWVsbG93LTQwMCxcbiAgXCJ5ZWxsb3ctNTAwXCI6ICR5ZWxsb3ctNTAwLFxuICBcInllbGxvdy02MDBcIjogJHllbGxvdy02MDAsXG4gIFwieWVsbG93LTcwMFwiOiAkeWVsbG93LTcwMCxcbiAgXCJ5ZWxsb3ctODAwXCI6ICR5ZWxsb3ctODAwLFxuICBcInllbGxvdy05MDBcIjogJHllbGxvdy05MDBcbikgIWRlZmF1bHQ7XG5cbiRncmVlbnM6IChcbiAgXCJncmVlbi0xMDBcIjogJGdyZWVuLTEwMCxcbiAgXCJncmVlbi0yMDBcIjogJGdyZWVuLTIwMCxcbiAgXCJncmVlbi0zMDBcIjogJGdyZWVuLTMwMCxcbiAgXCJncmVlbi00MDBcIjogJGdyZWVuLTQwMCxcbiAgXCJncmVlbi01MDBcIjogJGdyZWVuLTUwMCxcbiAgXCJncmVlbi02MDBcIjogJGdyZWVuLTYwMCxcbiAgXCJncmVlbi03MDBcIjogJGdyZWVuLTcwMCxcbiAgXCJncmVlbi04MDBcIjogJGdyZWVuLTgwMCxcbiAgXCJncmVlbi05MDBcIjogJGdyZWVuLTkwMFxuKSAhZGVmYXVsdDtcblxuJHRlYWxzOiAoXG4gIFwidGVhbC0xMDBcIjogJHRlYWwtMTAwLFxuICBcInRlYWwtMjAwXCI6ICR0ZWFsLTIwMCxcbiAgXCJ0ZWFsLTMwMFwiOiAkdGVhbC0zMDAsXG4gIFwidGVhbC00MDBcIjogJHRlYWwtNDAwLFxuICBcInRlYWwtNTAwXCI6ICR0ZWFsLTUwMCxcbiAgXCJ0ZWFsLTYwMFwiOiAkdGVhbC02MDAsXG4gIFwidGVhbC03MDBcIjogJHRlYWwtNzAwLFxuICBcInRlYWwtODAwXCI6ICR0ZWFsLTgwMCxcbiAgXCJ0ZWFsLTkwMFwiOiAkdGVhbC05MDBcbikgIWRlZmF1bHQ7XG5cbiRjeWFuczogKFxuICBcImN5YW4tMTAwXCI6ICRjeWFuLTEwMCxcbiAgXCJjeWFuLTIwMFwiOiAkY3lhbi0yMDAsXG4gIFwiY3lhbi0zMDBcIjogJGN5YW4tMzAwLFxuICBcImN5YW4tNDAwXCI6ICRjeWFuLTQwMCxcbiAgXCJjeWFuLTUwMFwiOiAkY3lhbi01MDAsXG4gIFwiY3lhbi02MDBcIjogJGN5YW4tNjAwLFxuICBcImN5YW4tNzAwXCI6ICRjeWFuLTcwMCxcbiAgXCJjeWFuLTgwMFwiOiAkY3lhbi04MDAsXG4gIFwiY3lhbi05MDBcIjogJGN5YW4tOTAwXG4pICFkZWZhdWx0O1xuLy8gZnVzdi1lbmFibGVcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWNvbG9yLXZhcmlhYmxlc1xuJHByaW1hcnk6ICAgICAgICM1ODU2ZDYgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAgICAgIzZiNzc4NSAhZGVmYXVsdDtcbiRzdWNjZXNzOiAgICAgICAjMWI5ZTNlICFkZWZhdWx0O1xuJGluZm86ICAgICAgICAgICMzOWYgIWRlZmF1bHQ7XG4kd2FybmluZzogICAgICAgI2Y5YjExNSAhZGVmYXVsdDtcbiRkYW5nZXI6ICAgICAgICAjZTU1MzUzICFkZWZhdWx0O1xuJGxpZ2h0OiAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWNvbG9yLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtY29sb3JzLW1hcFxuJHRoZW1lLWNvbG9yczogKFxuICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXG4gIFwic2Vjb25kYXJ5XCI6ICAkc2Vjb25kYXJ5LFxuICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXG4gIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcbiAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxuICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcbiAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgXCJkYXJrXCI6ICAgICAgICRkYXJrXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1jb2xvcnMtbWFwXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS10ZXh0LXZhcmlhYmxlc1xuJHByaW1hcnktdGV4dC1lbXBoYXNpczogICAgIzM2MzRhMyAhZGVmYXVsdDtcbiRzZWNvbmRhcnktdGV4dC1lbXBoYXNpczogICMyMTIyMzMgIWRlZmF1bHQ7XG4kc3VjY2Vzcy10ZXh0LWVtcGhhc2lzOiAgICAjMGY1NzIyICFkZWZhdWx0O1xuJGluZm8tdGV4dC1lbXBoYXNpczogICAgICAgIzE4NGM3NyAhZGVmYXVsdDtcbiR3YXJuaW5nLXRleHQtZW1waGFzaXM6ICAgICM3NjQ3MDUgIWRlZmF1bHQ7XG4kZGFuZ2VyLXRleHQtZW1waGFzaXM6ICAgICAjNjcxNDE0ICFkZWZhdWx0O1xuJGxpZ2h0LXRleHQtZW1waGFzaXM6ICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGRhcmstdGV4dC1lbXBoYXNpczogICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS10ZXh0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtYmctc3VidGxlLXZhcmlhYmxlc1xuJHByaW1hcnktYmctc3VidGxlOiAgICAjY2ZjN2YzICFkZWZhdWx0O1xuJHNlY29uZGFyeS1iZy1zdWJ0bGU6ICAjY2VkMmQ4ICFkZWZhdWx0O1xuJHN1Y2Nlc3MtYmctc3VidGxlOiAgICAjY2JlZGQ2ICFkZWZhdWx0O1xuJGluZm8tYmctc3VidGxlOiAgICAgICAjYzBlNmZmICFkZWZhdWx0O1xuJHdhcm5pbmctYmctc3VidGxlOiAgICAjZmVlY2M1ICFkZWZhdWx0O1xuJGRhbmdlci1iZy1zdWJ0bGU6ICAgICAjZjlkNGQ0ICFkZWZhdWx0O1xuJGxpZ2h0LWJnLXN1YnRsZTogICAgICBjb2xvci5taXgoJGdyYXktMTAwLCAkd2hpdGUpICFkZWZhdWx0O1xuJGRhcmstYmctc3VidGxlOiAgICAgICAkZ3JheS00MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWJnLXN1YnRsZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWJvcmRlci1zdWJ0bGUtdmFyaWFibGVzXG4kcHJpbWFyeS1ib3JkZXItc3VidGxlOiAgICAjOWQ5MmU2ICFkZWZhdWx0O1xuJHNlY29uZGFyeS1ib3JkZXItc3VidGxlOiAgIzlkYTViMSAhZGVmYXVsdDtcbiRzdWNjZXNzLWJvcmRlci1zdWJ0bGU6ICAgICM5NmRiYWQgIWRlZmF1bHQ7XG4kaW5mby1ib3JkZXItc3VidGxlOiAgICAgICAjODBjNmZmICFkZWZhdWx0O1xuJHdhcm5pbmctYm9yZGVyLXN1YnRsZTogICAgI2ZjZDg4YSAhZGVmYXVsdDtcbiRkYW5nZXItYm9yZGVyLXN1YnRsZTogICAgICNmMmE5YTkgIWRlZmF1bHQ7XG4kbGlnaHQtYm9yZGVyLXN1YnRsZTogICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZGFyay1ib3JkZXItc3VidGxlOiAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWJvcmRlci1zdWJ0bGUtdmFyaWFibGVzXG5cbi8vIENoYXJhY3RlcnMgd2hpY2ggYXJlIGVzY2FwZWQgYnkgdGhlIGVzY2FwZS1zdmcgZnVuY3Rpb25cbiRlc2NhcGVkLWNoYXJhY3RlcnM6IChcbiAgKFwiPFwiLCBcIiUzY1wiKSxcbiAgKFwiPlwiLCBcIiUzZVwiKSxcbiAgKFwiI1wiLCBcIiUyM1wiKSxcbiAgKFwiKFwiLCBcIiUyOFwiKSxcbiAgKFwiKVwiLCBcIiUyOVwiKSxcbikgIWRlZmF1bHQ7XG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJlZHVjZWQtbW90aW9uOiAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zbW9vdGgtc2Nyb2xsOiAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWNvbnRhaW5lci1jbGFzc2VzOiAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1jc3NncmlkOiAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWJ1dHRvbi1wb2ludGVyczogICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZnM6ICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtdmFsaWRhdGlvbi1pY29uczogICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLW5lZ2F0aXZlLW1hcmdpbnM6ICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXM6IHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXM6ICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1sdHI6ICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcnRsOiAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1jb250YWluZXItcXVlcmllczogICAgZmFsc2UgIWRlZmF1bHQ7XG5cbiRlbmFibGUtZGFyay1tb2RlOiAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kY29sb3ItbW9kZS10eXBlOiAgICAgICAgICAgICBkYXRhICFkZWZhdWx0OyAvLyBgZGF0YWAgb3IgYG1lZGlhLXF1ZXJ5YFxuXG4vLyBQcmVmaXggZm9yIDpyb290IENTUyB2YXJpYWJsZXNcblxuJHZhcmlhYmxlLXByZWZpeDogICAgICAgICAgICAgY3VpLSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NC4yLjYgZm9yIHRoZSBzaG9ydGVyIGAkcHJlZml4YFxuJHByZWZpeDogICAgICAgICAgICAgICAgICAgICAgJHZhcmlhYmxlLXByZWZpeCAhZGVmYXVsdDtcblxuLy8gUHJlZml4IGZvciBkYXRhIGF0dHJpYnV0ZXNcblxuJGRhdGEtaW5maXg6ICAgICAgICAgICAgICAgICAgLWNvcmV1aS0gIWRlZmF1bHQ7XG5cbi8vIFNldCBtb2JpbGUgYnJlYWtwb2ludFxuXG4kbW9iaWxlLWJyZWFrcG9pbnQ6ICAgICAgICAgICBsZyAhZGVmYXVsdDtcblxuLy8gR3JhZGllbnRcbi8vXG4vLyBUaGUgZ3JhZGllbnQgd2hpY2ggaXMgYWRkZWQgdG8gY29tcG9uZW50cyBpZiBgJGVuYWJsZS1ncmFkaWVudHNgIGlzIGB0cnVlYFxuLy8gVGhpcyBncmFkaWVudCBpcyBhbHNvIGFkZGVkIHRvIGVsZW1lbnRzIHdpdGggYC5iZy1ncmFkaWVudGBcbi8vIHNjc3MtZG9jcy1zdGFydCB2YXJpYWJsZS1ncmFkaWVudFxuJGdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKCR3aGl0ZSwgLjE1KSwgcmdiYSgkd2hpdGUsIDApKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdmFyaWFibGUtZ3JhZGllbnRcblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzcGFjZXItdmFyaWFibGVzLW1hcHNcbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKFxuICAwOiAwLFxuICAxOiAkc3BhY2VyICogLjI1LFxuICAyOiAkc3BhY2VyICogLjUsXG4gIDM6ICRzcGFjZXIsXG4gIDQ6ICRzcGFjZXIgKiAxLjUsXG4gIDU6ICRzcGFjZXIgKiAzLFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc3BhY2VyLXZhcmlhYmxlcy1tYXBzXG5cbi8vIFBvc2l0aW9uXG4vL1xuLy8gRGVmaW5lIHRoZSBlZGdlIHBvc2l0aW9uaW5nIGFuY2hvcnMgb2YgdGhlIHBvc2l0aW9uIHV0aWxpdGllcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBvc2l0aW9uLW1hcFxuJHBvc2l0aW9uLXZhbHVlczogKFxuICAwOiAwLFxuICA1MDogNTAlLFxuICAxMDA6IDEwMCVcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBvc2l0aW9uLW1hcFxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS10ZXh0LWFsaWduOiAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKHNoaWZ0LWNvbG9yKCRncmF5LWJhc2UsICsyNiUpLCAuOTUpICFkZWZhdWx0O1xuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGJvZHktc2Vjb25kYXJ5LWNvbG9yOiAgICAgIHJnYmEoc2hpZnQtY29sb3IoJGdyYXktYmFzZSwgKzI2JSksIC42ODEpICFkZWZhdWx0O1xuJGJvZHktc2Vjb25kYXJ5LWJnOiAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGJvZHktdGVydGlhcnktY29sb3I6ICAgICAgIHJnYmEoc2hpZnQtY29sb3IoJGdyYXktYmFzZSwgKzI2JSksIC4zOCkgIWRlZmF1bHQ7XG4kYm9keS10ZXJ0aWFyeS1iZzogICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuXG4kYm9keS1lbXBoYXNpcy1jb2xvcjogICAgICAgJGJsYWNrICFkZWZhdWx0O1xuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4kbGluay1zaGFkZS1wZXJjZW50YWdlOiAgICAgICAgICAgICAgICAgICAyMCUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBzaGlmdC1jb2xvcigkbGluay1jb2xvciwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kc3RyZXRjaGVkLWxpbmstcHNldWRvLWVsZW1lbnQ6ICAgICAgICAgICBhZnRlciAhZGVmYXVsdDtcbiRzdHJldGNoZWQtbGluay16LWluZGV4OiAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7XG5cbi8vIEljb24gbGlua3Ncbi8vIHNjc3MtZG9jcy1zdGFydCBpY29uLWxpbmstdmFyaWFibGVzXG4kaWNvbi1saW5rLWdhcDogICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGljb24tbGluay11bmRlcmxpbmUtb2Zmc2V0OiAgLjI1ZW0gIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWljb24tc2l6ZTogICAgICAgICAxZW0gIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWljb24tdHJhbnNpdGlvbjogICAuMnMgZWFzZS1pbi1vdXQgdHJhbnNmb3JtICFkZWZhdWx0O1xuJGljb24tbGluay1pY29uLXRyYW5zZm9ybTogICAgdHJhbnNsYXRlM2QoLjI1ZW0sIDAsIDApICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBpY29uLWxpbmstdmFyaWFibGVzXG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyaWQtYnJlYWtwb2ludHNcbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4LFxuICB4eGw6IDE0MDBweFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JpZC1icmVha3BvaW50c1xuXG5AaW5jbHVkZSBhc3NlcnQtYXNjZW5kaW5nKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuQGluY2x1ZGUgYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY3EtZ3JpZC1icmVha3BvaW50c1xuJGNxLWdyaWQtYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiA1NzZweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogOTkycHgsXG4gIHhsOiAxMjAwcHgsXG4gIHh4bDogMTQwMHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBhc3NlcnQtYXNjZW5kaW5nKCRjcS1ncmlkLWJyZWFrcG9pbnRzLCBcIiRjcS1ncmlkLWJyZWFrcG9pbnRzXCIpO1xuQGluY2x1ZGUgYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRjcS1ncmlkLWJyZWFrcG9pbnRzLCBcIiRjcS1ncmlkLWJyZWFrcG9pbnRzXCIpO1xuLy8gc2Nzcy1kb2NzLWVuZCBjcS1ncmlkLWJyZWFrcG9pbnRzXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb250YWluZXItbWF4LXdpZHRoc1xuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiA1NDBweCxcbiAgbWQ6IDcyMHB4LFxuICBsZzogOTYwcHgsXG4gIHhsOiAxMTQwcHgsXG4gIHh4bDogMTMyMHB4XG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb250YWluZXItbWF4LXdpZHRoc1xuXG5AaW5jbHVkZSBhc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJGdyaWQtcm93LWNvbHVtbnM6ICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuLy8gQ29udGFpbmVyIHBhZGRpbmdcblxuJGNvbnRhaW5lci1wYWRkaW5nLXg6ICRncmlkLWd1dHRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXZhcmlhYmxlc1xuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci13aWR0aHM6IChcbiAgMTogMXB4LFxuICAyOiAycHgsXG4gIDM6IDNweCxcbiAgNDogNHB4LFxuICA1OiA1cHhcbikgIWRlZmF1bHQ7XG5cbiRib3JkZXItc3R5bGU6ICAgICAgICAgICAgICAgIHNvbGlkICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvci10cmFuc2x1Y2VudDogICAgcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBib3JkZXItcmFkaXVzLXZhcmlhYmxlc1xuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMteGw6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXh4bDogICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1waWxsOiAgICAgICAgICA1MHJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYm9yZGVyLXJhZGl1cy12YXJpYWJsZXNcbi8vIGZ1c3YtZGlzYWJsZVxuJGJvcmRlci1yYWRpdXMtMnhsOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMteHhsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjAuMFxuLy8gZnVzdi1lbmFibGVcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJveC1zaGFkb3ctdmFyaWFibGVzXG4kYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1zbTogICAgICAgICAgICAgICAwIC4xMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWxnOiAgICAgICAgICAgICAgIDAgMXJlbSAzcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWluc2V0OiAgICAgICAgICAgIGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJveC1zaGFkb3ctdmFyaWFibGVzXG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgIHJnYmEoJHdoaXRlLCAuODcpICFkZWZhdWx0O1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fXByaW1hcnkpICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9jdXMtcmluZy12YXJpYWJsZXNcbiRmb2N1cy1yaW5nLXdpZHRoOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRmb2N1cy1yaW5nLW9wYWNpdHk6ICAgIC4yNSAhZGVmYXVsdDtcbiRmb2N1cy1yaW5nLWNvbG9yOiAgICAgIHJnYmEoJHByaW1hcnksICRmb2N1cy1yaW5nLW9wYWNpdHkpICFkZWZhdWx0O1xuJGZvY3VzLXJpbmctYmx1cjogICAgICAgMCAhZGVmYXVsdDtcbiRmb2N1cy1yaW5nLWJveC1zaGFkb3c6IDAgMCAkZm9jdXMtcmluZy1ibHVyICRmb2N1cy1yaW5nLXdpZHRoICRmb2N1cy1yaW5nLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb2N1cy1yaW5nLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZXQtdmFyaWFibGVzXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAuM2VtICFkZWZhdWx0O1xuJGNhcmV0LXZlcnRpY2FsLWFsaWduOiAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuJGNhcmV0LXNwYWNpbmc6ICAgICAgICAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjYXJldC12YXJpYWJsZXNcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sbGFwc2UtdHJhbnNpdGlvblxuJHRyYW5zaXRpb24tY29sbGFwc2U6ICAgICAgICAgaGVpZ2h0IC4zNXMgZWFzZSAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbGxhcHNlLXdpZHRoOiAgIHdpZHRoIC4zNXMgZWFzZSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY29sbGFwc2UtdHJhbnNpdGlvblxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3Rcbi8vIHNjc3MtZG9jcy1zdGFydCBhc3BlY3QtcmF0aW9zXG4kYXNwZWN0LXJhdGlvczogKFxuICBcIjF4MVwiOiAxMDAlLFxuICBcIjR4M1wiOiBjYWxjKDMgLyA0ICogMTAwJSksXG4gIFwiMTZ4OVwiOiBjYWxjKDkgLyAxNiAqIDEwMCUpLFxuICBcIjIxeDlcIjogY2FsYyg5IC8gMjEgKiAxMDAlKVxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYXNwZWN0LXJhdGlvc1xuLy8gc3R5bGVsaW50LWVuYWJsZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuLy8gVHlwb2dyYXBoeVxuLy9cbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9udC12YXJpYWJsZXNcbi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAgICAgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIk5vdG8gU2Fuc1wiLCBcIkxpYmVyYXRpb24gU2Fuc1wiLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICAgICAgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1lbmFibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Zm9udC1zYW5zLXNlcmlmKSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1jb2RlOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1mb250LW1vbm9zcGFjZSkgIWRlZmF1bHQ7XG5cbi8vICRmb250LXNpemUtcm9vdCBhZmZlY3RzIHRoZSB2YWx1ZSBvZiBgcmVtYCwgd2hpY2ggaXMgdXNlZCBmb3IgYXMgd2VsbCBmb250IHNpemVzLCBwYWRkaW5ncywgYW5kIG1hcmdpbnNcbi8vICRmb250LXNpemUtYmFzZSBhZmZlY3RzIHRoZSBmb250IHNpemUgb2YgdGhlIGJvZHkgdGV4dFxuJGZvbnQtc2l6ZS1yb290OiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjg3NSAhZGVmYXVsdDtcbiRmb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1saWdodGVyOiAgICAgICAgIGxpZ2h0ZXIgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgICAgICAgICA0MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbWVkaXVtOiAgICAgICAgICA1MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtc2VtaWJvbGQ6ICAgICAgICA2MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogICAgICAgICAgICA3MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZGVyOiAgICAgICAgICBib2xkZXIgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1iYXNlOiAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAgICAgIDEuMjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAyICFkZWZhdWx0O1xuXG4kaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS43NSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvbnQtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb250LXNpemVzXG4kZm9udC1zaXplczogKFxuICAxOiAkaDEtZm9udC1zaXplLFxuICAyOiAkaDItZm9udC1zaXplLFxuICAzOiAkaDMtZm9udC1zaXplLFxuICA0OiAkaDQtZm9udC1zaXplLFxuICA1OiAkaDUtZm9udC1zaXplLFxuICA2OiAkaDYtZm9udC1zaXplXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb250LXNpemVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBoZWFkaW5ncy12YXJpYWJsZXNcbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LWZhbWlseTogICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1zdHlsZTogICAgICAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4yICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgaGVhZGluZ3MtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBkaXNwbGF5LWhlYWRpbmdzXG4kZGlzcGxheS1mb250LXNpemVzOiAoXG4gIDE6IDVyZW0sXG4gIDI6IDQuNXJlbSxcbiAgMzogNHJlbSxcbiAgNDogMy41cmVtLFxuICA1OiAzcmVtLFxuICA2OiAyLjVyZW1cbikgIWRlZmF1bHQ7XG5cbiRkaXNwbGF5LWZvbnQtZmFtaWx5OiBudWxsICFkZWZhdWx0O1xuJGRpc3BsYXktZm9udC1zdHlsZTogIG51bGwgIWRlZmF1bHQ7XG4kZGlzcGxheS1mb250LXdlaWdodDogMzAwICFkZWZhdWx0O1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZGlzcGxheS1oZWFkaW5nc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdHlwZS12YXJpYWJsZXNcbiRsZWFkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAgIC44NzVlbSAhZGVmYXVsdDtcblxuJHN1Yi1zdXAtZm9udC1zaXplOiAgICAgICAgICAgICAuNzVlbSAhZGVmYXVsdDtcblxuLy8gZnVzdi1kaXNhYmxlXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiA1LjAuMFxuLy8gZnVzdi1lbmFibGVcblxuJGluaXRpYWxpc20tZm9udC1zaXplOiAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtbWFyZ2luLXk6ICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb290ZXItY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kaHItbWFyZ2luLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGhyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8gZnVzdi1kaXNhYmxlXG4kaHItYmctY29sb3I6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY0LjIuNlxuJGhyLWhlaWdodDogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NC4yLjZcbi8vIGZ1c3YtZW5hYmxlXG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIEFsbG93cyBmb3IgaW5oZXJpdGVkIGNvbG9yc1xuJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kaHItb3BhY2l0eTogICAgICAgICAgICAgICAgICAuMjUgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCB2ci12YXJpYWJsZXNcbiR2ci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB2ci12YXJpYWJsZXNcblxuJGxlZ2VuZC1tYXJnaW4tYm90dG9tOiAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbGVnZW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kbGVnZW5kLWZvbnQtd2VpZ2h0OiAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGxpc3QtaW5saW5lLXBhZGRpbmc6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6ICAgICAgICAgICAgICAgIC4xODc1ZW0gIWRlZmF1bHQ7XG4kbWFyay1jb2xvcjogICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICR5ZWxsb3ctMTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0eXBlLXZhcmlhYmxlc1xuXG4vLyBJY29uc1xuJGljb24tc2l6ZS1iYXNlOiAgMXJlbSAhZGVmYXVsdDtcbiRpY29uLXNpemUtc206ICAgICRpY29uLXNpemUtYmFzZSAqIC44NzUgIWRlZmF1bHQ7XG4kaWNvbi1zaXplLWxnOiAgICAkaWNvbi1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGljb24tc2l6ZS14bDogICAgJGljb24tc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGljb24tc2l6ZS14eGw6ICAgJGljb24tc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0YWJsZS12YXJpYWJsZXNcbiR0YWJsZS1jZWxsLXBhZGRpbmcteTogICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy14OiAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXktc206ICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXgtc206ICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiR0YWJsZS1jZWxsLXZlcnRpY2FsLWFsaWduOiAgIHRvcCAhZGVmYXVsdDtcblxuJHRhYmxlLWNvbG9yOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKSAhZGVmYXVsdDtcbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kdGFibGUtdGgtZm9udC13ZWlnaHQ6ICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1jb2xvcjogICAgICAgICAkdGFibGUtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1iZy1mYWN0b3I6ICAgICAuMDUgIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1iZzogICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAkdGFibGUtc3RyaXBlZC1iZy1mYWN0b3IpICFkZWZhdWx0O1xuXG4kdGFibGUtYWN0aXZlLWNvbG9yOiAgICAgICAgICAkdGFibGUtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnLWZhY3RvcjogICAgICAuMSAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksICR0YWJsZS1hY3RpdmUtYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnLWZhY3RvcjogICAgICAgLjA3NSAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksICR0YWJsZS1ob3Zlci1iZy1mYWN0b3IpICFkZWZhdWx0O1xuXG4kdGFibGUtYm9yZGVyLWZhY3RvcjogICAgICAgICAuMiAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLW9yZGVyOiAgICAgICAgIG9kZCAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWNvbHVtbnMtb3JkZXI6IGV2ZW4gIWRlZmF1bHQ7XG5cbiR0YWJsZS1ncm91cC1zZXBhcmF0b3ItY29sb3I6IGN1cnJlbnRjb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1iZy1zY2FsZTogICAgICAgICAgICAgIC04MCUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRhYmxlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGFibGUtbG9vcFxuJHRhYmxlLXZhcmlhbnRzOiAoXG4gIFwicHJpbWFyeVwiOiAgICBzaGlmdC1jb2xvcigkcHJpbWFyeSwgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJzZWNvbmRhcnlcIjogIHNoaWZ0LWNvbG9yKCRzZWNvbmRhcnksICR0YWJsZS1iZy1zY2FsZSksXG4gIFwic3VjY2Vzc1wiOiAgICBzaGlmdC1jb2xvcigkc3VjY2VzcywgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJpbmZvXCI6ICAgICAgIHNoaWZ0LWNvbG9yKCRpbmZvLCAkdGFibGUtYmctc2NhbGUpLFxuICBcIndhcm5pbmdcIjogICAgc2hpZnQtY29sb3IoJHdhcm5pbmcsICR0YWJsZS1iZy1zY2FsZSksXG4gIFwiZGFuZ2VyXCI6ICAgICBzaGlmdC1jb2xvcigkZGFuZ2VyLCAkdGFibGUtYmctc2NhbGUpLFxuICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICBcImRhcmtcIjogICAgICAgJGRhcmssXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0YWJsZS1sb29wXG5cblxuLy8gQnV0dG9ucyArIEZvcm1zXG4vL1xuLy8gU2hhcmVkIHZhcmlhYmxlcyB0aGF0IGFyZSByZWFzc2lnbmVkIHRvIGAkaW5wdXQtYCBhbmQgYCRidG4tYCBzcGVjaWZpYyB2YXJpYWJsZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBpbnB1dC1idG4tdmFyaWFibGVzXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LWZhbWlseTogICAgICAgbnVsbCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplOiAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICRmb2N1cy1yaW5nLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvci1vcGFjaXR5OiAkZm9jdXMtcmluZy1vcGFjaXR5ICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvcjogICAgICAgICAkZm9jdXMtcmluZy1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYmx1cjogICAgICAgICAgJGZvY3VzLXJpbmctYmx1ciAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdzogICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbTogICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZzogICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWJvcmRlci13aWR0aDogICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgaW5wdXQtYnRuLXZhcmlhYmxlc1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCwgYW5kIGJvcmRlciBjb2xvci5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi12YXJpYWJsZXNcbiRidG4tY29sb3I6ICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy15OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemU6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ0bi13aGl0ZS1zcGFjZTogICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gU2V0IHRvIGBub3dyYXBgIHRvIHByZXZlbnQgdGV4dCB3cmFwcGluZ1xuXG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcblxuJGJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYnRuLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoJHdoaXRlLCAuMTUpLCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy13aWR0aDogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRidG4tZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC42NSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6ICAgICAgIGluc2V0IDAgM3B4IDVweCByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWNvbG9yKSAhZGVmYXVsdDtcbiRidG4tbGluay1ob3Zlci1jb2xvcjogICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRidG4tbGluay1mb2N1cy1zaGFkb3ctcmdiOiAgIHRvLXJnYihjb2xvci5taXgoY29sb3ItY29udHJhc3QtdmFyaWFibGVzKCRsaW5rLWNvbG9yLCAkY29sb3ItY29udHJhc3QtZGFyaywgJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCAkd2hpdGUsICRibGFjaywgJG1pbi1jb250cmFzdC1yYXRpbyksICRsaW5rLWNvbG9yLCAxNSUpKSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc20pICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRidG4taG92ZXItYmctc2hhZGUtYW1vdW50OiAgICAgICAxNSUgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWJnLXRpbnQtYW1vdW50OiAgICAgICAgMTUlICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1ib3JkZXItc2hhZGUtYW1vdW50OiAgIDIwJSAhZGVmYXVsdDtcbiRidG4taG92ZXItYm9yZGVyLXRpbnQtYW1vdW50OiAgICAxMCUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1iZy1zaGFkZS1hbW91bnQ6ICAgICAgMjAlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYmctdGludC1hbW91bnQ6ICAgICAgIDIwJSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJvcmRlci1zaGFkZS1hbW91bnQ6ICAyNSUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3JkZXItdGludC1hbW91bnQ6ICAgMTAlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBidG4tdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tb3V0bGluZS12YXJpYWJsZXNcbiRidG4tb3V0bGluZS1jb2xvcjogdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1hY3RpdmUtY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1hY3RpdmUtYmc6IHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtZGlzYWJsZWQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLWRpc2FibGVkLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtaG92ZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1ob3Zlci1iZzogdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1ob3Zlci1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLWZvY3VzLXNoYWRvdy1yZ2I6IHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZy1yZ2IpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBidG4tb3V0bGluZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi1naG9zdC12YXJpYWJsZXNcbiRidG4tZ2hvc3QtY29sb3I6IHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGJ0bi1naG9zdC1hY3RpdmUtY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRidG4tZ2hvc3QtYWN0aXZlLWJnOiB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJGJ0bi1naG9zdC1kaXNhYmxlZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLWdob3N0LWhvdmVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLWdob3N0LWhvdmVyLWJnOiB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJGJ0bi1naG9zdC1mb2N1cy1zaGFkb3ctcmdiOiB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmctcmdiKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYnRuLWdob3N0LXZhcmlhYmxlc1xuXG4vLyBGb3Jtc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS10ZXh0LXZhcmlhYmxlc1xuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRmb3JtLXRleHQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tdGV4dC1mb250LXN0eWxlOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLXRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS10ZXh0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1sYWJlbC12YXJpYWJsZXNcbiRmb3JtLWxhYmVsLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC1zdHlsZTogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWxhYmVsLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1pbnB1dC12YXJpYWJsZXNcbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1pbnNldCkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc20pICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnKSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICB0aW50LWNvbG9yKCRwcmltYXJ5LCA1MCUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtYm9yZGVyLXdpZHRofSAqIDIpICFkZWZhdWx0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgJGlucHV0LXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1oYWxmOiAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuNWVtLCAkaW5wdXQtcGFkZGluZy15KSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjogICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjI1ZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAuNSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LXNtICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcblxuJGlucHV0LXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLWNvbG9yLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAzcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWlucHV0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1jaGVjay12YXJpYWJsZXNcbiRmb3JtLWNoZWNrLWlucHV0LXdpZHRoOiAgICAgICAgICAgICAgICAgIDFlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLW1pbi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydDogICAgICAgICAgICAgICAgJGZvcm0tY2hlY2staW5wdXQtd2lkdGggKyAuNWVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1sYWJlbC1jdXJzb3I6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtYWN0aXZlLWZpbHRlcjogICAgICAgICAgYnJpZ2h0bmVzcyg5MCUpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1ib3JkZXI6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcmFkaW8tYm9yZGVyLXJhZGl1czogICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm9yZGVyOiAgICAgICAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRmb2N1cy1yaW5nLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3I6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJvcmRlci1jb2xvcjogICAkZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1pbWFnZTogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjAgMjAnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzMnIGQ9J202IDEwIDMgMyA2LTYnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1yYWRpby1jaGVja2VkLWJnLWltYWdlOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPScyJyBmaWxsPScjeyRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWNvbG9yOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I6ICAgJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctaW1hZ2U6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJyBkPSdNNiAxMGg4Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjUgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1sYWJlbC1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgJGZvcm0tY2hlY2staW5wdXQtZGlzYWJsZWQtb3BhY2l0eSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWJ0bi1jaGVjay1kaXNhYmxlZC1vcGFjaXR5OiAgICAkYnRuLWRpc2FibGVkLW9wYWNpdHkgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4tZW5kOiAgICAxcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWNoZWNrLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1zd2l0Y2gtdmFyaWFibGVzXG4kZm9ybS1zd2l0Y2gtY29sb3I6ICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yNSkgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtd2lkdGg6ICAgICAgICAgICAgICAgMmVtICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQ6ICAgICAgICRmb3JtLXN3aXRjaC13aWR0aCArIC41ZW0gIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtYmctaW1hZ2U6ICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skZm9ybS1zd2l0Y2gtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWJvcmRlci1yYWRpdXM6ICAgICAgICRmb3JtLXN3aXRjaC13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC10cmFuc2l0aW9uOiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLXN3aXRjaC1mb2N1cy1jb2xvcjogICAgICAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWZvY3VzLWJnLWltYWdlOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGZvcm0tc3dpdGNoLWZvY3VzLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tc3dpdGNoLWNoZWNrZWQtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctaW1hZ2U6ICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGZvcm0tc3dpdGNoLWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctcG9zaXRpb246IHJpZ2h0IGNlbnRlciAhZGVmYXVsdDtcblxuJGZvcm0tc3dpdGNoLXdpZHRoczogKFxuICBsZzogKFxuICAgIHdpZHRoOiAyLjVlbSxcbiAgICBoZWlnaHQ6IDEuMjVlbVxuICApLFxuICB4bDogKFxuICAgIHdpZHRoOiAzZW0sXG4gICAgaGVpZ2h0OiAxLjVlbVxuICApXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXN3aXRjaC12YXJpYWJsZXNcblxuJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi1lbmQ6ICAgIDFyZW0gIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBpbnB1dC1ncm91cC12YXJpYWJsZXNcbiRpbnB1dC1ncm91cC1hZGRvbi1wYWRkaW5nLXk6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLXBhZGRpbmcteDogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tZm9udC13ZWlnaHQ6ICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGlucHV0LWdyb3VwLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1zZWxlY3QtdmFyaWFibGVzXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb250LWZhbWlseTogICAgICAgICAgICRpbnB1dC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb250LXNpemU6ICAgICAgICAgICAgICRpbnB1dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc6ICAgICAkZm9ybS1zZWxlY3QtcGFkZGluZy14ICogMyAhZGVmYXVsdDsgLy8gRXh0cmEgcGFkZGluZyBmb3IgYmFja2dyb3VuZC1pbWFnZVxuJGZvcm0tc2VsZWN0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1iZzogICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYmctcG9zaXRpb246ICAgICAgICAgICByaWdodCAkZm9ybS1zZWxlY3QtcGFkZGluZy14IGNlbnRlciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICAgIDE2cHggMTJweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuJGZvcm0tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzInIGQ9J20yIDUgNiA2IDYtNicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1lbmQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXggKiAyLjUgKyAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbjogICAgY2VudGVyIHJpZ2h0ICRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU6ICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtYm9yZGVyLXdpZHRoOiAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJveC1zaGFkb3c6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LWluc2V0KSAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9jdXMtd2lkdGg6ICAgICAgICAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRmb3JtLXNlbGVjdC1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1zbTogICAgICAgICRpbnB1dC1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1zbTogICAgJGlucHV0LWJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLWxnOiAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXRyYW5zaXRpb246ICAgICAgICAgICRpbnB1dC10cmFuc2l0aW9uICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXNlbGVjdC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tcmFuZ2UtdmFyaWFibGVzXG4kZm9ybS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWN1cnNvcjogICAgICAgICBwb2ludGVyICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctaW5zZXQpICFkZWZhdWx0O1xuXG4kZm9ybS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkZm9ybS1yYW5nZS10aHVtYi13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAuMXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDogICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvY3VzIGJveCBzaGFkb3cgaXNzdWUgaW4gRWRnZVxuJGZvcm0tcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiAgICAgICAgICAgICAgIHRpbnQtY29sb3IoJHByaW1hcnksIDcwJSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXJhbmdlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1maWxlLXZhcmlhYmxlc1xuJGZvcm0tZmlsZS1idXR0b24tY29sb3I6ICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJGZvcm0tZmlsZS1idXR0b24taG92ZXItYmc6ICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWZpbGUtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWZsb2F0aW5nLXZhcmlhYmxlc1xuJGZvcm0tZmxvYXRpbmctaGVpZ2h0OiAgICAgICAgICAgICAgICAgIGFkZCgzLjVyZW0sICRpbnB1dC1oZWlnaHQtYm9yZGVyKSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctdDogICAgICAgICAxLjYyNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctYjogICAgICAgICAuNjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtaGVpZ2h0OiAgICAgICAgICAgIDEuNWVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtb3BhY2l0eTogICAgICAgICAgIC42NSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLXRyYW5zZm9ybTogICAgICAgICBzY2FsZSguODUpIHRyYW5zbGF0ZVkoLS41cmVtKSB0cmFuc2xhdGVYKC4xNXJlbSkgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctdHJhbnNpdGlvbjogICAgICAgICAgICAgIG9wYWNpdHkgLjFzIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gLjFzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWZsb2F0aW5nLXZhcmlhYmxlc1xuXG4vLyBGb3JtIHZhbGlkYXRpb25cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tZmVlZGJhY2stdmFyaWFibGVzXG4kZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wOiAgICAgICAgICAkZm9ybS10ZXh0LW1hcmdpbi10b3AgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXNpemU6ICAgICAgICAgICAkZm9ybS10ZXh0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWZvbnQtc3R5bGU6ICAgICAgICAgICRmb3JtLXRleHQtZm9udC1zdHlsZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgICRzdWNjZXNzICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjogICAgICAgJGRhbmdlciAhZGVmYXVsdDtcblxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcjogICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkOiAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcn0nIGQ9J00yLjMgNi43My42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yOiAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZDogICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEyIDEyJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9Jz48Y2lyY2xlIGN4PSc2JyBjeT0nNicgcj0nNC41Jy8+PHBhdGggc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgZD0nTTUuOCAzLjZoLjRMNiA2LjV6Jy8+PGNpcmNsZSBjeD0nNicgY3k9JzguMicgcj0nLjYnIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgc3Ryb2tlPSdub25lJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWZlZWRiYWNrLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS12YWxpZGF0aW9uLWNvbG9yc1xuJGZvcm0tdmFsaWQtY29sb3I6ICAgICAgICAgICAgICAgICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS12YWxpZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWludmFsaWQtY29sb3I6ICAgICAgICAgICAgICAgICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvcjogICAgICAgICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXZhbGlkYXRpb24tY29sb3JzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXZhbGlkYXRpb24tc3RhdGVzXG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogKFxuICBcInZhbGlkXCI6IChcbiAgICBcImNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWNvbG9yKSxcbiAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZCxcbiAgICBcInRvb2x0aXAtY29sb3JcIjogI2ZmZixcbiAgICBcInRvb2x0aXAtYmctY29sb3JcIjogdmFyKC0tI3skcHJlZml4fXN1Y2Nlc3MpLFxuICAgIFwiZm9jdXMtYm94LXNoYWRvd1wiOiAwIDAgJGlucHV0LWJ0bi1mb2N1cy1ibHVyICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKHZhcigtLSN7JHByZWZpeH1zdWNjZXNzLXJnYiksICRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eSksXG4gICAgXCJib3JkZXItY29sb3JcIjogdmFyKC0tI3skcHJlZml4fWZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yKSxcbiAgKSxcbiAgXCJpbnZhbGlkXCI6IChcbiAgICBcImNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtY29sb3IpLFxuICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQsXG4gICAgXCJ0b29sdGlwLWNvbG9yXCI6ICNmZmYsXG4gICAgXCJ0b29sdGlwLWJnLWNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1kYW5nZXIpLFxuICAgIFwiZm9jdXMtYm94LXNoYWRvd1wiOiAwIDAgJGlucHV0LWJ0bi1mb2N1cy1ibHVyICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKHZhcigtLSN7JHByZWZpeH1kYW5nZXItcmdiKSwgJGlucHV0LWJ0bi1mb2N1cy1jb2xvci1vcGFjaXR5KSxcbiAgICBcImJvcmRlci1jb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvciksXG4gIClcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcblxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgemluZGV4LXN0YWNrXG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1zdGlja3k6ICAgICAgICAgICAgICAgICAgICAgMTAyMCAhZGVmYXVsdDtcbiR6aW5kZXgtZml4ZWQ6ICAgICAgICAgICAgICAgICAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LXNpZGViYXItYmFja2Ryb3A6ICAgICAgICAgICAxMDM0ICFkZWZhdWx0O1xuJHppbmRleC1zaWRlYmFyOiAgICAgICAgICAgICAgICAgICAgMTAzNSAhZGVmYXVsdDtcbiR6aW5kZXgtb2ZmY2FudmFzLWJhY2tkcm9wOiAgICAgICAgIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW9mZmNhbnZhczogICAgICAgICAgICAgICAgICAxMDQ1ICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAgICAgICAgIDEwNTUgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgICAgICAgMTA4MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9hc3Q6ICAgICAgICAgICAgICAgICAgICAgIDEwOTAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHppbmRleC1zdGFja1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgemluZGV4LWxldmVscy1tYXBcbiR6aW5kZXgtbGV2ZWxzOiAoXG4gIG4xOiAtMSxcbiAgMDogMCxcbiAgMTogMSxcbiAgMjogMixcbiAgMzogM1xuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgemluZGV4LWxldmVscy1tYXBcblxuXG4vLyBOYXZzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBuYXYtdmFyaWFibGVzXG4kbmF2LWxpbmstcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstZm9udC1zaXplOiAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG5hdi1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRuYXYtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtbGluay10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtbGluay1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICRmb2N1cy1yaW5nLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi11bmRlcmxpbmUtZ2FwOiAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtdW5kZXJsaW5lLWJvcmRlci13aWR0aDogICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kbmF2LXVuZGVybGluZS1saW5rLWFjdGl2ZS1jb2xvcjogICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuXG4kbmF2LXVuZGVybGluZS1ib3JkZXItZ2FwOiAgICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi11bmRlcmxpbmUtYm9yZGVyLWJvcmRlci1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtdW5kZXJsaW5lLWJvcmRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRuYXYtdW5kZXJsaW5lLWJvcmRlci1saW5rLXBhZGRpbmcteTogICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbmF2LXVuZGVybGluZS1ib3JkZXItbGluay1wYWRkaW5nLXg6ICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi11bmRlcmxpbmUtYm9yZGVyLWxpbmstY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtdW5kZXJsaW5lLWJvcmRlci1saW5rLWFjdGl2ZS1jb2xvcjogICAgdmFyKC0tI3skcHJlZml4fXByaW1hcnkpICFkZWZhdWx0O1xuJG5hdi11bmRlcmxpbmUtYm9yZGVyLWxpbmstZGlzYWJsZWQtY29sb3I6ICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktY29sb3IpICFkZWZhdWx0O1xuXG4kbmF2LWVuY2xvc2VkLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWVuY2xvc2VkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG4kbmF2LWVuY2xvc2VkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJG5hdi1lbmNsb3NlZC1saW5rLXBhZGRpbmcteTogICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJG5hdi1lbmNsb3NlZC1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJG5hdi1lbmNsb3NlZC1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kbmF2LWVuY2xvc2VkLWxpbmstYm9yZGVyLXdpZHRoOiAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRuYXYtZW5jbG9zZWQtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJG5hdi1lbmNsb3NlZC1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kbmF2LWVuY2xvc2VkLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJG5hdi1lbmNsb3NlZC1saW5rLWhvdmVyLWJveC1zaGFkb3c6ICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1zbSkgIWRlZmF1bHQ7XG4kbmF2LWVuY2xvc2VkLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBuYXYtdmFyaWFibGVzXG5cblxuLy8gTmF2YmFyXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItdmFyaWFibGVzXG4kbmF2YmFyLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMiAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICAoJG5hdi1saW5rLWhlaWdodCAtICRuYXZiYXItYnJhbmQtaGVpZ2h0KSAqIC41ICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1tYXJnaW4tZW5kOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAgICAgICRidG4tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb2N1cy13aWR0aDogICAgICAgICRidG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItdHJhbnNpdGlvbjogICAgICAgICBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIC42NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAuOCkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAxKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I6ICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaWNvbi1jb2xvcjogICAgICAgICAgIHJnYmEoJGJvZHktY29sb3IsIC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItbGlnaHQtaWNvbi1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjogcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgLjE1KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3I6ICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcjogICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG5hdmJhci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci1kYXJrLXZhcmlhYmxlc1xuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC41NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWljb24tY29sb3I6ICAgICAgICAgICAgJG5hdmJhci1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZzogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWRhcmstaWNvbi1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC4xKSAhZGVmYXVsdDskbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yOiAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjogICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1kYXJrLXZhcmlhYmxlc1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGRyb3Bkb3duLXZhcmlhYmxlc1xuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgIGNhbGMoI3skZHJvcGRvd24tYm9yZGVyLXJhZGl1c30gLSAjeyRkcm9wZG93bi1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICRkcm9wZG93bi1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdykgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICRkcm9wZG93bi1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgJHNwYWNlciAqIC4yNSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICRkcm9wZG93bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLyBmdXN2LWRpc2FibGVcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZzogICAgICAgICAgICRkcm9wZG93bi1oZWFkZXItcGFkZGluZy15ICRkcm9wZG93bi1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY0LjIuNlxuLy8gZnVzdi1lbmFibGVcbi8vIHNjc3MtZG9jcy1lbmQgZHJvcGRvd24tdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bi1kYXJrLXZhcmlhYmxlc1xuJGRyb3Bkb3duLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgICAgJGRyb3Bkb3duLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWRpdmlkZXItYmc6ICAgICAgICAgICRkcm9wZG93bi1kaXZpZGVyLWJnICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYm94LXNoYWRvdzogICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstY29sb3I6ICAgICAgICAgICRkcm9wZG93bi1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1jb2xvcjogICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1iZzogICAgICAgcmdiYSgkd2hpdGUsIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1jb2xvcjogICAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1iZzogICAgICAkZHJvcGRvd24tbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWRpc2FibGVkLWNvbG9yOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1oZWFkZXItY29sb3I6ICAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLWRhcmstdmFyaWFibGVzXG5cblxuLy8gUGFnaW5hdGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcGFnaW5hdGlvbi12YXJpYWJsZXNcbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW1hcmdpbi1zdGFydDogICAgICAgICAgIGNhbGMoLTEgKiAjeyRwYWdpbmF0aW9uLWJvcmRlci13aWR0aH0pICFkZWZhdWx0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDsgLy8gVG9kbyBpbiB2NjogcmVtb3ZlIHRoaXM/XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1zbSkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBhZ2luYXRpb24tdmFyaWFibGVzXG5cblxuLy8gUGxhY2Vob2xkZXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwbGFjZWhvbGRlcnNcbiRwbGFjZWhvbGRlci1vcGFjaXR5LW1heDogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLW9wYWNpdHktbWluOiAgICAgICAgICAgLjIgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBsYWNlaG9sZGVyc1xuXG4vLyBDYXJkc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZC12YXJpYWJsZXNcbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtc3BhY2VyLXk6ICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLXN1YnRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGNhcmQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHN1YnRyYWN0KCRjYXJkLWJvcmRlci1yYWRpdXMsICRjYXJkLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteSAqIC41ICFkZWZhdWx0O1xuJGNhcmQtY2FwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXggIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yLXJnYiksIC4wMykgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtZ3JvdXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLXdpZHRoICogLjUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNhcmQtdmFyaWFibGVzXG5cbi8vIEFjY29yZGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYWNjb3JkaW9uLXZhcmlhYmxlc1xuJGFjY29yZGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgc3VidHJhY3QoJGFjY29yZGlvbi1ib3JkZXItcmFkaXVzLCAkYWNjb3JkaW9uLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy15ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYnV0dG9uLXBhZGRpbmcteTogICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy15ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tcGFkZGluZy14OiAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1iZzogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJnKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICRidG4tdHJhbnNpdGlvbiwgYm9yZGVyLXJhZGl1cyAuMTVzIGVhc2UgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1iZy1zdWJ0bGUpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXByaW1hcnktdGV4dC1lbXBoYXNpcykgIWRlZmF1bHQ7XG5cbi8vIGZ1c3YtZGlzYWJsZVxuJGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4wLjBcbi8vIGZ1c3YtZW5hYmxlXG4kYWNjb3JkaW9uLWJ1dHRvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24taWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICRwcmltYXJ5LXRleHQtZW1waGFzaXMgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLXRyYW5zZm9ybTogICAgICAgICAgICAgICAgcm90YXRlKC0xODBkZWcpICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJ1dHRvbi1pY29uOiAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGFjY29yZGlvbi1pY29uLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdtMiA1IDYgNiA2LTYnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtaWNvbjogIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGFjY29yZGlvbi1pY29uLWFjdGl2ZS1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PHBhdGggZD0nbTIgNSA2IDYgNi02Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBhY2NvcmRpb24tdmFyaWFibGVzXG5cbi8vIFRvb2x0aXBzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0b29sdGlwLXZhcmlhYmxlc1xuJHRvb2x0aXAtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKSAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAqIC4yNSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIFRPRE86IHJlbW92ZSB0aGlzIGluIHY2XG5cbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIC44cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4vLyBmdXN2LWRpc2FibGVcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gNC4yLjAgZm9yIENTUyB2YXJpYWJsZXNcbi8vIGZ1c3YtZW5hYmxlXG4vLyBzY3NzLWRvY3MtZW5kIHRvb2x0aXAtdmFyaWFibGVzXG5cbi8vIEZvcm0gdG9vbHRpcHMgbXVzdCBjb21lIGFmdGVyIHJlZ3VsYXIgdG9vbHRpcHNcbi8vIHNjc3MtZG9jcy1zdGFydCB0b29sdGlwLWZlZWRiYWNrLXZhcmlhYmxlc1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDogICAgICR0b29sdGlwLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplOiAgICAgJHRvb2x0aXAtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDogICBudWxsICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5OiAgICAgICAkdG9vbHRpcC1vcGFjaXR5ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0b29sdGlwLWZlZWRiYWNrLXZhcmlhYmxlc1xuXG5cbi8vIFBvcG92ZXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwb3BvdmVyLXZhcmlhYmxlc1xuJHBvcG92ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgIGNhbGMoI3skcG9wb3Zlci1ib3JkZXItcmFkaXVzfSAtICN7JHBvcG92ZXItYm9yZGVyLXdpZHRofSkgIWRlZmF1bHQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4kcG9wb3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdykgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWhlYWRlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1iZzogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGhlYWRpbmdzLWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteTogICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwb3BvdmVyLXZhcmlhYmxlc1xuXG4vLyBmdXN2LWRpc2FibGVcbi8vIERlcHJlY2F0ZWQgaW4gNC4yLjAgZm9yIENTUyB2YXJpYWJsZXNcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4vLyBmdXN2LWVuYWJsZVxuXG5cbi8vIFRvYXN0c1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdG9hc3QtdmFyaWFibGVzXG4kdG9hc3QtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAzNTBweCAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRvYXN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdG9hc3QtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWJnLXJnYiksIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHRvYXN0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3cpICFkZWZhdWx0O1xuJHRvYXN0LXNwYWNpbmc6ICAgICAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiR0b2FzdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZy1yZ2IpLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgJHRvYXN0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdG9hc3QtdmFyaWFibGVzXG5cblxuLy8gQmFkZ2VzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBiYWRnZS12YXJpYWJsZXNcbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIC43NWVtICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMzVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC42NWVtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuXG4kYmFkZ2UtZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAuNjVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgIC4zZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAuNWVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBiYWRnZS12YXJpYWJsZXNcblxuXG4vLyBNb2RhbHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG1vZGFsLXZhcmlhYmxlc1xuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbjogICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1kaWFsb2ctbWFyZ2luOiAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cDogICAgICAgMS43NXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250ZW50LWNvbG9yOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzOiBzdWJ0cmFjdCgkbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzLCAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14czogICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctc20pICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3cpICFkZWZhdWx0O1xuXG4kbW9kYWwtYmFja2Ryb3AtYmc6ICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICAgICAuNSAhZGVmYXVsdDtcblxuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nOiAgICAgICAgICAgICAgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7IC8vIEtlZXAgdGhpcyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcblxuJG1vZGFsLWZvb3Rlci1iZzogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICAgICAgICA4MDBweCAhZGVmYXVsdDtcbiRtb2RhbC14bDogICAgICAgICAgICAgICAgICAgICAgICAgIDExNDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLWZhZGUtdHJhbnNmb3JtOiAgICAgICAgICAgICAgdHJhbnNsYXRlKDAsIC01MHB4KSAhZGVmYXVsdDtcbiRtb2RhbC1zaG93LXRyYW5zZm9ybTogICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbW9kYWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0ICFkZWZhdWx0O1xuJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTogICAgICAgICAgICAgc2NhbGUoMS4wMikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG1vZGFsLXZhcmlhYmxlc1xuXG5cbi8vIEF2YXRhcnNcbi8vIHNjc3MtZG9jcy1zdGFydCBhdmF0YXItdmFyaWFibGVzXG4kYXZhdGFyLXdpZHRoOiAgICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRhdmF0YXItaGVpZ2h0OiAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGF2YXRhci1mb250LXNpemU6ICAgICAgICAgICAgIC44cmVtICFkZWZhdWx0O1xuJGF2YXRhci1ib3JkZXItcmFkaXVzOiAgICAgICAgIDUwZW0gIWRlZmF1bHQ7XG4kYXZhdGFyLXN0YXR1cy13aWR0aDogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYXZhdGFyLXN0YXR1cy1oZWlnaHQ6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYXZhdGFyLXN0YXR1cy1ib3JkZXItcmFkaXVzOiAgNTBlbSAhZGVmYXVsdDtcbiRhdmF0YXItdHJhbnNpdGlvbjogICAgICAgICAgICBtYXJnaW4gLjE1cyAhZGVmYXVsdDtcblxuJGF2YXRhci1zaXplczogKFxuICBzbTogKFxuICAgIHdpZHRoOiAxLjVyZW0sXG4gICAgaGVpZ2h0OiAxLjVyZW0sXG4gICAgZm9udC1zaXplOiAuNnJlbSxcbiAgICBzdGF0dXMtd2lkdGg6IC40cmVtLFxuICAgIHN0YXR1cy1oZWlnaHQ6IC40cmVtXG4gICksXG4gIG1kOiAoXG4gICAgd2lkdGg6IDIuNXJlbSxcbiAgICBoZWlnaHQ6IDIuNXJlbSxcbiAgICBmb250LXNpemU6IDFyZW0sXG4gICAgc3RhdHVzLXdpZHRoOiAuN3JlbSxcbiAgICBzdGF0dXMtaGVpZ2h0OiAuN3JlbVxuICApLFxuICBsZzogKFxuICAgIHdpZHRoOiAzcmVtLFxuICAgIGhlaWdodDogM3JlbSxcbiAgICBmb250LXNpemU6IDEuMnJlbSxcbiAgICBzdGF0dXMtd2lkdGg6IC44cmVtLFxuICAgIHN0YXR1cy1oZWlnaHQ6IC44cmVtXG4gICksXG4gIHhsOiAoXG4gICAgd2lkdGg6IDRyZW0sXG4gICAgaGVpZ2h0OiA0cmVtLFxuICAgIGZvbnQtc2l6ZTogMS42cmVtLFxuICAgIHN0YXR1cy13aWR0aDogMXJlbSxcbiAgICBzdGF0dXMtaGVpZ2h0OiAxcmVtXG4gICksXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBhdmF0YXItdmFyaWFibGVzXG5cbi8vIGZ1c3YtZGlzYWJsZVxuLy8gRGVwcmVjYXRlZCBpbiA1LjEuMCBmb3IgQ1NTIHZhcmlhYmxlc1xuJGF2YXRhci13aWR0aHM6IChcbiAgc206IDEuNXJlbSxcbiAgbWQ6IDIuNXJlbSxcbiAgbGc6IDNyZW0sXG4gIHhsOiA0cmVtXG4pICFkZWZhdWx0O1xuLy8gZnVzdi1lbmFibGVcblxuLy8gQWxlcnRzXG4vL1xuLy8gRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBhbGVydC12YXJpYWJsZXNcbiRhbGVydC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kYWxlcnQtZGlzbWlzc2libGUtcGFkZGluZy1yOiAgICRhbGVydC1wYWRkaW5nLXggKiAzICFkZWZhdWx0OyAvLyAzeCBjb3ZlcnMgd2lkdGggb2YgeCBwbHVzIGRlZmF1bHQgcGFkZGluZyBvbiBlaXRoZXIgc2lkZVxuLy8gc2Nzcy1kb2NzLWVuZCBhbGVydC12YXJpYWJsZXNcblxuLy8gZnVzdi1kaXNhYmxlXG4kYWxlcnQtYmctc2NhbGU6ICAgICAgICAgICAgICAgIC04MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjQuMi4wLCB0byBiZSByZW1vdmVkIGluIHY2XG4kYWxlcnQtYm9yZGVyLXNjYWxlOiAgICAgICAgICAgIC03MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjQuMi4wLCB0byBiZSByZW1vdmVkIGluIHY2XG4kYWxlcnQtY29sb3Itc2NhbGU6ICAgICAgICAgICAgIDQwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NC4yLjAsIHRvIGJlIHJlbW92ZWQgaW4gdjZcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIENhbGxvdXRzXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2FsbG91dC12YXJpYWJsZXNcbiRjYWxsb3V0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kY2FsbG91dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhbGxvdXQtbWFyZ2luLXk6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRjYWxsb3V0LW1hcmdpbi14OiAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kY2FsbG91dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kY2FsbG91dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjYWxsb3V0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGNhbGxvdXQtYm9yZGVyLWxlZnQtd2lkdGg6ICAgICAgICAgY2FsYygjeyRjYWxsb3V0LWJvcmRlci13aWR0aH0gKiA0KSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuJGNhbGxvdXQtdmFyaWFudHM6IChcbiAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxuICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcbiAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxuICBcImluZm9cIjogICAgICAgJGluZm8sXG4gIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gIFwiZGFya1wiOiAgICAgICAkZGFya1xuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2FsbG91dC12YXJpYWJsZXNcblxuXG4vLyBQcm9ncmVzcyBiYXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwcm9ncmVzcy12YXJpYWJsZXNcbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuNzUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LWluc2V0KSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1wcmltYXJ5KSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBjbGVhbi11cCA/Pz9cbiRwcm9ncmVzcy1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtZ3JvdXAtaGVhZGVyLW1hcmdpbi1ib3R0b206ICAkc3BhY2VyICogLjI1ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwcm9ncmVzcy12YXJpYWJsZXNcblxuLy8gTGlzdCBncm91cFxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGxpc3QtZ3JvdXAtdmFyaWFibGVzXG4kbGlzdC1ncm91cC1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDogICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuLy8gZnVzdi1kaXNhYmxlXG4kbGlzdC1ncm91cC1pdGVtLWJnLXNjYWxlOiAgICAgICAgICAtODAlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjAuMFxuJGxpc3QtZ3JvdXAtaXRlbS1jb2xvci1zY2FsZTogICAgICAgNDAlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjAuMFxuLy8gZnVzdi1lbmFibGVcblxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJGxpc3QtZ3JvdXAtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiAgICAgdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGxpc3QtZ3JvdXAtdmFyaWFibGVzXG5cblxuLy8gSGVhZGVyXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaGVhZGVyLXZhcmlhYmxlc1xuJGhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRoZWFkZXItYnJhbmQtZm9udC1zaXplOiAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRoZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgLjY1KSAhZGVmYXVsdDtcbiRoZWFkZXItYmc6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRoZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kaGVhZGVyLWhvdmVyLWNvbG9yOiAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIC44KSAhZGVmYXVsdDtcbiRoZWFkZXItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgMSkgIWRlZmF1bHQ7XG4kaGVhZGVyLWRpc2FibGVkLWNvbG9yOiAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIC4zKSAhZGVmYXVsdDtcbiRoZWFkZXItdHJhbnNpdGlvbjogICAgICAgICAgICAgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLyBDb21wdXRlIHRoZSBoZWFkZXItYnJhbmQgcGFkZGluZy15IHNvIHRoZSBoZWFkZXItYnJhbmQgd2lsbCBoYXZlIHRoZSBzYW1lIGhlaWdodCBhcyBoZWFkZXItdGV4dCBhbmQgbmF2LWxpbmtcbiRuYXYtbGluay1oZWlnaHQ6ICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMiAhZGVmYXVsdDtcbiRoZWFkZXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgJGhlYWRlci1icmFuZC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRoZWFkZXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgKCRuYXYtbGluay1oZWlnaHQgLSAkaGVhZGVyLWJyYW5kLWhlaWdodCkgKiAuNSAhZGVmYXVsdDtcbiRoZWFkZXItYnJhbmQtbWFyZ2luLWVuZDogICAgICAgMXJlbSAhZGVmYXVsdDtcbiRoZWFkZXItYnJhbmQtZm9udC1zaXplOiAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRoZWFkZXItYnJhbmQtY29sb3I6ICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGhlYWRlci1icmFuZC1ob3Zlci1jb2xvcjogICAgICBzaGFkZS1jb2xvcigkZ3JheS05MDAsIDEwJSkgIWRlZmF1bHQ7XG5cbiRoZWFkZXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGhlYWRlci10b2dnbGVyLXBhZGRpbmcteDogICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kaGVhZGVyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaGVhZGVyLXRvZ2dsZXItY29sb3I6ICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIC42NSkgIWRlZmF1bHQ7XG4kaGVhZGVyLXRvZ2dsZXItYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGhlYWRlci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAkYnRuLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kaGVhZGVyLXRvZ2dsZXItaG92ZXItY29sb3I6ICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIDEpICFkZWZhdWx0O1xuXG4kaGVhZGVyLXRvZ2dsZXItaWNvbi1iZzogICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHZpZXdCb3g9JzAgMCAzMCAzMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggc3Ryb2tlPScjeyRoZWFkZXItY29sb3J9JyBzdHJva2Utd2lkdGg9JzIuMjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNFJTNDL3N2ZyUzRVwiKSAhZGVmYXVsdDtcbiRoZWFkZXItdG9nZ2xlci1ob3Zlci1pY29uLWJnOiAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0Nzdmcgdmlld0JveD0nMCAwIDMwIDMwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBzdHJva2U9JyN7JGhlYWRlci1ob3Zlci1jb2xvcn0nIHN0cm9rZS13aWR0aD0nMi4yNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM0UlM0Mvc3ZnJTNFXCIpICFkZWZhdWx0O1xuXG4kaGVhZGVyLW5hdi1saW5rLXBhZGRpbmcteDogICAgIC41cmVtICFkZWZhdWx0O1xuJGhlYWRlci1uYXYtbGluay1wYWRkaW5nLXk6ICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGhlYWRlci1kaXZpZGVyLWJvcmRlci13aWR0aDogICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRoZWFkZXItZGl2aWRlci1ib3JkZXItY29sb3I6ICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGhlYWRlci12YXJpYWJsZXNcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aHVtYm5haWwtdmFyaWFibGVzXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctc20pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aHVtYm5haWwtdmFyaWFibGVzXG5cblxuLy8gRmlndXJlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZmlndXJlLXZhcmlhYmxlc1xuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmaWd1cmUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmaWd1cmUtdmFyaWFibGVzXG5cblxuLy8gQnJlYWRjcnVtYnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJyZWFkY3J1bWItdmFyaWFibGVzXG4kYnJlYWRjcnVtYi1mb250LXNpemU6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgICAgIHN0cmluZy5xdW90ZShcIi9cIikgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWZsaXBwZWQ6ICAgICAgICAkYnJlYWRjcnVtYi1kaXZpZGVyICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYnJlYWRjcnVtYi12YXJpYWJsZXNcblxuLy8gQ2Fyb3VzZWxcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcm91c2VsLXZhcmlhYmxlc1xuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1ob3Zlci1vcGFjaXR5OiAgICAgLjkgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uOiAgICAgICAgb3BhY2l0eSAuMTVzIGVhc2UgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLWZpbHRlcjogICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1vcGFjaXR5OiAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLW9wYWNpdHk6ICAxICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uOiAgICAgIG9wYWNpdHkgLjZzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoOiAgICAgICAgICAgICA3MCUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tcGFkZGluZy15OiAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1zcGFjZXI6ICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDogICAgICAgIDJyZW0gIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nPjxwYXRoIGQ9J00xMS4zNTQgMS42NDZhLjUuNSAwIDAgMSAwIC43MDhMNS43MDcgOGw1LjY0NyA1LjY0NmEuNS41IDAgMCAxLS43MDguNzA4bC02LTZhLjUuNSAwIDAgMSAwLS43MDhsNi02YS41LjUgMCAwIDEgLjcwOCAwJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfSc+PHBhdGggZD0nTTQuNjQ2IDEuNjQ2YS41LjUgMCAwIDEgLjcwOCAwbDYgNmEuNS41IDAgMCAxIDAgLjcwOGwtNiA2YS41LjUgMCAwIDEtLjcwOC0uNzA4TDEwLjI5MyA4IDQuNjQ2IDIuMzU0YS41LjUgMCAwIDEgMC0uNzA4Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAgLjZzICFkZWZhdWx0O1xuJGNhcm91c2VsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dCAhZGVmYXVsdDsgLy8gRGVmaW5lIHRyYW5zZm9ybSB0cmFuc2l0aW9uIGZpcnN0IGlmIHVzaW5nIG11bHRpcGxlIHRyYW5zaXRpb25zIChlLmcuLCBgdHJhbnNmb3JtIDJzIGVhc2UsIG9wYWNpdHkgLjVzIGVhc2Utb3V0YClcbi8vIHNjc3MtZG9jcy1lbmQgY2Fyb3VzZWwtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjYXJvdXNlbC1kYXJrLXZhcmlhYmxlc1xuJGNhcm91c2VsLWRhcmstaW5kaWNhdG9yLWFjdGl2ZS1iZzogICRibGFjayAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjJcbiRjYXJvdXNlbC1kYXJrLWNhcHRpb24tY29sb3I6ICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy4yXG4kY2Fyb3VzZWwtZGFyay1jb250cm9sLWljb24tZmlsdGVyOiAgaW52ZXJ0KDEpIGdyYXlzY2FsZSgxMDApICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjMuMlxuLy8gc2Nzcy1kb2NzLWVuZCBjYXJvdXNlbC1kYXJrLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc2lkZWJhci12YXJpYWJsZXNcbiRzaWRlYmFyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNnJlbSAhZGVmYXVsdDtcbiRzaWRlYmFyLXdpZHRoczogKFxuICBzbTogMTJyZW0sXG4gIGxnOiAyMHJlbSxcbiAgeGw6IDI0cmVtXG4pICFkZWZhdWx0O1xuJHNpZGViYXItbmFycm93LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgIDRyZW0gIWRlZmF1bHQ7XG4kc2lkZWJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRzaWRlYmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJHNpZGViYXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRzaWRlYmFyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kc2lkZWJhci10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQgLjE1cywgbWFyZ2luLXJpZ2h0IC4xNXMsIGJveC1zaGFkb3cgLjA3NXMsIHRyYW5zZm9ybSAuMTVzLCB3aWR0aCAuMTVzLCB6LWluZGV4IDBzIGVhc2UgLjE1cyAhZGVmYXVsdDtcbiRzaWRlYmFyLWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kc2lkZWJhci1icmFuZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRzaWRlYmFyLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kc2lkZWJhci1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kc2lkZWJhci1vdmVybGFpZC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3cpICFkZWZhdWx0O1xuJHNpZGViYXItbmFycm93LXVuZm9sZGFibGUtYm94LXNoYWRvdzogICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93KSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc2lkZWJhci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNpZGViYXItbmF2LXZhcmlhYmxlc1xuJHNpZGViYXItbmF2LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLXBhZGRpbmcteSAqIC41ICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLXBhZGRpbmcteCAqIC41ICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LWdhcDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcblxuJHNpZGViYXItbmF2LXRpdGxlLXBhZGRpbmcteTogICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRzaWRlYmFyLW5hdi10aXRsZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LXRpdGxlLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRzaWRlYmFyLW5hdi10aXRsZS10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICBoZWlnaHQgLjE1cywgbWFyZ2luIC4xNXMgIWRlZmF1bHQ7XG5cbiRzaWRlYmFyLW5hdi1saW5rLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRzaWRlYmFyLW5hdi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtbGluay1iZzogICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtbGluay1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRzaWRlYmFyLW5hdi1saW5rLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzaWRlYmFyLW5hdi1saW5rLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtbGluay10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgYmFja2dyb3VuZCAuMTVzIGVhc2UsIGNvbG9yIC4xNXMgZWFzZSwgZ2FwIC4xNXMgZWFzZSAhZGVmYXVsdDtcblxuJHNpZGViYXItY29tcGFjdC1uYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgIC41NjI1cmVtICFkZWZhdWx0O1xuXG4kc2lkZWJhci1uYXJyb3ctbmF2LWxpbmstcGFkZGluZy15OiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHNpZGViYXItbmFycm93LW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kc2lkZWJhci1uYXYtbGluay1pY29uLW1hcmdpbjogICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LWxpbmstaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtbGluay1pY29uLXdpZHRoOiAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRzaWRlYmFyLW5hdi1saW5rLWljb24taGVpZ2h0OiAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LWxpbmstaWNvbi1mb250LXNpemU6ICAgICAgICAgICAgICRzaWRlYmFyLW5hdi1saW5rLWljb24taGVpZ2h0ICFkZWZhdWx0O1xuXG4kc2lkZWJhci1uYXYtbGluay1pY29uLWJ1bGxldC1zaXplOiAgICAgICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtbGluay1pY29uLWJ1bGxldC1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtbGluay1pY29uLWJ1bGxldC1ib3JkZXItd2lkdGg6ICAgMXB4ICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LWxpbmstaWNvbi1idWxsZXQtYm9yZGVyLWNvbG9yOiAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtbGluay1pY29uLWJ1bGxldC1ib3JkZXItcmFkaXVzOiAgNTByZW0gIWRlZmF1bHQ7XG5cbiRzaWRlYmFyLW5hdi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LWxpbmstaG92ZXItaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LWxpbmstaG92ZXItaWNvbi1idWxsZXQtYmc6ICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtbGluay1ob3Zlci1pY29uLWJ1bGxldC1ib3JkZXItY29sb3I6ICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG5cbiRzaWRlYmFyLW5hdi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LWxpbmstYWN0aXZlLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKSAhZGVmYXVsdDtcbiRzaWRlYmFyLW5hdi1saW5rLWFjdGl2ZS1pY29uLWJ1bGxldC1iZzogICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LWxpbmstYWN0aXZlLWljb24tYnVsbGV0LWJvcmRlci1jb2xvcjogICAgdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKSAhZGVmYXVsdDtcblxuJHNpZGViYXItbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRzaWRlYmFyLW5hdi1saW5rLWRpc2FibGVkLWljb24tY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtbGluay1kaXNhYmxlZC1pY29uLWJ1bGxldC1iZzogICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzaWRlYmFyLW5hdi1saW5rLWRpc2FibGVkLWljb24tYnVsbGV0LWJvcmRlci1jb2xvcjogIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvcikgIWRlZmF1bHQ7XG5cbiRzaWRlYmFyLW5hdi1ncm91cC1iZzogICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzaWRlYmFyLW5hdi1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRzaWRlYmFyLW5hdi1ncm91cC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kIC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtZ3JvdXAtdG9nZ2xlLXNob3ctY29sb3I6ICAgICAgICAgJHNpZGViYXItbmF2LWxpbmstY29sb3IgIWRlZmF1bHQ7XG5cbiRzaWRlYmFyLW5hdi1ncm91cC1pdGVtcy1wYWRkaW5nLXk6ICAgICAgICAgICAwICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LWdyb3VwLWl0ZW1zLXBhZGRpbmcteDogICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtZ3JvdXAtaXRlbXMtdHJhbnNpdGlvbjogICAgICAgICAgaGVpZ2h0IC4xNXMgZWFzZSAhZGVmYXVsdDtcblxuJHNpZGViYXItbmF2LWdyb3VwLWluZGljYXRvci1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtZ3JvdXAtaW5kaWNhdG9yLWljb246ICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnPjxwYXRoIGZpbGwtcnVsZT0nZXZlbm9kZCcgZD0nTTEuNjQ2IDQuNjQ2YS41LjUgMCAwIDEgLjcwOCAwTDggMTAuMjkzbDUuNjQ2LTUuNjQ3YS41LjUgMCAwIDEgLjcwOC43MDhsLTYgNmEuNS41IDAgMCAxLS43MDggMGwtNi02YS41LjUgMCAwIDEgMC0uNzA4Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LWdyb3VwLWluZGljYXRvci1ob3Zlci1jb2xvcjogICAgICRzaWRlYmFyLW5hdi1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LWdyb3VwLWluZGljYXRvci1ob3Zlci1pY29uOiAgICAgICRzaWRlYmFyLW5hdi1ncm91cC1pbmRpY2F0b3ItaWNvbiAhZGVmYXVsdDtcbiRzaWRlYmFyLW5hdi1ncm91cC1pbmRpY2F0b3ItdHJhbnNpdGlvbjogICAgICB0cmFuc2Zvcm0gLjE1cyAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc2lkZWJhci1uYXYtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzaWRlYmFyLXRvZ2dsZXJcbiRzaWRlYmFyLXRvZ2dsZXItd2lkdGg6ICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHNpZGViYXItdG9nZ2xlci1oZWlnaHQ6ICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kc2lkZWJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kc2lkZWJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kc2lkZWJhci10b2dnbGVyLWJnOiAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzaWRlYmFyLXRvZ2dsZXItY29sb3I6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kc2lkZWJhci10b2dnbGVyLWljb246ICAgICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTBBJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDUxMiA1MTInJTNFJTNDZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHRyYW5zZm9ybT0nbWF0cml4KC0xIDAgMCAtMSA1MTIgNTEyKSclM0UlM0NwYXRoIGZpbGw9JyUyMzAwMCcgZD0nTTQ3MiwxNkg0MEEyNC4wMjgsMjQuMDI4LDAsMCwwLDE2LDQwVjIwMEg0OFY0OEg0NjRWNDY0SDQ4VjMwNEgxNlY0NzJhMjQuMDI4LDI0LjAyOCwwLDAsMCwyNCwyNEg0NzJhMjQuMDI4LDI0LjAyOCwwLDAsMCwyNC0yNFY0MEEyNC4wMjgsMjQuMDI4LDAsMCwwLDQ3MiwxNlonLyUzRSUzQ3BvbHlnb24gZmlsbD0nJTIzMDAwJyBwb2ludHM9JzIwOS4zNzcgMzYzLjMwNiAyMzIuMDA0IDM4NS45MzMgMzY2LjYyNyAyNTEuMzEgMjMyLjAwNCAxMTYuNjg3IDIwOS4zNzcgMTM5LjMxMyAzMDUuMzc0IDIzNS4zMTEgMTYgMjM1LjMxMSAxNiAyNjcuMzExIDMwNS4zNzIgMjY3LjMxMSAyMDkuMzc3IDM2My4zMDYnLyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKSAhZGVmYXVsdDtcbiRzaWRlYmFyLXRvZ2dsZXItZm9jdXMtc2hhZG93OiAgICAgICRmb2N1cy1yaW5nLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kc2lkZWJhci10b2dnbGVyLWhvdmVyLWNvbG9yOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRzaWRlYmFyLXRvZ2dsZXItZm9jdXMtY29sb3I6ICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJHNpZGViYXItdG9nZ2xlci10cmFuc2l0aW9uOiAgICAgICAgdHJhbnNmb3JtIC4xNXMgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHNpZGViYXItdG9nZ2xlclxuXG4vLyBGb290ZXJcbi8vIHNjc3MtZG9jcy1zdGFydCBmb290ZXItdmFyaWFibGVzXG4kZm9vdGVyLW1pbi1oZWlnaHQ6ICAgIDNyZW0gIWRlZmF1bHQ7XG4kZm9vdGVyLXBhZGRpbmcteTogICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRmb290ZXItcGFkZGluZy14OiAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRmb290ZXItYmc6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcbiRmb290ZXItY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGZvb3Rlci1ib3JkZXItd2lkdGg6ICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRmb290ZXItYm9yZGVyLWNvbG9yOiAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvb3Rlci12YXJpYWJsZXNcblxuLy8gU3Bpbm5lcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItdmFyaWFibGVzXG4kc3Bpbm5lci13aWR0aDogICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQ6ICAgICAgICAgICRzcGlubmVyLXdpZHRoICFkZWZhdWx0O1xuJHNwaW5uZXItdmVydGljYWwtYWxpZ246ICAtLjEyNWVtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoOiAgICAuMjVlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWFuaW1hdGlvbi1zcGVlZDogLjc1cyAhZGVmYXVsdDtcblxuJHNwaW5uZXItd2lkdGgtc206ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0LXNtOiAgICAgICAkc3Bpbm5lci13aWR0aC1zbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aC1zbTogLjJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci12YXJpYWJsZXNcblxuXG4vLyBDbG9zZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2xvc2UtdmFyaWFibGVzXG4kYnRuLWNsb3NlLXdpZHRoOiAgICAgICAgICAgIDFlbSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtaGVpZ2h0OiAgICAgICAgICAgJGJ0bi1jbG9zZS13aWR0aCAhZGVmYXVsdDtcbiRidG4tY2xvc2UtcGFkZGluZy14OiAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLXBhZGRpbmcteTogICAgICAgICRidG4tY2xvc2UtcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1jb2xvcjogICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWJnOiAgICAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRidG4tY2xvc2UtY29sb3J9Jz48cGF0aCBkPSdNLjI5My4yOTNhMSAxIDAgMCAxIDEuNDE0IDBMOCA2LjU4NiAxNC4yOTMuMjkzYTEgMSAwIDEgMSAxLjQxNCAxLjQxNEw5LjQxNCA4bDYuMjkzIDYuMjkzYTEgMSAwIDAgMS0xLjQxNCAxLjQxNEw4IDkuNDE0bC02LjI5MyA2LjI5M2ExIDEgMCAwIDEtMS40MTQtMS40MTRMNi41ODYgOCAuMjkzIDEuNzA3YTEgMSAwIDAgMSAwLTEuNDE0Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1zaGFkb3c6ICAgICAkZm9jdXMtcmluZy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1vcGFjaXR5OiAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtaG92ZXItb3BhY2l0eTogICAgLjc1ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1vcGFjaXR5OiAgICAxICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5OiAuMjUgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWZpbHRlcjogICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLXdoaXRlLWZpbHRlcjogICAgIGludmVydCgxKSBncmF5c2NhbGUoMTAwJSkgYnJpZ2h0bmVzcygyMDAlKSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjJcbi8vIHNjc3MtZG9jcy1lbmQgY2xvc2UtdmFyaWFibGVzXG5cblxuLy8gT2ZmY2FudmFzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBvZmZjYW52YXMtdmFyaWFibGVzXG4kb2ZmY2FudmFzLXBhZGRpbmcteTogICAgICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtcGFkZGluZy14OiAgICAgICAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ob3Jpem9udGFsLXdpZHRoOiAgICAgICAgNDAwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLWhlaWdodDogICAgICAgICAzMHZoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgLjNzICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10aXRsZS1saW5lLWhlaWdodDogICAgICAgJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iZy1jb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1jb2xvcjogICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFja2Ryb3AtYmc6ICAgICAgICAgICAgICRtb2RhbC1iYWNrZHJvcC1iZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBvZmZjYW52YXMtdmFyaWFibGVzXG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRwaW5rICFkZWZhdWx0O1xuXG4ka2JkLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAuMTg3NXJlbSAhZGVmYXVsdDtcbiRrYmQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4ka2JkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkY29kZS1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY0LjIuNiwgcmVtb3ZpbmcgaW4gdjZcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuQHVzZSBcInNhc3M6bGlzdFwiO1xuQHVzZSBcInNhc3M6bWV0YVwiO1xuQHVzZSBcIi4uL3ZhcmlhYmxlc1wiIGFzICo7XG5cbi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIHJlcGxhY2UgbmVnYXRpdmUgdmFsdWVzIHdpdGggMFxuQGZ1bmN0aW9uIHZhbGlkLXJhZGl1cygkcmFkaXVzKSB7XG4gICRyZXR1cm46ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHJhZGl1cyB7XG4gICAgQGlmIG1ldGEudHlwZS1vZigkdmFsdWUpID09IG51bWJlciB7XG4gICAgICAkcmV0dXJuOiBsaXN0LmFwcGVuZCgkcmV0dXJuLCBtYXgoJHZhbHVlLCAwKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmV0dXJuOiBsaXN0LmFwcGVuZCgkcmV0dXJuLCAkdmFsdWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRyZXR1cm47XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBib3JkZXItcmFkaXVzLW1peGluc1xuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMsICRmYWxsYmFjay1ib3JkZXItcmFkaXVzOiBmYWxzZSkge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbiAgQGVsc2UgaWYgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXMgIT0gZmFsc2Uge1xuICAgIGJvcmRlci1yYWRpdXM6ICRmYWxsYmFjay1ib3JkZXItcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWVuZC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItZW5kLWVuZC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1lbmQtc3RhcnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3Atc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1zdGFydC1lbmQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tZW5kLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItZW5kLWVuZC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWVuZC1zdGFydC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItcmFkaXVzLW1peGluc1xuIiwiQHVzZSBcIm1peGlucy9saXN0c1wiIGFzICo7XG5AdXNlIFwidmVuZG9yL3Jmc1wiIGFzICo7XG5AdXNlIFwicmVib290XCIgYXMgKjtcbkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xuXG4vL1xuLy8gSGVhZGluZ3Ncbi8vXG4uaDEge1xuICBAZXh0ZW5kIGgxO1xufVxuXG4uaDIge1xuICBAZXh0ZW5kIGgyO1xufVxuXG4uaDMge1xuICBAZXh0ZW5kIGgzO1xufVxuXG4uaDQge1xuICBAZXh0ZW5kIGg0O1xufVxuXG4uaDUge1xuICBAZXh0ZW5kIGg1O1xufVxuXG4uaDYge1xuICBAZXh0ZW5kIGg2O1xufVxuXG5cbi5sZWFkIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRsZWFkLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkbGVhZC1mb250LXdlaWdodDtcbn1cblxuLy8gVHlwZSBkaXNwbGF5IGNsYXNzZXNcbkBlYWNoICRkaXNwbGF5LCAkZm9udC1zaXplIGluICRkaXNwbGF5LWZvbnQtc2l6ZXMge1xuICAuZGlzcGxheS0jeyRkaXNwbGF5fSB7XG4gICAgZm9udC1mYW1pbHk6ICRkaXNwbGF5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRkaXNwbGF5LWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5LWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gIH1cbn1cblxuLy9cbi8vIEVtcGhhc2lzXG4vL1xuLnNtYWxsIHtcbiAgQGV4dGVuZCBzbWFsbDtcbn1cblxuLm1hcmsge1xuICBAZXh0ZW5kIG1hcms7XG59XG5cbi8vXG4vLyBMaXN0c1xuLy9cblxuLmxpc3QtdW5zdHlsZWQge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG5cbi8vIElubGluZSB0dXJucyBsaXN0IGl0ZW1zIGludG8gaW5saW5lLWJsb2NrXG4ubGlzdC1pbmxpbmUge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG4ubGlzdC1pbmxpbmUtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAkbGlzdC1pbmxpbmUtcGFkZGluZztcbiAgfVxufVxuXG5cbi8vXG4vLyBNaXNjXG4vL1xuXG4vLyBCdWlsZHMgb24gYGFiYnJgXG4uaW5pdGlhbGlzbSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5pdGlhbGlzbS1mb250LXNpemUpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vLyBCbG9ja3F1b3Rlc1xuLmJsb2NrcXVvdGUge1xuICBtYXJnaW4tYm90dG9tOiAkYmxvY2txdW90ZS1tYXJnaW4teTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRibG9ja3F1b3RlLWZvbnQtc2l6ZSk7XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uYmxvY2txdW90ZS1mb290ZXIge1xuICBtYXJnaW4tdG9wOiAtJGJsb2NrcXVvdGUtbWFyZ2luLXk7XG4gIG1hcmdpbi1ib3R0b206ICRibG9ja3F1b3RlLW1hcmdpbi15O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJsb2NrcXVvdGUtZm9vdGVyLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkYmxvY2txdW90ZS1mb290ZXItY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjAxNFxcMDBBMFwiOyAvLyBlbSBkYXNoLCBuYnNwXG4gIH1cbn1cbiIsIi8vIExpc3RzXG5cbi8vIFVuc3R5bGVkIGtlZXBzIGxpc3QgaXRlbXMgYmxvY2sgbGV2ZWwsIGp1c3QgcmVtb3ZlcyBkZWZhdWx0IGJyb3dzZXIgcGFkZGluZyBhbmQgbGlzdC1zdHlsZVxuQG1peGluIGxpc3QtdW5zdHlsZWQge1xuICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIkB1c2UgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL2JveC1zaGFkb3dcIiBhcyAqO1xuQHVzZSBcIm1peGlucy9pbWFnZVwiIGFzICo7XG5AdXNlIFwidmVuZG9yL3Jmc1wiIGFzICo7XG5AdXNlIFwidmFyaWFibGVzXCIgYXMgKjtcblxuLy8gUmVzcG9uc2l2ZSBpbWFnZXMgKGVuc3VyZSBpbWFnZXMgZG9uJ3Qgc2NhbGUgYmV5b25kIHRoZWlyIHBhcmVudHMpXG4vL1xuLy8gVGhpcyBpcyBwdXJwb3NlZnVsbHkgb3B0LWluIHZpYSBhbiBleHBsaWNpdCBjbGFzcyByYXRoZXIgdGhhbiBiZWluZyB0aGUgZGVmYXVsdCBmb3IgYWxsIGA8aW1nPmBzLlxuLy8gV2UgcHJldmlvdXNseSB0cmllZCB0aGUgXCJpbWFnZXMgYXJlIHJlc3BvbnNpdmUgYnkgZGVmYXVsdFwiIGFwcHJvYWNoIGluIEJvb3RzdHJhcCB2Mixcbi8vIGFuZCBhYmFuZG9uZWQgaXQgaW4gQm9vdHN0cmFwIHYzIGJlY2F1c2UgaXQgYnJlYWtzIGxvdHMgb2YgdGhpcmQtcGFydHkgd2lkZ2V0cyAoaW5jbHVkaW5nIEdvb2dsZSBNYXBzKVxuLy8gd2hpY2ggd2VyZW4ndCBleHBlY3RpbmcgdGhlIGltYWdlcyB3aXRoaW4gdGhlbXNlbHZlcyB0byBiZSBpbnZvbHVudGFyaWx5IHJlc2l6ZWQuXG4vLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE4MTc4XG4uaW1nLWZsdWlkIHtcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuLmltZy10aHVtYm5haWwge1xuICBwYWRkaW5nOiAkdGh1bWJuYWlsLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10aHVtYm5haWwtYmcsICR0aHVtYm5haWwtYmcpO1xuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyLXdpZHRoIHNvbGlkIHZhcigtLSN7JHByZWZpeH10aHVtYm5haWwtYm9yZGVyLWNvbG9yLCAkdGh1bWJuYWlsLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkdGh1bWJuYWlsLWJveC1zaGFkb3cpO1xuXG4gIC8vIEtlZXAgdGhlbSBhdCBtb3N0IDEwMCUgd2lkZVxuICBAaW5jbHVkZSBpbWctZmx1aWQoKTtcbn1cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbi5maWd1cmUge1xuICAvLyBFbnN1cmVzIHRoZSBjYXB0aW9uJ3MgdGV4dCBhbGlnbnMgd2l0aCB0aGUgaW1hZ2UuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmZpZ3VyZS1pbWcge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyICogLjU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uZmlndXJlLWNhcHRpb24ge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZmlndXJlLWNhcHRpb24tY29sb3IsICRmaWd1cmUtY2FwdGlvbi1jb2xvcik7XG59XG4iLCIvLyBJbWFnZSBNaXhpbnNcbi8vIC0gUmVzcG9uc2l2ZSBpbWFnZVxuLy8gLSBSZXRpbmEgaW1hZ2VcblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cblxuQG1peGluIGltZy1mbHVpZCB7XG4gIC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLy8gUGFydCAyOiBPdmVycmlkZSB0aGUgaGVpZ2h0IHRvIGF1dG8sIG90aGVyd2lzZSBpbWFnZXMgd2lsbCBiZSBzdHJldGNoZWRcbiAgLy8gd2hlbiBzZXR0aW5nIGEgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGUgb24gdGhlIGltZyBlbGVtZW50LlxuICBoZWlnaHQ6IGF1dG87XG59XG4iLCJAdXNlIFwibWl4aW5zL2JyZWFrcG9pbnRzXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvY29udGFpbmVyXCIgYXMgKjtcbkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xuXG4vLyBDb250YWluZXIgd2lkdGhzXG4vL1xuLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzLlxuXG5AaWYgJGVuYWJsZS1jb250YWluZXItY2xhc3NlcyB7XG4gIC8vIFNpbmdsZSBjb250YWluZXIgY2xhc3Mgd2l0aCBicmVha3BvaW50IG1heC13aWR0aHNcbiAgLmNvbnRhaW5lcixcbiAgLy8gMTAwJSB3aWRlIGNvbnRhaW5lciBhdCBhbGwgYnJlYWtwb2ludHNcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgY29udGFpbmVycyB0aGF0IGFyZSAxMDAlIHdpZGUgdW50aWwgYSBicmVha3BvaW50XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgIC5jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgQGV4dGVuZCAuY29udGFpbmVyLWZsdWlkO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgICAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgICAgfVxuXG4gICAgICAvLyBFeHRlbmQgZWFjaCBicmVha3BvaW50IHdoaWNoIGlzIHNtYWxsZXIgb3IgZXF1YWwgdG8gdGhlIGN1cnJlbnQgYnJlYWtwb2ludFxuICAgICAgJGV4dGVuZC1icmVha3BvaW50OiB0cnVlO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHdpZHRoIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAgICAgQGlmICgkZXh0ZW5kLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRuYW1lLCAkZ3JpZC1icmVha3BvaW50cyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIE9uY2UgdGhlIGN1cnJlbnQgYnJlYWtwb2ludCBpcyByZWFjaGVkLCBzdG9wIGV4dGVuZGluZ1xuICAgICAgICAgIEBpZiAoJGJyZWFrcG9pbnQgPT0gJG5hbWUpIHtcbiAgICAgICAgICAgICRleHRlbmQtYnJlYWtwb2ludDogZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwiLi4vdmFyaWFibGVzXCIgYXMgKjtcblxuLy8gQ29udGFpbmVyIG1peGluc1xuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoJGd1dHRlcjogJGNvbnRhaW5lci1wYWRkaW5nLXgpIHtcbiAgLS0jeyRwcmVmaXh9Z3V0dGVyLXg6ICN7JGd1dHRlcn07XG4gIC0tI3skcHJlZml4fWd1dHRlci15OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpICogLjUpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tI3skcHJlZml4fWd1dHRlci14KSAqIC41KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cbiIsIkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3ZhcmlhYmxlc1wiIGFzICo7XG5cbi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsIHh4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC5rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGxpc3QuaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQGlmIG5vdCAkbiB7XG4gICAgQGVycm9yIFwiYnJlYWtwb2ludCBgI3skbmFtZX1gIG5vdCBmb3VuZCBpbiBgI3skYnJlYWtwb2ludHN9YFwiO1xuICB9XG4gIEByZXR1cm4gaWYoJG4gPCBsaXN0Lmxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIGxpc3QubnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLmdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyByZWR1Y2VkIGJ5IDAuMDJweCB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2Zcbi8vIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgobWQsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBtYXAuZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtYXggYW5kICRtYXggPiAwLCAkbWF4IC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiAgYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6ICBicmVha3BvaW50LW1heCgkbmV4dCwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5leHQsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vXG4vLyBDb250YWluZXIgcXVlcnkgbWl4aW5zXG4vL1xuXG4vLyBDb250YWluZXIgcXVlcnkgZm9yIGFwcGx5aW5nIHN0eWxlcyB3aGVuIHRoZSBjb250YWluZXLigJlzIGlubGluZSBzaXplIGlzIGF0IGxlYXN0IHRoZSBicmVha3BvaW504oCZcyBtaW5pbXVtIHdpZHRoLlxuQG1peGluIGNvbnRhaW5lci1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRjcS1ncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQGNvbnRhaW5lciAobWluLXdpZHRoOiAjeyRtaW59KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIENvbnRhaW5lciBxdWVyeSBmb3IgYXBwbHlpbmcgc3R5bGVzIHdoZW4gdGhlIGNvbnRhaW5lcuKAmXMgaW5saW5lIHNpemUgaXMgYXQgbW9zdCB0aGUgYnJlYWtwb2ludOKAmXMgbWF4aW11bSB3aWR0aC5cbkBtaXhpbiBjb250YWluZXItYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRjcS1ncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQGNvbnRhaW5lciAobWF4LXdpZHRoOiAjeyRtYXh9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIENvbnRhaW5lciBxdWVyeSBmb3IgYXBwbHlpbmcgc3R5bGVzIGJldHdlZW4gdHdvIGJyZWFrcG9pbnRzLlxuQG1peGluIGNvbnRhaW5lci1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGNxLWdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAY29udGFpbmVyIChtaW4td2lkdGg6ICN7JG1pbn0pIGFuZCAobWF4LXdpZHRoOiAjeyRtYXh9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICAvLyBXaGVuIHRoZSB1cHBlciBicmVha3BvaW50IGlzIHRoZSBsYXN0IG9uZS5cbiAgICBAaW5jbHVkZSBjb250YWluZXItYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgLy8gV2hlbiB0aGUgbG93ZXIgYnJlYWtwb2ludCBpcyB0aGUgc21hbGxlc3QuXG4gICAgQGluY2x1ZGUgY29udGFpbmVyLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIENvbnRhaW5lciBxdWVyeSBmb3IgYXBwbHlpbmcgc3R5bGVzIG9ubHkgd2l0aGluIGEgc2luZ2xlIGJyZWFrcG9pbnQgcmFuZ2UuXG5AbWl4aW4gY29udGFpbmVyLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkY3EtZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5leHQsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAY29udGFpbmVyIChtaW4td2lkdGg6ICN7JG1pbn0pIGFuZCAobWF4LXdpZHRoOiAjeyRtYXh9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICAvLyBMYXN0IGJyZWFrcG9pbnQg4oCTIG5vIG1heGltdW0gcXVlcnkuXG4gICAgQGluY2x1ZGUgY29udGFpbmVyLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgLy8gRmlyc3QgYnJlYWtwb2ludCDigJMgbm8gbWluaW11bSBxdWVyeS5cbiAgICBAaW5jbHVkZSBjb250YWluZXItYnJlYWtwb2ludC1kb3duKCRuZXh0LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcIm1peGlucy9ncmlkXCIgYXMgKjtcbkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xuXG4kaW5jbHVkZS1jb2x1bW4tYm94LXNpemluZzogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFJvd1xuLy9cbi8vIFJvd3MgY29udGFpbiB5b3VyIGNvbHVtbnMuXG5cbjpyb290IHtcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgLS0jeyRwcmVmaXh9YnJlYWtwb2ludC0jeyRuYW1lfTogI3skdmFsdWV9O1xuICB9XG5cbiAgLS0jeyRwcmVmaXh9bW9iaWxlLWJyZWFrcG9pbnQ6ICN7JG1vYmlsZS1icmVha3BvaW50fTtcbn1cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgbWFrZS1yb3coKTtcblxuICAgID4gKiB7XG4gICAgICBAaW5jbHVkZSBtYWtlLWNvbC1yZWFkeSgkaW5jbHVkZS1jb2x1bW4tYm94LXNpemluZyk7XG4gICAgfVxuICB9XG59XG5cbkBpZiAkZW5hYmxlLWNzc2dyaWQge1xuICAuZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCh2YXIoLS0jeyRwcmVmaXh9cm93cywgMSksIDFmcik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tI3skcHJlZml4fWNvbHVtbnMsICN7JGdyaWQtY29sdW1uc30pLCAxZnIpO1xuICAgIGdhcDogdmFyKC0tI3skcHJlZml4fWdhcCwgI3skZ3JpZC1ndXR0ZXItd2lkdGh9KTtcblxuICAgIEBpbmNsdWRlIG1ha2UtY3NzZ3JpZCgpO1xuICB9XG59XG5cblxuLy8gQ29sdW1uc1xuLy9cbi8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkLWNvbHVtbnMoKTtcbn1cblxuQGlmICRlbmFibGUtY29udGFpbmVyLXF1ZXJpZXMge1xuICAuY3EtY29udGFpbmVyIHtcbiAgICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG4gIH1cblxuICAuY3Etcm93IHtcbiAgICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG4gICAgQGluY2x1ZGUgbWFrZS1yb3coKTtcblxuICAgID4gKiB7XG4gICAgICBAaW5jbHVkZSBtYWtlLWNvbC1yZWFkeSgkaW5jbHVkZS1jb2x1bW4tYm94LXNpemluZyk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWFrZS1jLWdyaWQtY29sdW1ucygpO1xufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwic2FzczptYXRoXCI7XG5AdXNlIFwic2FzczptZXRhXCI7XG5AdXNlIFwiYnJlYWtwb2ludHNcIiBhcyAqO1xuQHVzZSBcIi4uL2Z1bmN0aW9ucy9tYXRoXCIgYXMgKjtcbkB1c2UgXCIuLi9tYXBzXCIgYXMgKjtcbkB1c2UgXCIuLi92YXJpYWJsZXNcIiBhcyAqO1xuXG4vLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICAtLSN7JHByZWZpeH1ndXR0ZXIteDogI3skZ3V0dGVyfTtcbiAgLS0jeyRwcmVmaXh9Z3V0dGVyLXk6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgLy8gVE9ETzogUmV2aXNpdCBjYWxjIG9yZGVyIGFmdGVyIGh0dHBzOi8vZ2l0aHViLmNvbS9yZWFjdC1ib290c3RyYXAvcmVhY3QtYm9vdHN0cmFwL2lzc3Vlcy82MDM5IGlzIGZpeGVkXG4gIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXkpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tbGVmdDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3Rcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCRpbmNsdWRlLWNvbHVtbi1ib3gtc2l6aW5nOiBmYWxzZSkge1xuICAvLyBBZGQgYm94IHNpemluZyBpZiBvbmx5IHRoZSBncmlkIGlzIGxvYWRlZFxuICBib3gtc2l6aW5nOiBpZihtZXRhLnZhcmlhYmxlLWV4aXN0cyhpbmNsdWRlLWNvbHVtbi1ib3gtc2l6aW5nKSBhbmQgJGluY2x1ZGUtY29sdW1uLWJveC1zaXppbmcsIGJvcmRlci1ib3gsIG51bGwpO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBiZWNvbWluZyB0b28gbmFycm93IHdoZW4gYXQgc21hbGxlciBncmlkIHRpZXJzIGJ5XG4gIC8vIGFsd2F5cyBzZXR0aW5nIGB3aWR0aDogMTAwJTtgLiBUaGlzIHdvcmtzIGJlY2F1c2Ugd2Ugc2V0IHRoZSB3aWR0aFxuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBQcmV2ZW50IGAuY29sLWF1dG9gLCBgLmNvbGAgKCYgcmVzcG9uc2l2ZSB2YXJpYW50cykgZnJvbSBicmVha2luZyBvdXQgdGhlIGdyaWRcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpICogLjUpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tI3skcHJlZml4fWd1dHRlci14KSAqIC41KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLXRvcDogdmFyKC0tI3skcHJlZml4fWd1dHRlci15KTtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplOiBmYWxzZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgQGlmICRzaXplIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogbWF0aC5wZXJjZW50YWdlKGRpdmlkZSgkc2l6ZSwgJGNvbHVtbnMpKTtcblxuICB9IEBlbHNlIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIG1ha2UtY29sLWF1dG8oKSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogYXV0bztcbn1cblxuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgJG51bTogZGl2aWRlKCRzaXplLCAkY29sdW1ucyk7XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGlmKCRudW0gPT0gMCwgMCwgbWF0aC5wZXJjZW50YWdlKCRudW0pKTtcbn1cblxuLy8gUm93IGNvbHVtbnNcbi8vXG4vLyBTcGVjaWZ5IG9uIGEgcGFyZW50IGVsZW1lbnQoZS5nLiwgLnJvdykgdG8gZm9yY2UgaW1tZWRpYXRlIGNoaWxkcmVuIGludG8gTk5cbi8vIG51bWJlciBvZiBjb2x1bW5zLiBTdXBwb3J0cyB3cmFwcGluZyB0byBuZXcgbGluZXMsIGJ1dCBkb2VzIG5vdCBkbyBhIE1hc29ucnlcbi8vIHN0eWxlIGdyaWQuXG5AbWl4aW4gcm93LWNvbHMoJGNvdW50KSB7XG4gID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IG1hdGgucGVyY2VudGFnZShkaXZpZGUoMSwgJGNvdW50KSk7XG4gIH1cbn1cblxuLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLmtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xuICAgICAgLmNvbCN7JGluZml4fSB7XG4gICAgICAgIGZsZXg6IDEgMCAwO1xuICAgICAgfVxuXG4gICAgICAucm93LWNvbHMjeyRpbmZpeH0tYXV0byA+ICoge1xuICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1hdXRvKCk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZ3JpZC1yb3ctY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLXJvdy1jb2x1bW5zIHtcbiAgICAgICAgICAucm93LWNvbHMjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcm93LWNvbHMoJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1hdXRvKCk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sKCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlXG4gICAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAgIEBpZiBub3QgKCRpbmZpeCA9PSBcIlwiIGFuZCAkaSA9PSAwKSB7IC8vIEF2b2lkIGVtaXR0aW5nIHVzZWxlc3MgLm9mZnNldC0wXG4gICAgICAgICAgICAub2Zmc2V0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtb2Zmc2V0KCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEd1dHRlcnNcbiAgICAgIC8vXG4gICAgICAvLyBNYWtlIHVzZSBvZiBgLmctKmAsIGAuZ3gtKmAgb3IgYC5neS0qYCB1dGlsaXRpZXMgdG8gY2hhbmdlIHNwYWNpbmcgYmV0d2VlbiB0aGUgY29sdW1ucy5cbiAgICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkZ3V0dGVycyB7XG4gICAgICAgIC5nI3skaW5maXh9LSN7JGtleX0sXG4gICAgICAgIC5neCN7JGluZml4fS0jeyRrZXl9IHtcbiAgICAgICAgICAtLSN7JHByZWZpeH1ndXR0ZXIteDogI3skdmFsdWV9O1xuICAgICAgICB9XG5cbiAgICAgICAgLmcjeyRpbmZpeH0tI3ska2V5fSxcbiAgICAgICAgLmd5I3skaW5maXh9LSN7JGtleX0ge1xuICAgICAgICAgIC0tI3skcHJlZml4fWd1dHRlci15OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1ha2UtY3NzZ3JpZCgkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAua2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgICAuZy1jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IGF1dG8gLyBzcGFuICRpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFN0YXJ0IHdpdGggYDFgIGJlY2F1c2UgYDBgIGlzIGFuIGludmFsaWQgdmFsdWUuXG4gICAgICAgIC8vIEVuZHMgd2l0aCBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGUuXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAgIC5nLXN0YXJ0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAkaTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1ha2UtYy1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAua2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICBAaW5jbHVkZSBjb250YWluZXItYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY3EtY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xuICAgICAgLmNxLWNvbCN7JGluZml4fSB7XG4gICAgICAgIGZsZXg6IDEgMCAwO1xuICAgICAgfVxuXG4gICAgICAuY3Etcm93LWNvbHMjeyRpbmZpeH0tYXV0byA+ICoge1xuICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1hdXRvKCk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZ3JpZC1yb3ctY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLXJvdy1jb2x1bW5zIHtcbiAgICAgICAgICAuY3Etcm93LWNvbHMjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcm93LWNvbHMoJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY3EtY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1hdXRvKCk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgICAuY3EtY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sKCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlXG4gICAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAgIEBpZiBub3QgKCRpbmZpeCA9PSBcIlwiIGFuZCAkaSA9PSAwKSB7IC8vIEF2b2lkIGVtaXR0aW5nIHVzZWxlc3MgLm9mZnNldC0wXG4gICAgICAgICAgICAuY3Etb2Zmc2V0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtb2Zmc2V0KCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEd1dHRlcnNcbiAgICAgIC8vXG4gICAgICAvLyBNYWtlIHVzZSBvZiBgLmNxLWctKmAsIGAuY3EtZ3gtKmAgb3IgYC5jcS1neS0qYCB1dGlsaXRpZXMgdG8gY2hhbmdlIHNwYWNpbmcgYmV0d2VlbiB0aGUgY29sdW1ucy5cbiAgICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkZ3V0dGVycyB7XG4gICAgICAgIC5jcS1nI3skaW5maXh9LSN7JGtleX0sXG4gICAgICAgIC5jcS1neCN7JGluZml4fS0jeyRrZXl9IHtcbiAgICAgICAgICAtLSN7JHByZWZpeH1ndXR0ZXIteDogI3skdmFsdWV9O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNxLWcjeyRpbmZpeH0tI3ska2V5fSxcbiAgICAgICAgLmNxLWd5I3skaW5maXh9LSN7JGtleX0ge1xuICAgICAgICAgIC0tI3skcHJlZml4fWd1dHRlci15OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIm1peGlucy9icmVha3BvaW50c1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL3RhYmxlLXZhcmlhbnRzXCIgYXMgKjtcbkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xuXG4vL1xuLy8gQmFzaWMgQm9vdHN0cmFwIHRhYmxlXG4vL1xuXG4udGFibGUge1xuICAvLyBSZXNldCBuZWVkZWQgZm9yIG5lc3RpbmcgdGFibGVzXG4gIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yLXR5cGU6IGluaXRpYWw7XG4gIC0tI3skcHJlZml4fXRhYmxlLWJnLXR5cGU6IGluaXRpYWw7XG4gIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yLXN0YXRlOiBpbml0aWFsO1xuICAtLSN7JHByZWZpeH10YWJsZS1iZy1zdGF0ZTogaW5pdGlhbDtcbiAgLy8gRW5kIG9mIHJlc2V0XG4gIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yOiAjeyR0YWJsZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRhYmxlLWJnOiAjeyR0YWJsZS1iZ307XG4gIC0tI3skcHJlZml4fXRhYmxlLWJvcmRlci1jb2xvcjogI3skdGFibGUtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYWNjZW50LWJnOiAjeyR0YWJsZS1hY2NlbnQtYmd9O1xuICAtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWNvbG9yOiAjeyR0YWJsZS1zdHJpcGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1iZzogI3skdGFibGUtc3RyaXBlZC1iZ307XG4gIC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1jb2xvcjogI3skdGFibGUtYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWJnOiAjeyR0YWJsZS1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1jb2xvcjogI3skdGFibGUtaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1iZzogI3skdGFibGUtaG92ZXItYmd9O1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICB2ZXJ0aWNhbC1hbGlnbjogJHRhYmxlLWNlbGwtdmVydGljYWwtYWxpZ247XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLWJvcmRlci1jb2xvcik7XG5cbiAgLy8gVGFyZ2V0IHRoICYgdGRcbiAgLy8gV2UgbmVlZCB0aGUgY2hpbGQgY29tYmluYXRvciB0byBwcmV2ZW50IHN0eWxlcyBsZWFraW5nIHRvIG5lc3RlZCB0YWJsZXMgd2hpY2ggZG9lc24ndCBoYXZlIGEgYC50YWJsZWAgY2xhc3MuXG4gIC8vIFdlIHVzZSB0aGUgdW5pdmVyc2FsIHNlbGVjdG9ycyBoZXJlIHRvIHNpbXBsaWZ5IHRoZSBzZWxlY3RvciAoZWxzZSB3ZSB3b3VsZCBuZWVkIDYgZGlmZmVyZW50IHNlbGVjdG9ycykuXG4gIC8vIEFub3RoZXIgYWR2YW50YWdlIGlzIHRoYXQgdGhpcyBnZW5lcmF0ZXMgbGVzcyBjb2RlIGFuZCBtYWtlcyB0aGUgc2VsZWN0b3IgbGVzcyBzcGVjaWZpYyBtYWtpbmcgaXQgZWFzaWVyIHRvIG92ZXJyaWRlLlxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXVuaXZlcnNhbFxuICA+IDpub3QoY2FwdGlvbikgPiAqID4gKiB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy15ICR0YWJsZS1jZWxsLXBhZGRpbmcteDtcbiAgICAvLyBGb2xsb3dpbmcgdGhlIHByZWNlcHQgb2YgY2FzY2FkZXM6IGh0dHBzOi8vY29kZXBlbi5pby9taXJpYW1zdXphbm5lL2Z1bGwvdllOZ29kYlxuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtY29sb3Itc3RhdGUsIHZhcigtLSN7JHByZWZpeH10YWJsZS1jb2xvci10eXBlLCB2YXIoLS0jeyRwcmVmaXh9dGFibGUtY29sb3IpKSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLWJnKTtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAkdGFibGUtYm9yZGVyLXdpZHRoO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDk5OTlweCB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYmctc3RhdGUsIHZhcigtLSN7JHByZWZpeH10YWJsZS1iZy10eXBlLCB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYWNjZW50LWJnKSkpO1xuICB9XG5cbiAgPiB0Ym9keSB7XG4gICAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG4gIH1cblxuICA+IHRoZWFkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICB9XG59XG5cbi50YWJsZS1ncm91cC1kaXZpZGVyIHtcbiAgYm9yZGVyLXRvcDogY2FsYygjeyR0YWJsZS1ib3JkZXItd2lkdGh9ICogMikgc29saWQgJHRhYmxlLWdyb3VwLXNlcGFyYXRvci1jb2xvcjsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3Rcbn1cblxuLy9cbi8vIENoYW5nZSBwbGFjZW1lbnQgb2YgY2FwdGlvbnMgd2l0aCBhIGNsYXNzXG4vL1xuXG4uY2FwdGlvbi10b3Age1xuICBjYXB0aW9uLXNpZGU6IHRvcDtcbn1cblxuXG4vL1xuLy8gQ29uZGVuc2VkIHRhYmxlIHcvIGhhbGYgcGFkZGluZ1xuLy9cblxuLnRhYmxlLXNtIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC11bml2ZXJzYWxcbiAgPiA6bm90KGNhcHRpb24pID4gKiA+ICoge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmcteS1zbSAkdGFibGUtY2VsbC1wYWRkaW5nLXgtc207XG4gIH1cbn1cblxuXG4vLyBCb3JkZXIgdmVyc2lvbnNcbi8vXG4vLyBBZGQgb3IgcmVtb3ZlIGJvcmRlcnMgYWxsIGFyb3VuZCB0aGUgdGFibGUgYW5kIGJldHdlZW4gYWxsIHRoZSBjb2x1bW5zLlxuLy9cbi8vIFdoZW4gYm9yZGVycyBhcmUgYWRkZWQgb24gYWxsIHNpZGVzIG9mIHRoZSBjZWxscywgdGhlIGNvcm5lcnMgY2FuIHJlbmRlciBvZGQgd2hlblxuLy8gdGhlc2UgYm9yZGVycyBkbyBub3QgaGF2ZSB0aGUgc2FtZSBjb2xvciBvciBpZiB0aGV5IGFyZSBzZW1pLXRyYW5zcGFyZW50LlxuLy8gVGhlcmVmb3JlIHdlIGFkZCB0b3AgYW5kIGJvcmRlciBib3R0b21zIHRvIHRoZSBgdHJgcyBhbmQgbGVmdCBhbmQgcmlnaHQgYm9yZGVyc1xuLy8gdG8gdGhlIGB0ZGBzIG9yIGB0aGBzXG5cbi50YWJsZS1ib3JkZXJlZCB7XG4gID4gOm5vdChjYXB0aW9uKSA+ICoge1xuICAgIGJvcmRlci13aWR0aDogJHRhYmxlLWJvcmRlci13aWR0aCAwO1xuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC11bml2ZXJzYWxcbiAgICA+ICoge1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICR0YWJsZS1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1ib3JkZXJsZXNzIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC11bml2ZXJzYWxcbiAgPiA6bm90KGNhcHRpb24pID4gKiA+ICoge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIH1cblxuICA+IDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgfVxufVxuXG4vLyBaZWJyYS1zdHJpcGluZ1xuLy9cbi8vIERlZmF1bHQgemVicmEtc3RyaXBlIHN0eWxlcyAoYWx0ZXJuYXRpbmcgZ3JheSBhbmQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMpXG5cbi8vIEZvciByb3dzXG4udGFibGUtc3RyaXBlZCB7XG4gID4gdGJvZHkgPiB0cjpudGgtb2YtdHlwZSgjeyR0YWJsZS1zdHJpcGVkLW9yZGVyfSkgPiAqIHtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1jb2xvci10eXBlOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1jb2xvcik7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYmctdHlwZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtYmcpO1xuICB9XG59XG5cbi8vIEZvciBjb2x1bW5zXG4udGFibGUtc3RyaXBlZC1jb2x1bW5zIHtcbiAgPiA6bm90KGNhcHRpb24pID4gdHIgPiA6bnRoLWNoaWxkKCN7JHRhYmxlLXN0cmlwZWQtY29sdW1ucy1vcmRlcn0pIHtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1jb2xvci10eXBlOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1jb2xvcik7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYmctdHlwZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtYmcpO1xuICB9XG59XG5cbi8vIEFjdGl2ZSB0YWJsZVxuLy9cbi8vIFRoZSBgLnRhYmxlLWFjdGl2ZWAgY2xhc3MgY2FuIGJlIGFkZGVkIHRvIGhpZ2hsaWdodCByb3dzIG9yIGNlbGxzXG5cbi50YWJsZS1hY3RpdmUge1xuICAtLSN7JHByZWZpeH10YWJsZS1jb2xvci1zdGF0ZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1jb2xvcik7XG4gIC0tI3skcHJlZml4fXRhYmxlLWJnLXN0YXRlOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWJnKTtcbn1cblxuLy8gSG92ZXIgZWZmZWN0XG4vL1xuLy8gUGxhY2VkIGhlcmUgc2luY2UgaXQgaGFzIHRvIGNvbWUgYWZ0ZXIgdGhlIHBvdGVudGlhbCB6ZWJyYSBzdHJpcGluZ1xuXG4udGFibGUtaG92ZXIge1xuICA+IHRib2R5ID4gdHI6aG92ZXIgPiAqIHtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1jb2xvci1zdGF0ZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWNvbG9yKTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1iZy1zdGF0ZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWJnKTtcbiAgfVxufVxuXG5cbi8vIFRhYmxlIHZhcmlhbnRzXG4vL1xuLy8gVGFibGUgdmFyaWFudHMgc2V0IHRoZSB0YWJsZSBjZWxsIGJhY2tncm91bmRzLCBib3JkZXIgY29sb3JzXG4vLyBhbmQgdGhlIGNvbG9ycyBvZiB0aGUgc3RyaXBlZCwgaG92ZXJlZCAmIGFjdGl2ZSB0YWJsZXNcblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRhYmxlLXZhcmlhbnRzIHtcbiAgQGluY2x1ZGUgdGFibGUtdmFyaWFudCgkY29sb3IsICR2YWx1ZSk7XG59XG5cbi8vIFJlc3BvbnNpdmUgdGFibGVzXG4vL1xuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAudGFibGUtcmVzcG9uc2l2ZS0qYCBjbGFzc2VzIGZvciBjb25maWd1cmluZyB0aGUgc2NyZWVuXG4vLyBzaXplIG9mIHdoZXJlIHlvdXIgdGFibGUgd2lsbCBvdmVyZmxvdy5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLmtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgLnRhYmxlLXJlc3BvbnNpdmUjeyRpbmZpeH0ge1xuICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOmNvbG9yXCI7XG5AdXNlIFwic2FzczptYXRoXCI7XG5AdXNlIFwiLi4vZnVuY3Rpb25zL2NvbG9yLWNvbnRyYXN0XCIgYXMgKjtcbkB1c2UgXCIuLi9mdW5jdGlvbnMvY29udHJhc3QtcmF0aW9cIiBhcyAqO1xuQHVzZSBcIi4uL3ZhcmlhYmxlc1wiIGFzICo7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0YWJsZS12YXJpYW50XG5AbWl4aW4gdGFibGUtdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kKSB7XG4gIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICRjb2xvcjogY29sb3ItY29udHJhc3Qob3BhcXVlKCRib2R5LWJnLCAkYmFja2dyb3VuZCkpO1xuICAgICRob3Zlci1iZzogY29sb3IubWl4KCRjb2xvciwgJGJhY2tncm91bmQsIG1hdGgucGVyY2VudGFnZSgkdGFibGUtaG92ZXItYmctZmFjdG9yKSk7XG4gICAgJHN0cmlwZWQtYmc6IGNvbG9yLm1peCgkY29sb3IsICRiYWNrZ3JvdW5kLCBtYXRoLnBlcmNlbnRhZ2UoJHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yKSk7XG4gICAgJGFjdGl2ZS1iZzogY29sb3IubWl4KCRjb2xvciwgJGJhY2tncm91bmQsIG1hdGgucGVyY2VudGFnZSgkdGFibGUtYWN0aXZlLWJnLWZhY3RvcikpO1xuICAgICR0YWJsZS1ib3JkZXItY29sb3I6IGNvbG9yLm1peCgkY29sb3IsICRiYWNrZ3JvdW5kLCBtYXRoLnBlcmNlbnRhZ2UoJHRhYmxlLWJvcmRlci1mYWN0b3IpKTtcblxuICAgIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yOiAjeyRjb2xvcn07XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYmc6ICN7JGJhY2tncm91bmR9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWJvcmRlci1jb2xvcjogI3skdGFibGUtYm9yZGVyLWNvbG9yfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWJnOiAjeyRzdHJpcGVkLWJnfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWNvbG9yOiAje2NvbG9yLWNvbnRyYXN0KCRzdHJpcGVkLWJnKX07XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWJnOiAjeyRhY3RpdmUtYmd9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1jb2xvcjogI3tjb2xvci1jb250cmFzdCgkYWN0aXZlLWJnKX07XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtaG92ZXItYmc6ICN7JGhvdmVyLWJnfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1jb2xvcjogI3tjb2xvci1jb250cmFzdCgkaG92ZXItYmcpfTtcblxuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtY29sb3IpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLWJvcmRlci1jb2xvcik7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgdGFibGUtdmFyaWFudFxuIiwiQHVzZSBcIi4uL2Z1bmN0aW9ucy9tYXRoXCIgYXMgKjtcbkB1c2UgXCIuLi92ZW5kb3IvcmZzXCIgYXMgKjtcbkB1c2UgXCIuLi92YXJpYWJsZXNcIiBhcyAqO1xuXG4vL1xuLy8gTGFiZWxzXG4vL1xuXG4uZm9ybS1sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWxhYmVsLW1hcmdpbi1ib3R0b207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1sYWJlbC1mb250LXNpemUpO1xuICBmb250LXN0eWxlOiAkZm9ybS1sYWJlbC1mb250LXN0eWxlO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuLy8gRm9yIHVzZSB3aXRoIGhvcml6b250YWwgYW5kIGlubGluZSBmb3Jtcywgd2hlbiB5b3UgbmVlZCB0aGUgbGFiZWwgKG9yIGxlZ2VuZClcbi8vIHRleHQgdG8gYWxpZ24gd2l0aCB0aGUgZm9ybSBjb250cm9scy5cbi5jb2wtZm9ybS1sYWJlbCB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBgPGxlZ2VuZD5gIGRlZmF1bHRcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpOyAvLyBPdmVycmlkZSB0aGUgYDxsZWdlbmQ+YCBkZWZhdWx0XG4gIGZvbnQtc3R5bGU6ICRmb3JtLWxhYmVsLWZvbnQtc3R5bGU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG4uY29sLWZvcm0tbGFiZWwtbGcge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1zbSB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbn1cbiIsIkB1c2UgXCIuLi92ZW5kb3IvcmZzXCIgYXMgKjtcbkB1c2UgXCIuLi92YXJpYWJsZXNcIiBhcyAqO1xuXG4vL1xuLy8gRm9ybSB0ZXh0XG4vL1xuXG4uZm9ybS10ZXh0IHtcbiAgbWFyZ2luLXRvcDogJGZvcm0tdGV4dC1tYXJnaW4tdG9wO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tdGV4dC1mb250LXNpemUpO1xuICBmb250LXN0eWxlOiAkZm9ybS10ZXh0LWZvbnQtc3R5bGU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS10ZXh0LWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGZvcm0tdGV4dC1jb2xvcjtcbn1cbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCIuLi9taXhpbnMvYm9yZGVyLXJhZGl1c1wiIGFzICo7XG5AdXNlIFwiLi4vbWl4aW5zL2JveC1zaGFkb3dcIiBhcyAqO1xuQHVzZSBcIi4uL21peGlucy9ncmFkaWVudHNcIiBhcyAqO1xuQHVzZSBcIi4uL21peGlucy90cmFuc2l0aW9uXCIgYXMgKjtcbkB1c2UgXCIuLi92ZW5kb3IvcmZzXCIgYXMgKjtcbkB1c2UgXCIuLi92YXJpYWJsZXNcIiBhcyAqO1xuXG4vL1xuLy8gR2VuZXJhbCBmb3JtIGNvbnRyb2xzIChwbHVzIGEgZmV3IHNwZWNpZmljIGhpZ2gtbGV2ZWwgaW50ZXJ2ZW50aW9ucylcbi8vXG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBhcHBlYXJhbmNlOiBub25lOyAvLyBGaXggYXBwZWFyYW5jZSBmb3IgZGF0ZSBpbnB1dHMgaW4gU2FmYXJpXG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG5cbiAgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLCAwKTtcblxuICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkaW5wdXQtdHJhbnNpdGlvbik7XG5cbiAgJlt0eXBlPVwiZmlsZVwiXSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gcHJldmVudCBwc2V1ZG8gZWxlbWVudCBidXR0b24gb3ZlcmxhcFxuXG4gICAgJjpub3QoOmRpc2FibGVkKTpub3QoW3JlYWRvbmx5XSkge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIEN1c3RvbWl6ZSB0aGUgYDpmb2N1c2Agc3RhdGUgdG8gaW1pdGF0ZSBuYXRpdmUgV2ViS2l0IHN0eWxlcy5cbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRpbnB1dC1mb2N1cy1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZm9jdXMtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93LCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAmOjotd2Via2l0LWRhdGUtYW5kLXRpbWUtdmFsdWUge1xuICAgIC8vIE9uIEFuZHJvaWQgQ2hyb21lLCBmb3JtLWNvbnRyb2wncyBcIndpZHRoOiAxMDAlXCIgbWFrZXMgdGhlIGlucHV0IHdpZHRoIHRvbyBzbWFsbFxuICAgIC8vIFRlc3RlZCB1bmRlciBBbmRyb2lkIDExIC8gQ2hyb21lIDg5LCBBbmRyb2lkIDEyIC8gQ2hyb21lIDEwMCwgQW5kcm9pZCAxMyAvIENocm9tZSAxMDlcbiAgICAvL1xuICAgIC8vIE9uIGlPUyBTYWZhcmksIGZvcm0tY29udHJvbCdzIFwiYXBwZWFyYW5jZTogbm9uZVwiICsgXCJ3aWR0aDogMTAwJVwiIG1ha2VzIHRoZSBpbnB1dCB3aWR0aCB0b28gc21hbGxcbiAgICAvLyBUZXN0ZWQgdW5kZXIgaU9TIDE2LjIgLyBTYWZhcmkgMTYuMlxuICAgIG1pbi13aWR0aDogODVweDsgLy8gU2VlbXMgdG8gYmUgYSBnb29kIG1pbmltdW0gc2FmZSB3aWR0aFxuXG4gICAgLy8gQWRkIHNvbWUgaGVpZ2h0IHRvIGRhdGUgaW5wdXRzIG9uIGlPU1xuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjMzMDdcbiAgICAvLyBUT0RPOiB3ZSBjYW4gcmVtb3ZlIHRoaXMgd29ya2Fyb3VuZCBvbmNlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg5NTkgaXMgcmVzb2x2ZWRcbiAgICAvLyBNdWx0aXBseSBsaW5lLWhlaWdodCBieSAxZW0gaWYgaXQgaGFzIG5vIHVuaXRcbiAgICBoZWlnaHQ6IGlmKG1hdGgudW5pdCgkaW5wdXQtbGluZS1oZWlnaHQpID09IFwiXCIsICRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgJGlucHV0LWxpbmUtaGVpZ2h0KTtcblxuICAgIC8vIEFuZHJvaWQgQ2hyb21lIHR5cGU9XCJkYXRlXCIgaXMgdGFsbGVyIHRoYW4gdGhlIG90aGVyIGlucHV0c1xuICAgIC8vIGJlY2F1c2Ugb2YgXCJtYXJnaW46IDFweCAyNHB4IDFweCA0cHhcIiBpbnNpZGUgdGhlIHNoYWRvdyBET01cbiAgICAvLyBUZXN0ZWQgdW5kZXIgQW5kcm9pZCAxMSAvIENocm9tZSA4OSwgQW5kcm9pZCAxMiAvIENocm9tZSAxMDAsIEFuZHJvaWQgMTMgLyBDaHJvbWUgMTA5XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gUHJldmVudCBleGNlc3NpdmUgZGF0ZSBpbnB1dCBoZWlnaHQgaW4gV2Via2l0XG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMzQ0MzNcbiAgJjo6LXdlYmtpdC1kYXRldGltZS1lZGl0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGxhY2Vob2xkZXJcbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aW5wdXQtcGxhY2Vob2xkZXItY29sb3IsICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcik7XG4gICAgLy8gT3ZlcnJpZGUgRmlyZWZveCdzIHVudXN1YWwgZGVmYXVsdCBvcGFjaXR5OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTE1MjYuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJvcmRlci1jb2xvcjtcbiAgICAvLyBpT1MgZml4IGZvciB1bnJlYWRhYmxlIGRpc2FibGVkIGNvbnRlbnQ7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjU1LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBGaWxlIGlucHV0IGJ1dHRvbnMgdGhlbWluZ1xuICAmOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICAgIG1hcmdpbjogKC0kaW5wdXQtcGFkZGluZy15KSAoLSRpbnB1dC1wYWRkaW5nLXgpO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAkaW5wdXQtcGFkZGluZy14O1xuICAgIGNvbG9yOiAkZm9ybS1maWxlLWJ1dHRvbi1jb2xvcjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZm9ybS1maWxlLWJ1dHRvbi1iZyk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIGJvcmRlci1pbmxpbmUtZW5kLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYnRuLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKTpub3QoW3JlYWRvbmx5XSk6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1maWxlLWJ1dHRvbi1ob3Zlci1iZztcbiAgfVxufVxuXG4vLyBSZWFkb25seSBjb250cm9scyBhcyBwbGFpbiB0ZXh0XG4vL1xuLy8gQXBwbHkgY2xhc3MgdG8gYSByZWFkb25seSBpbnB1dCB0byBtYWtlIGl0IGFwcGVhciBsaWtlIHJlZ3VsYXIgcGxhaW5cbi8vIHRleHQgKHdpdGhvdXQgYW55IGJvcmRlciwgYmFja2dyb3VuZCBjb2xvciwgZm9jdXMgaW5kaWNhdG9yKVxuXG4uZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBtYXRjaCBpbnB1dHMgaWYgdGhpcyBjbGFzcyBjb21lcyBvbiBpbnB1dHMgd2l0aCBkZWZhdWx0IG1hcmdpbnNcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1wbGFpbnRleHQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggMDtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJi5mb3JtLWNvbnRyb2wtc20sXG4gICYuZm9ybS1jb250cm9sLWxnIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gQnVpbGQgb24gYC5mb3JtLWNvbnRyb2xgIHdpdGggbW9kaWZpZXIgY2xhc3NlcyB0byBkZWNyZWFzZSBvciBpbmNyZWFzZSB0aGVcbi8vIGhlaWdodCBhbmQgZm9udC1zaXplIG9mIGZvcm0gY29udHJvbHMuXG4vL1xuLy8gUmVwZWF0ZWQgaW4gYF9pbnB1dF9ncm91cC5zY3NzYCB0byBhdm9pZCBTYXNzIGV4dGVuZCBpc3N1ZXMuXG5cbi5mb3JtLWNvbnRyb2wtc20ge1xuICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG5cbiAgJjo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgICBtYXJnaW46ICgtJGlucHV0LXBhZGRpbmcteS1zbSkgKC0kaW5wdXQtcGFkZGluZy14LXNtKTtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgfVxufVxuXG4uZm9ybS1jb250cm9sLWxnIHtcbiAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xuXG4gICY6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gICAgbWFyZ2luOiAoLSRpbnB1dC1wYWRkaW5nLXktbGcpICgtJGlucHV0LXBhZGRpbmcteC1sZyk7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6ICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIH1cbn1cblxuLy8gTWFrZSBzdXJlIHRleHRhcmVhcyBkb24ndCBzaHJpbmsgdG9vIG11Y2ggd2hlbiByZXNpemVkXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yOTEyNFxuLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG50ZXh0YXJlYSB7XG4gICYuZm9ybS1jb250cm9sIHtcbiAgICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICB9XG5cbiAgJi5mb3JtLWNvbnRyb2wtc20ge1xuICAgIG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG4gIH1cblxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbiAgfVxufVxuLy8gc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLmZvcm0tY29udHJvbC1jb2xvciB7XG4gIHdpZHRoOiAkZm9ybS1jb2xvci13aWR0aDtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15O1xuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KFtyZWFkb25seV0pIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOjotbW96LWNvbG9yLXN3YXRjaCB7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOjotd2Via2l0LWNvbG9yLXN3YXRjaCB7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmLmZvcm0tY29udHJvbC1zbSB7IGhlaWdodDogJGlucHV0LWhlaWdodC1zbTsgfVxuICAmLmZvcm0tY29udHJvbC1sZyB7IGhlaWdodDogJGlucHV0LWhlaWdodC1sZzsgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG5AdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwiLi4vdmFyaWFibGVzXCIgYXMgKjtcblxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmIGxpc3QubGVuZ3RoKCR0cmFuc2l0aW9uKSA9PSAwIHtcbiAgICAkdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgfVxuXG4gIEBpZiBsaXN0Lmxlbmd0aCgkdHJhbnNpdGlvbikgPiAxIHtcbiAgICBAZWFjaCAkdmFsdWUgaW4gJHRyYW5zaXRpb24ge1xuICAgICAgQGlmICR2YWx1ZSA9PSBudWxsIG9yICR2YWx1ZSA9PSBub25lIHtcbiAgICAgICAgQHdhcm4gXCJUaGUga2V5d29yZCAnbm9uZScgb3IgJ251bGwnIG11c3QgYmUgdXNlZCBhcyBhIHNpbmdsZSBhcmd1bWVudC5cIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgQGlmIGxpc3QubnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cblxuICAgIEBpZiAkZW5hYmxlLXJlZHVjZWQtbW90aW9uIGFuZCBsaXN0Lm50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCBhbmQgbGlzdC5udGgoJHRyYW5zaXRpb24sIDEpICE9IG5vbmUge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCIuLi92YXJpYWJsZXNcIiBhcyAqO1xuXG4vLyBHcmFkaWVudHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyYWRpZW50LWJnLW1peGluXG5AbWl4aW4gZ3JhZGllbnQtYmcoJGNvbG9yOiBudWxsKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblxuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgZ3JhZGllbnQtYmctbWl4aW5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyYWRpZW50LW1peGluc1xuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC14KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IG51bGwsICRlbmQtcGVyY2VudDogbnVsbCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG59XG5cbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogJGdyYXktNzAwLCAkb3V0ZXItY29sb3I6ICRncmF5LTgwMCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG59XG5cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBncmFkaWVudC1taXhpbnNcbiIsIkB1c2UgXCIuLi9mdW5jdGlvbnMvZXNjYXBlLXN2Z1wiIGFzICo7XG5AdXNlIFwiLi4vbWl4aW5zL2JvcmRlci1yYWRpdXNcIiBhcyAqO1xuQHVzZSBcIi4uL21peGlucy9ib3gtc2hhZG93XCIgYXMgKjtcbkB1c2UgXCIuLi9taXhpbnMvY29sb3ItbW9kZVwiIGFzICo7XG5AdXNlIFwiLi4vbWl4aW5zL2x0ci1ydGxcIiBhcyAqO1xuQHVzZSBcIi4uL21peGlucy90cmFuc2l0aW9uXCIgYXMgKjtcbkB1c2UgXCIuLi92ZW5kb3IvcmZzXCIgYXMgKjtcbkB1c2UgXCIuLi92YXJpYWJsZXNcIiBhcyAqO1xuQHVzZSBcIi4uL3ZhcmlhYmxlcy1kYXJrXCIgYXMgKjtcblxuLy8gU2VsZWN0XG4vL1xuLy8gUmVwbGFjZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCBzZWxlY3Qgd2l0aCBhIGN1c3RvbSBvbmUsIG1vc3RseSBwdWxsZWQgZnJvbVxuLy8gaHR0cHM6Ly9wcmltZXIuZ2l0aHViLmlvLy5cblxuLmZvcm0tc2VsZWN0IHtcbiAgLS0jeyRwcmVmaXh9Zm9ybS1zZWxlY3QtYmctaW1nOiAje2VzY2FwZS1zdmcoJGZvcm0tc2VsZWN0LWluZGljYXRvcil9O1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXg7XG4gIHBhZGRpbmctaW5saW5lLWVuZDogJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xuICBwYWRkaW5nLXRvcDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXk7XG4gIGZvbnQtZmFtaWx5OiAkZm9ybS1zZWxlY3QtZm9udC1mYW1pbHk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1zZWxlY3QtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLXNlbGVjdC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLXNlbGVjdC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLXNlbGVjdC1jb2xvcjtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tc2VsZWN0LWJnO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1zZWxlY3QtYmctaW1nKSwgdmFyKC0tI3skcHJlZml4fWZvcm0tc2VsZWN0LWJnLWljb24sIG5vbmUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBAaW5jbHVkZSBsdHItcnRsLXZhbHVlLW9ubHkoXCJiYWNrZ3JvdW5kLXBvc2l0aW9uXCIsICRmb3JtLXNlbGVjdC1iZy1wb3NpdGlvbik7XG4gIGJhY2tncm91bmQtc2l6ZTogJGZvcm0tc2VsZWN0LWJnLXNpemU7XG4gIGJvcmRlcjogJGZvcm0tc2VsZWN0LWJvcmRlci13aWR0aCBzb2xpZCAkZm9ybS1zZWxlY3QtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLCAwKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1zZWxlY3QtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGZvcm0tc2VsZWN0LXRyYW5zaXRpb24pO1xuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1zZWxlY3QtYm94LXNoYWRvdywgJGZvcm0tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgYm94LXNoYWRvdzogJGZvcm0tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgJlttdWx0aXBsZV0sXG4gICZbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICAgIHBhZGRpbmctaW5saW5lLWVuZDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRmb3JtLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1zZWxlY3QtZGlzYWJsZWQtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1zZWxlY3QtZGlzYWJsZWQtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gUmVtb3ZlIG91dGxpbmUgZnJvbSBzZWxlY3QgYm94IGluIEZGXG4gICY6LW1vei1mb2N1c3Jpbmcge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDAgJGZvcm0tc2VsZWN0LWNvbG9yO1xuICB9XG59XG5cbi5mb3JtLXNlbGVjdC1zbSB7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy14LXNtO1xuICBwYWRkaW5nLXRvcDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1zbTtcbiAgcGFkZGluZy1ib3R0b206ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1zZWxlY3QtZm9udC1zaXplLXNtKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5mb3JtLXNlbGVjdC1sZyB7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy14LWxnO1xuICBwYWRkaW5nLXRvcDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1ib3R0b206ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXktbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1zZWxlY3QtZm9udC1zaXplLWxnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaykge1xuICAgIC5mb3JtLXNlbGVjdCB7XG4gICAgICAtLSN7JHByZWZpeH1mb3JtLXNlbGVjdC1iZy1pbWc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLWRhcmspfTtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOnN0cmluZ1wiO1xuQHVzZSBcIi4uL2Z1bmN0aW9ucy9zdHItcmVwbGFjZVwiIGFzICo7XG5AdXNlIFwiLi4vdmFyaWFibGVzXCIgYXMgKjtcblxuLy8gQXBwbGllcyBzdHlsZXMgb25seSB3aGVuIExUUiBpcyBlbmFibGVkIGFuZCB0aGUgSFRNTCBkb2VzIE5PVCBoYXZlIHRoZSBcInJ0bFwiXG4vLyBhdHRyaWJ1dGUgKGkuZS4sIGxlZnQtdG8tcmlnaHQgY29udGV4dHMpLlxuXG5AbWl4aW4gbHRyIHtcbiAgQGlmICRlbmFibGUtbHRyIHtcbiAgICBodG1sOm5vdChbZGlyPVwicnRsXCJdKSAmIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBBcHBsaWVzIHN0eWxlcyBvbmx5IHdoZW4gUlRMIGlzIGVuYWJsZWQgYW5kIHRoZSBlbGVtZW50IGlzIHdpdGhpbiBhbiBSVExcbi8vIGNvbnRleHQgKGkuZS4sIHRoZSBlbGVtZW50IGlzIGEgZGVzY2VuZGFudCBvZiBhbiBlbGVtZW50IHdpdGggZGlyPVwicnRsXCIpLlxuXG5AbWl4aW4gcnRsIHtcbiAgQGlmICRlbmFibGUtcnRsIHtcbiAgICAqW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBUaGlzIGZ1bmN0aW9uIHRha2VzIGFuIGVsZW1lbnQgKG9yIHN0cmluZykgYW5kIHJldHVybnMgaXRzIFwibWlycm9yZWRcIiB2ZXJzaW9uLlxuLy8gRm9yIGV4YW1wbGUsIGl0IHdpbGwgcmVwbGFjZSBcImxlZnRcIiB3aXRoIFwicmlnaHRcIiBhbmQgdmljZSB2ZXJzYS5cblxuQGZ1bmN0aW9uIHJlZmxlY3QoJGVsZW1lbnQpIHtcbiAgJHN0cmluZzogI3skZWxlbWVudH07XG4gIEBpZiBzdHJpbmcuaW5kZXgoJHN0cmluZywgXCJsZWZ0XCIpIHtcbiAgICBAcmV0dXJuIHN0ci1yZXBsYWNlKCRzdHJpbmcsIFwibGVmdFwiLCBcInJpZ2h0XCIpO1xuICB9XG4gIEBpZiBzdHJpbmcuaW5kZXgoJHN0cmluZywgXCJyaWdodFwiKSB7XG4gICAgQHJldHVybiBzdHItcmVwbGFjZSgkc3RyaW5nLCBcInJpZ2h0XCIsIFwibGVmdFwiKTtcbiAgfVxuXG4gIEByZXR1cm4gc3RyaW5nLnVucXVvdGUoJHN0cmluZyk7XG59XG5cbi8vIEdlbmVyYXRlcyBDU1MgZm9yIGEgZ2l2ZW4gcHJvcGVydHkgd2l0aCBkaWZmZXJlbnQgdmFsdWVzIGZvciBMVFIgYW5kIFJUTFxuLy8gY29udGV4dHMuIEFsbG93cyBhbiBvcHRpb25hbCBjdXN0b20gcHJvcGVydHkgbmFtZSBhbmQgdmFsdWUgZm9yIFJUTC5cbi8vXG4vLyBAcGFyYW0ge1N0cmluZ30gJHByb3BlcnR5IC0gVGhlIENTUyBwcm9wZXJ0eSBmb3IgTFRSIGNvbnRleHQgKGUuZy4sIG1hcmdpbi1sZWZ0KS5cbi8vIEBwYXJhbSB7U3RyaW5nfSAkdmFsdWUgLSBUaGUgdmFsdWUgZm9yIHRoZSBwcm9wZXJ0eSBpbiBMVFIgY29udGV4dC5cbi8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHktcnRsIC0gT3B0aW9uYWwgY3VzdG9tIHByb3BlcnR5IG5hbWUgZm9yIFJUTCBjb250ZXh0LlxuLy8gQHBhcmFtIHtTdHJpbmd9ICR2YWx1ZS1ydGwgLSBPcHRpb25hbCBjdXN0b20gdmFsdWUgZm9yIFJUTCBjb250ZXh0LlxuLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IC0gT3B0aW9uYWwgXCIhaW1wb3J0YW50XCIgZmxhZy5cblxuQG1peGluIGx0ci1ydGwoJHByb3BlcnR5LCAkdmFsdWUsICRwcm9wZXJ0eS1ydGw6IG51bGwsICR2YWx1ZS1ydGw6IG51bGwsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gICRwcm9wZXJ0eS1yZWZsZWN0ZWQ6IHJlZmxlY3QoJHByb3BlcnR5KTtcbiAgJHZhbHVlLXJlZmxlY3RlZDogcmVmbGVjdCgkdmFsdWUpO1xuXG4gIEBpZiAkZW5hYmxlLWx0ciBhbmQgJGVuYWJsZS1ydGwge1xuICAgIEBpbmNsdWRlIGx0cigpIHtcbiAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwoKSB7XG4gICAgICBAaWYgJHZhbHVlLXJ0bCB7XG4gICAgICAgICN7JHByb3BlcnR5LXJlZmxlY3RlZH06ICR2YWx1ZS1ydGwgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICN7JHByb3BlcnR5LXJlZmxlY3RlZH06ICR2YWx1ZS1yZWZsZWN0ZWQgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJGVuYWJsZS1ydGwge1xuICAgICAgQGlmICR2YWx1ZS1ydGwge1xuICAgICAgICAjeyRwcm9wZXJ0eS1yZWZsZWN0ZWR9OiAkdmFsdWUtcnRsIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAjeyRwcm9wZXJ0eS1yZWZsZWN0ZWR9OiAkdmFsdWUtcmVmbGVjdGVkIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZSBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gU2ltaWxhciB0byBsdHItcnRsIGJ1dCBhc3N1bWVzIHRoZSBwcm9wZXJ0eSBuYW1lIGlzIHRoZSBzYW1lIGZvciBib3RoXG4vLyBjb250ZXh0cy4gSXQgb25seSBtaXJyb3JzIHRoZSB2YWx1ZSBmb3IgUlRMIGlmIGEgY3VzdG9tIFJUTCB2YWx1ZSBpcyBub3Rcbi8vIHByb3ZpZGVkLlxuLy9cbi8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHkgLSBUaGUgQ1NTIHByb3BlcnR5IHRvIGFwcGx5LlxuLy8gQHBhcmFtIHtTdHJpbmd9ICR2YWx1ZSAtIFRoZSB2YWx1ZSBmb3IgdGhlIHByb3BlcnR5IGluIExUUiBjb250ZXh0LlxuLy8gQHBhcmFtIHtTdHJpbmd9ICR2YWx1ZS1ydGwgLSBPcHRpb25hbCBjdXN0b20gdmFsdWUgZm9yIFJUTCBjb250ZXh0LlxuLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IC0gT3B0aW9uYWwgXCIhaW1wb3J0YW50XCIgZmxhZy5cblxuQG1peGluIGx0ci1ydGwtdmFsdWUtb25seSgkcHJvcGVydHksICR2YWx1ZSwgJHZhbHVlLXJ0bDogbnVsbCwgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgJHZhbHVlLXJlZmxlY3RlZDogcmVmbGVjdCgkdmFsdWUpO1xuXG4gIEBpZiAkZW5hYmxlLWx0ciBhbmQgJGVuYWJsZS1ydGwge1xuICAgIEBpbmNsdWRlIGx0cigpIHtcbiAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwoKSB7XG4gICAgICBAaWYgJHZhbHVlLXJ0bCB7XG4gICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlLXJ0bCBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZS1yZWZsZWN0ZWQgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJGVuYWJsZS1ydGwge1xuICAgICAgQGlmICR2YWx1ZS1ydGwge1xuICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZS1ydGwgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWUtcmVmbGVjdGVkIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWUgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9mdW5jdGlvbnMvZXNjYXBlLXN2Z1wiIGFzICo7XG5AdXNlIFwiLi4vbWl4aW5zL2JvcmRlci1yYWRpdXNcIiBhcyAqO1xuQHVzZSBcIi4uL21peGlucy9jb2xvci1tb2RlXCIgYXMgKjtcbkB1c2UgXCIuLi9taXhpbnMvdHJhbnNpdGlvblwiIGFzICo7XG5AdXNlIFwiLi4vdmFyaWFibGVzXCIgYXMgKjtcbkB1c2UgXCIuLi92YXJpYWJsZXMtZGFya1wiIGFzICo7XG5cbi8vXG4vLyBDaGVjay9yYWRpb1xuLy9cblxuLmZvcm0tY2hlY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLWhlaWdodDogJGZvcm0tY2hlY2stbWluLWhlaWdodDtcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6ICRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQ7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWNoZWNrLW1hcmdpbi1ib3R0b207XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIGZsb2F0OiBpbmxpbmUtc3RhcnQ7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydCAqIC0xO1xuICB9XG59XG5cbi5mb3JtLWNoZWNrLXJldmVyc2Uge1xuICBwYWRkaW5nLWlubGluZTogMCAkZm9ybS1jaGVjay1wYWRkaW5nLXN0YXJ0O1xuICB0ZXh0LWFsaWduOiBlbmQ7XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIGZsb2F0OiBpbmxpbmUtZW5kO1xuICAgIG1hcmdpbi1pbmxpbmU6IDAgJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydCAqIC0xO1xuICB9XG59XG5cbi5mb3JtLWNoZWNrLWlucHV0IHtcbiAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZzogI3skZm9ybS1jaGVjay1pbnB1dC1iZ307XG5cbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAkZm9ybS1jaGVjay1pbnB1dC13aWR0aDtcbiAgaGVpZ2h0OiAkZm9ybS1jaGVjay1pbnB1dC13aWR0aDtcbiAgbWFyZ2luLXRvcDogKCRsaW5lLWhlaWdodC1iYXNlIC0gJGZvcm0tY2hlY2staW5wdXQtd2lkdGgpICogLjU7IC8vIGxpbmUtaGVpZ2h0IG1pbnVzIGNoZWNrIGhlaWdodFxuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJvcmRlcjogJGZvcm0tY2hlY2staW5wdXQtYm9yZGVyO1xuICBwcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0OyAvLyBLZWVwIHRoZW1lZCBhcHBlYXJhbmNlIGZvciBwcmludFxuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLWNoZWNrLXRyYW5zaXRpb24pO1xuXG4gICZbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWNoZWNrLWlucHV0LWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJlt0eXBlPVwicmFkaW9cIl0ge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1jaGVjay1yYWRpby1ib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGZpbHRlcjogJGZvcm0tY2hlY2staW5wdXQtYWN0aXZlLWZpbHRlcjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm9yZGVyO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gICY6Y2hlY2tlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1jb2xvciwgJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1jb2xvcik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJvcmRlci1jb2xvciwgJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1ib3JkZXItY29sb3IpO1xuXG4gICAgJlt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZTogI3tlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctaW1hZ2UpfSwgdmFyKC0tI3skcHJlZml4fWdyYWRpZW50KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlOiAje2VzY2FwZS1zdmcoJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1pbWFnZSl9O1xuICAgICAgfVxuICAgIH1cblxuICAgICZbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICAgIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2U6ICN7ZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1yYWRpby1jaGVja2VkLWJnLWltYWdlKX0sIHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZTogI3tlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLXJhZGlvLWNoZWNrZWQtYmctaW1hZ2UpfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmW3R5cGU9XCJjaGVja2JveFwiXTppbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I7XG5cbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZTogI3tlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctaW1hZ2UpfSwgdmFyKC0tI3skcHJlZml4fWdyYWRpZW50KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2U6ICN7ZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWltYWdlKX07XG4gICAgfVxuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgZmlsdGVyOiBub25lO1xuICAgIG9wYWNpdHk6ICRmb3JtLWNoZWNrLWlucHV0LWRpc2FibGVkLW9wYWNpdHk7XG4gIH1cblxuICAvLyBVc2UgZGlzYWJsZWQgYXR0cmlidXRlIGluIGFkZGl0aW9uIG9mIDpkaXNhYmxlZCBwc2V1ZG8tY2xhc3NcbiAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MjQ3XG4gICZbZGlzYWJsZWRdLFxuICAmOmRpc2FibGVkIHtcbiAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIG9wYWNpdHk6ICRmb3JtLWNoZWNrLWxhYmVsLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgfVxuICB9XG59XG5cbi5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWxhYmVsLWNvbG9yLCAkZm9ybS1jaGVjay1sYWJlbC1jb2xvcik7XG4gIGN1cnNvcjogJGZvcm0tY2hlY2stbGFiZWwtY3Vyc29yO1xufVxuXG4vL1xuLy8gU3dpdGNoXG4vL1xuXG4uZm9ybS1zd2l0Y2gge1xuICBwYWRkaW5nLWlubGluZS1zdGFydDogJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQ7XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIC0tI3skcHJlZml4fWZvcm0tc3dpdGNoLWJnOiAje2VzY2FwZS1zdmcoJGZvcm0tc3dpdGNoLWJnLWltYWdlKX07XG5cbiAgICB3aWR0aDogJGZvcm0tc3dpdGNoLXdpZHRoO1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0ICogLTE7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fWZvcm0tc3dpdGNoLWJnKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXN3aXRjaC1ib3JkZXItcmFkaXVzLCAwKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLXN3aXRjaC10cmFuc2l0aW9uKTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1zd2l0Y2gtYmc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zd2l0Y2gtZm9jdXMtYmctaW1hZ2UpfTtcbiAgICB9XG5cbiAgICAmOmNoZWNrZWQge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctcG9zaXRpb247XG5cbiAgICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICAgIC0tI3skcHJlZml4fWZvcm0tc3dpdGNoLWJnOiAje2VzY2FwZS1zdmcoJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctaW1hZ2UpfSwgdmFyKC0tI3skcHJlZml4fWdyYWRpZW50KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAtLSN7JHByZWZpeH1mb3JtLXN3aXRjaC1iZzogI3tlc2NhcGUtc3ZnKCRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLWltYWdlKX07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5mb3JtLWNoZWNrLXJldmVyc2Uge1xuICAgIHBhZGRpbmctaW5saW5lOiAwICRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0O1xuXG4gICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgbWFyZ2luLWlubGluZTogMCAkZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydCAqIC0xO1xuICAgIH1cbiAgfVxufVxuXG5AZWFjaCAkc2l6ZSwgJG1hcCBpbiAkZm9ybS1zd2l0Y2gtd2lkdGhzIHtcbiAgJHdpZHRoOiBtYXAuZ2V0KCRtYXAsIFwid2lkdGhcIik7XG4gICRoZWlnaHQ6IG1hcC5nZXQoJG1hcCwgXCJoZWlnaHRcIik7XG5cbiAgLmZvcm0tc3dpdGNoLSN7JHNpemV9IHtcbiAgICBtaW4taGVpZ2h0OiAkaGVpZ2h0O1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAkd2lkdGggKyAuNWVtO1xuXG4gICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgd2lkdGg6ICR3aWR0aDtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICgkd2lkdGggKyAuNWVtKSAqIC0xO1xuICAgIH1cblxuICAgIC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICAgIHBhZGRpbmctdG9wOiBjYWxjKCgjeyRoZWlnaHR9IC0gI3skZm9udC1zaXplLWJhc2V9KSAvIDIpO1xuICAgIH1cbiAgfVxufVxuXG4uZm9ybS1jaGVjay1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1pbmxpbmUtZW5kOiAkZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLWVuZDtcbn1cblxuLmJ0bi1jaGVjayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgJltkaXNhYmxlZF0sXG4gICY6ZGlzYWJsZWQge1xuICAgICsgLmJ0biB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGZpbHRlcjogbm9uZTtcbiAgICAgIG9wYWNpdHk6ICRmb3JtLWNoZWNrLWJ0bi1jaGVjay1kaXNhYmxlZC1vcGFjaXR5O1xuICAgIH1cbiAgfVxufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmspIHtcbiAgICAuZm9ybS1zd2l0Y2ggLmZvcm0tY2hlY2staW5wdXQ6bm90KDpjaGVja2VkKTpub3QoOmZvY3VzKSB7XG4gICAgICAtLSN7JHByZWZpeH1mb3JtLXN3aXRjaC1iZzogI3tlc2NhcGUtc3ZnKCRmb3JtLXN3aXRjaC1iZy1pbWFnZS1kYXJrKX07XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwiLi4vZnVuY3Rpb25zL21hdGhcIiBhcyAqO1xuQHVzZSBcIi4uL21peGlucy9ib3JkZXItcmFkaXVzXCIgYXMgKjtcbkB1c2UgXCIuLi9taXhpbnMvYm94LXNoYWRvd1wiIGFzICo7XG5AdXNlIFwiLi4vbWl4aW5zL2dyYWRpZW50c1wiIGFzICo7XG5AdXNlIFwiLi4vbWl4aW5zL3RyYW5zaXRpb25cIiBhcyAqO1xuQHVzZSBcIi4uL3ZhcmlhYmxlc1wiIGFzICo7XG5cbi8vIFJhbmdlXG4vL1xuLy8gU3R5bGUgcmFuZ2UgaW5wdXRzIHRoZSBzYW1lIGFjcm9zcyBicm93c2Vycy4gVmVuZG9yLXNwZWNpZmljIHJ1bGVzIGZvciBwc2V1ZG9cbi8vIGVsZW1lbnRzIGNhbm5vdCBiZSBtaXhlZC4gQXMgc3VjaCwgdGhlcmUgYXJlIG5vIHNoYXJlZCBzdHlsZXMgZm9yIGZvY3VzIG9yXG4vLyBhY3RpdmUgc3RhdGVzIG9uIHByZWZpeGVkIHNlbGVjdG9ycy5cblxuLmZvcm0tcmFuZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhZGQoJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0LCAkZm9ybS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoICogMik7XG4gIHBhZGRpbmc6IDA7IC8vIE5lZWQgdG8gcmVzZXQgcGFkZGluZ1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuXG4gICAgLy8gUHNldWRvLWVsZW1lbnRzIG11c3QgYmUgc3BsaXQgYWNyb3NzIG11bHRpcGxlIHJ1bGVzZXRzIHRvIGhhdmUgYW4gZWZmZWN0LlxuICAgIC8vIE5vIGJveC1zaGFkb3coKSBtaXhpbiBmb3IgZm9jdXMgYWNjZXNzaWJpbGl0eS5cbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7IGJveC1zaGFkb3c6ICRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgICAmOjotbW96LXJhbmdlLXRodW1iICAgICB7IGJveC1zaGFkb3c6ICRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgfVxuXG4gICY6Oi1tb3otZm9jdXMtb3V0ZXIge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgbWFyZ2luLXRvcDogKCRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodCAtICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodCkgKiAuNTsgLy8gV2Via2l0IHNwZWNpZmljXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZm9ybS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGZvcm0tcmFuZ2UtdGh1bWItdHJhbnNpdGlvbik7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZm9ybS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50OyAvLyBXaHk/XG4gICAgY3Vyc29yOiAkZm9ybS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFuZ2UtdHJhY2stYmc7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZm9ybS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGZvcm0tcmFuZ2UtdGh1bWItdHJhbnNpdGlvbik7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZm9ybS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiAkZm9ybS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFuZ2UtdHJhY2stYmc7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRmlyZWZveCBzcGVjaWZpYz9cbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwiLi4vbWl4aW5zL2JvcmRlci1yYWRpdXNcIiBhcyAqO1xuQHVzZSBcIi4uL21peGlucy90cmFuc2l0aW9uXCIgYXMgKjtcbkB1c2UgXCIuLi92YXJpYWJsZXNcIiBhcyAqO1xuXG4uZm9ybS1mbG9hdGluZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQsXG4gID4gLmZvcm0tc2VsZWN0IHtcbiAgICBoZWlnaHQ6ICRmb3JtLWZsb2F0aW5nLWhlaWdodDtcbiAgICBtaW4taGVpZ2h0OiAkZm9ybS1mbG9hdGluZy1oZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWZsb2F0aW5nLWxpbmUtaGVpZ2h0O1xuICB9XG5cbiAgPiBsYWJlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyAvLyBhbGxvdyB0ZXh0YXJlYXNcbiAgICBwYWRkaW5nOiAkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXkgJGZvcm0tZmxvYXRpbmctcGFkZGluZy14O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY29sb3I6IHJnYmEodmFyKC0tI3skcHJlZml4fWJvZHktY29sb3ItcmdiKSwgI3skZm9ybS1mbG9hdGluZy1sYWJlbC1vcGFjaXR5fSk7XG4gICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7IC8vIFJlcXVpcmVkIGZvciBhbGlnbmluZyBsYWJlbCdzIHRleHQgd2l0aCB0aGUgaW5wdXQgYXMgaXQgYWZmZWN0cyBpbm5lciBib3ggbW9kZWxcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1mbG9hdGluZy10cmFuc2l0aW9uKTtcbiAgfVxuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gICAgcGFkZGluZzogJGZvcm0tZmxvYXRpbmctcGFkZGluZy15ICRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICY6bm90KDpwbGFjZWhvbGRlci1zaG93bikge1xuICAgICAgcGFkZGluZy10b3A6ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctdDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLWI7XG4gICAgfVxuICAgIC8vIER1cGxpY2F0ZWQgYmVjYXVzZSBgOi13ZWJraXQtYXV0b2ZpbGxgIGludmFsaWRhdGVzIG90aGVyIHNlbGVjdG9ycyB3aGVuIGdyb3VwZWRcbiAgICAmOi13ZWJraXQtYXV0b2ZpbGwge1xuICAgICAgcGFkZGluZy10b3A6ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctdDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLWI7XG4gICAgfVxuICB9XG5cbiAgPiAuZm9ybS1zZWxlY3Qge1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXg7XG4gICAgcGFkZGluZy10b3A6ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctdDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy1iO1xuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuICA+IC5mb3JtLWNvbnRyb2w6bm90KDpwbGFjZWhvbGRlci1zaG93biksXG4gID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQsXG4gID4gLmZvcm0tc2VsZWN0IHtcbiAgICB+IGxhYmVsIHtcbiAgICAgIHRyYW5zZm9ybTogJGZvcm0tZmxvYXRpbmctbGFiZWwtdHJhbnNmb3JtO1xuICAgIH1cbiAgfVxuICAvLyBEdXBsaWNhdGVkIGJlY2F1c2UgYDotd2Via2l0LWF1dG9maWxsYCBpbnZhbGlkYXRlcyBvdGhlciBzZWxlY3RvcnMgd2hlbiBncm91cGVkXG4gID4gLmZvcm0tY29udHJvbDotd2Via2l0LWF1dG9maWxsIHtcbiAgICB+IGxhYmVsIHtcbiAgICAgIHRyYW5zZm9ybTogJGZvcm0tZmxvYXRpbmctbGFiZWwtdHJhbnNmb3JtO1xuICAgIH1cbiAgfVxuICA+IHRleHRhcmVhOmZvY3VzLFxuICA+IHRleHRhcmVhOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pIHtcbiAgICB+IGxhYmVsOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogJGZvcm0tZmxvYXRpbmctcGFkZGluZy15ICgkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXggKiAuNSk7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGhlaWdodDogJGZvcm0tZmxvYXRpbmctbGFiZWwtaGVpZ2h0O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuICA+IHRleHRhcmVhOmRpc2FibGVkIH4gbGFiZWw6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gIH1cblxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgICB+IGxhYmVsIHtcbiAgICAgIGJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAwOyAvLyBSZXF1aXJlZCB0byBwcm9wZXJseSBwb3NpdGlvbiBsYWJlbCB0ZXh0IC0gYXMgZXhwbGFpbmVkIGFib3ZlXG4gICAgfVxuICB9XG5cbiAgPiA6ZGlzYWJsZWQgfiBsYWJlbCxcbiAgPiAuZm9ybS1jb250cm9sOmRpc2FibGVkIH4gbGFiZWwgeyAvLyBSZXF1aXJlZCBmb3IgYC5mb3JtLWNvbnRyb2xgcyBiZWNhdXNlIG9mIHNwZWNpZmljaXR5XG4gICAgY29sb3I6ICRmb3JtLWZsb2F0aW5nLWxhYmVsLWRpc2FibGVkLWNvbG9yO1xuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCJzYXNzOnN0cmluZ1wiO1xuQHVzZSBcIi4uL21peGlucy9ib3JkZXItcmFkaXVzXCIgYXMgKjtcbkB1c2UgXCIuLi92ZW5kb3IvcmZzXCIgYXMgKjtcbkB1c2UgXCIuLi92YXJpYWJsZXNcIiBhcyAqO1xuXG4vL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5pbnB1dC1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBGb3IgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrXG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwJTtcblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tc2VsZWN0LFxuICA+IC5mb3JtLWZsb2F0aW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEZvciBmb2N1cyBzdGF0ZSdzIHotaW5kZXhcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB3aWR0aDogMSU7XG4gICAgbWluLXdpZHRoOiAwOyAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNjI0NzE0MC93aHktZG9udC1mbGV4LWl0ZW1zLXNocmluay1wYXN0LWNvbnRlbnQtc2l6ZVxuICB9XG5cbiAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgZm9ybSBjb250cm9sIHRvIHRoZSB0b3Agb2Ygc3Vycm91bmRpbmcgZWxlbWVudHNcbiAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuICA+IC5mb3JtLXNlbGVjdDpmb2N1cyxcbiAgPiAuZm9ybS1mbG9hdGluZzpmb2N1cy13aXRoaW4ge1xuICAgIHotaW5kZXg6IDU7XG4gIH1cblxuICAvLyBFbnN1cmUgYnV0dG9ucyBhcmUgYWx3YXlzIGFib3ZlIGlucHV0cyBmb3IgbW9yZSB2aXN1YWxseSBwbGVhc2luZyBib3JkZXJzLlxuICAvLyBUaGlzIGlzbid0IG5lZWRlZCBmb3IgYC5pbnB1dC1ncm91cC10ZXh0YCBzaW5jZSBpdCBzaGFyZXMgdGhlIHNhbWUgYm9yZGVyLWNvbG9yXG4gIC8vIGFzIG91ciBpbnB1dHMuXG4gIC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiA1O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRleHR1YWwgYWRkb25zXG4vL1xuLy8gU2VydmVzIGFzIGEgY2F0Y2gtYWxsIGVsZW1lbnQgZm9yIGFueSB0ZXh0IG9yIHJhZGlvL2NoZWNrYm94IGlucHV0IHlvdSB3aXNoXG4vLyB0byBwcmVwZW5kIG9yIGFwcGVuZCB0byBhbiBpbnB1dC5cblxuLmlucHV0LWdyb3VwLXRleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkaW5wdXQtZ3JvdXAtYWRkb24tcGFkZGluZy15ICRpbnB1dC1ncm91cC1hZGRvbi1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTsgLy8gTWF0Y2ggaW5wdXRzXG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZ3JvdXAtYWRkb24tZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aW5wdXQtZ3JvdXAtYWRkb24tY29sb3IsICRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWlucHV0LWdyb3VwLWFkZG9uLWJnLCAkaW5wdXQtZ3JvdXAtYWRkb24tYmcpO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgdmFyKC0tI3skcHJlZml4fWlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvciwgJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xufVxuXG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGZvcm0gY29udHJvbCBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXJcbi8vIG1hbmlwdWxhdGlvbi5cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmJ0biB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmJ0biB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tc2VsZWN0IHtcbiAgcGFkZGluZy1pbmxpbmUtZW5kOiAkZm9ybS1zZWxlY3QtcGFkZGluZy14ICsgJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xufVxuXG5cbi8vIFJvdW5kZWQgY29ybmVyc1xuLy9cbi8vIFRoZXNlIHJ1bGVzZXRzIG11c3QgY29tZSBhZnRlciB0aGUgc2l6aW5nIG9uZXMgdG8gcHJvcGVybHkgb3ZlcnJpZGUgc20gYW5kIGxnXG4vLyBib3JkZXItcmFkaXVzIHZhbHVlcyB3aGVuIGV4dGVuZGluZy4gVGhleSdyZSBtb3JlIHNwZWNpZmljIHRoYW4gd2UnZCBsaWtlXG4vLyB3aXRoIHRoZSBgLmlucHV0LWdyb3VwID5gIHBhcnQsIGJ1dCB3aXRob3V0IGl0LCB3ZSBjYW5ub3Qgb3ZlcnJpZGUgdGhlIHNpemluZy5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi5pbnB1dC1ncm91cCB7XG4gICY6bm90KC5oYXMtdmFsaWRhdGlvbikge1xuICAgID4gOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpOm5vdCguZHJvcGRvd24tbWVudSk6bm90KC5mb3JtLWZsb2F0aW5nKSxcbiAgICA+IC5kcm9wZG93bi10b2dnbGU6bnRoLWxhc3QtY2hpbGQobiArIDMpLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bm90KDpsYXN0LWNoaWxkKSA+IC5mb3JtLWNvbnRyb2wsXG4gICAgPiAuZm9ybS1mbG9hdGluZzpub3QoOmxhc3QtY2hpbGQpID4gLmZvcm0tc2VsZWN0IHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxuXG4gICYuaGFzLXZhbGlkYXRpb24ge1xuICAgID4gOm50aC1sYXN0LWNoaWxkKG4gKyAzKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSk6bm90KC5kcm9wZG93bi1tZW51KTpub3QoLmZvcm0tZmxvYXRpbmcpLFxuICAgID4gLmRyb3Bkb3duLXRvZ2dsZTpudGgtbGFzdC1jaGlsZChuICsgNCksXG4gICAgPiAuZm9ybS1mbG9hdGluZzpudGgtbGFzdC1jaGlsZChuICsgMykgPiAuZm9ybS1jb250cm9sLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bnRoLWxhc3QtY2hpbGQobiArIDMpID4gLmZvcm0tc2VsZWN0IHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxuXG4gICR2YWxpZGF0aW9uLW1lc3NhZ2VzOiBcIlwiO1xuICBAZWFjaCAkc3RhdGUgaW4gbWFwLmtleXMoJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXMpIHtcbiAgICAkdmFsaWRhdGlvbi1tZXNzYWdlczogJHZhbGlkYXRpb24tbWVzc2FnZXMgKyBcIjpub3QoLlwiICsgc3RyaW5nLnVucXVvdGUoJHN0YXRlKSArIFwiLXRvb2x0aXApXCIgKyBcIjpub3QoLlwiICsgc3RyaW5nLnVucXVvdGUoJHN0YXRlKSArIFwiLWZlZWRiYWNrKVwiO1xuICB9XG5cbiAgPiA6bm90KDpmaXJzdC1jaGlsZCk6bm90KC5kcm9wZG93bi1tZW51KSN7JHZhbGlkYXRpb24tbWVzc2FnZXN9IHtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKC0xICogI3skaW5wdXQtYm9yZGVyLXdpZHRofSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmZvcm0tZmxvYXRpbmc6bm90KDpmaXJzdC1jaGlsZCkgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmZvcm0tc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKDApO1xuICB9XG59XG4iLCJAdXNlIFwiLi4vZnVuY3Rpb25zL2VzY2FwZS1zdmdcIiBhcyAqO1xuQHVzZSBcIi4uL2Z1bmN0aW9ucy9tYXRoXCIgYXMgKjtcbkB1c2UgXCIuLi9taXhpbnMvYm9yZGVyLXJhZGl1c1wiIGFzICo7XG5AdXNlIFwiLi4vbWl4aW5zL2x0ci1ydGxcIiBhcyAqO1xuQHVzZSBcIi4uL3ZlbmRvci9yZnNcIiBhcyAqO1xuQHVzZSBcIi4uL3ZhcmlhYmxlc1wiIGFzICo7XG5cbi8vIFRoaXMgbWl4aW4gdXNlcyBhbiBgaWYoKWAgdGVjaG5pcXVlIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBEYXJ0IFNhc3Ncbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8xODczI2lzc3VlY29tbWVudC0xNTIyOTM3MjUgZm9yIG1vcmUgZGV0YWlsc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS12YWxpZGF0aW9uLW1peGluc1xuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgQGlmICgkc3RhdGUgPT0gXCJ2YWxpZFwiIG9yICRzdGF0ZSA9PSBcImludmFsaWRcIikge1xuICAgIC53YXMtdmFsaWRhdGVkICN7aWYoJiwgXCImXCIsIFwiXCIpfTojeyRzdGF0ZX0sXG4gICAgI3tpZigmLCBcIiZcIiwgXCJcIil9LmlzLSN7JHN0YXRlfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUoXG4gICRzdGF0ZSxcbiAgJGNvbG9yLFxuICAkaWNvbixcbiAgJHRvb2x0aXAtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRjb2xvciwgJGNvbG9yLWNvbnRyYXN0LWRhcmssICRjb2xvci1jb250cmFzdC1saWdodCwgJHdoaXRlLCAkYmxhY2ssICRtaW4tY29udHJhc3QtcmF0aW8pLFxuICAkdG9vbHRpcC1iZy1jb2xvcjogcmdiYSgkY29sb3IsICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eSksXG4gICRmb2N1cy1ib3gtc2hhZG93OiAwIDAgJGlucHV0LWJ0bi1mb2N1cy1ibHVyICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgJGlucHV0LWJ0bi1mb2N1cy1jb2xvci1vcGFjaXR5KSxcbiAgJGJvcmRlci1jb2xvcjogJGNvbG9yXG4pIHtcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay1mb250LXNpemUpO1xuICAgIGZvbnQtc3R5bGU6ICRmb3JtLWZlZWRiYWNrLWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBDb250YWluIHRvIHBhcmVudCB3aGVuIHBvc3NpYmxlXG4gICAgcGFkZGluZzogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXkgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg7XG4gICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmctY29sb3I7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGljb24pO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBAaW5jbHVkZSBsdHItcnRsLXZhbHVlLW9ubHkoXCJiYWNrZ3JvdW5kLXBvc2l0aW9uXCIsIHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciBjZW50ZXIsIGxlZnQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIGNlbnRlcik7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICAgICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdywgJGZvY3VzLWJveC1zaGFkb3cpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICAgICAgYm94LXNoYWRvdzogJGZvY3VzLWJveC1zaGFkb3c7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG4gIHRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgQGluY2x1ZGUgbHRyLXJ0bC12YWx1ZS1vbmx5KFwiYmFja2dyb3VuZC1wb3NpdGlvblwiLCB0b3AgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciwgdG9wICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciBsZWZ0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICAmOm5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSxcbiAgICAgICAgJjpub3QoW211bHRpcGxlXSlbc2l6ZT1cIjFcIl0ge1xuICAgICAgICAgIC0tI3skcHJlZml4fWZvcm0tc2VsZWN0LWJnLWljb246ICN7ZXNjYXBlLXN2ZygkaWNvbil9O1xuICAgICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1lbmQ7XG4gICAgICAgICAgQGluY2x1ZGUgbHRyLXJ0bC12YWx1ZS1vbmx5KFwiYmFja2dyb3VuZC1wb3NpdGlvblwiLCAjeyRmb3JtLXNlbGVjdC1iZy1wb3NpdGlvbiwgJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb259KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRmb3JtLXNlbGVjdC1iZy1zaXplLCAkZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tc2VsZWN0LWJveC1zaGFkb3csICRmb2N1cy1ib3gtc2hhZG93KTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgICAgIGJveC1zaGFkb3c6ICRmb2N1cy1ib3gtc2hhZG93O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY29udHJvbC1jb2xvciB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHdpZHRoOiBhZGQoJGZvcm0tY29sb3Itd2lkdGgsICRpbnB1dC1oZWlnaHQtaW5uZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRmb2N1cy1ib3gtc2hhZG93O1xuICAgICAgfVxuXG4gICAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmZvcm0tY2hlY2staW5saW5lIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogLjVlbTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAge1xuICAgID4gLmZvcm0tY29udHJvbDpub3QoOmZvY3VzKSxcbiAgICA+IC5mb3JtLXNlbGVjdDpub3QoOmZvY3VzKSxcbiAgICA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICAgIEBpZiAkc3RhdGUgPT0gXCJ2YWxpZFwiIHtcbiAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICB9IEBlbHNlIGlmICRzdGF0ZSA9PSBcImludmFsaWRcIiB7XG4gICAgICAgICAgei1pbmRleDogNDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXZhbGlkYXRpb24tbWl4aW5zXG4iLCJAdXNlIFwiZnVuY3Rpb25zL2NvbG9yXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL2JveC1zaGFkb3dcIiBhcyAqO1xuQHVzZSBcIm1peGlucy9idXR0b25zXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvY29sb3ItbW9kZVwiIGFzICo7XG5AdXNlIFwibWl4aW5zL2dyYWRpZW50c1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL3RyYW5zaXRpb25cIiBhcyAqO1xuQHVzZSBcInZlbmRvci9yZnNcIiBhcyAqO1xuQHVzZSBcInZhcmlhYmxlc1wiIGFzICo7XG5AdXNlIFwidmFyaWFibGVzLWRhcmtcIiBhcyAqO1xuXG4vL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5idG4ge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXg6ICN7JGJ0bi1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1idG4tcGFkZGluZy15OiAjeyRidG4tcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvbnQtZmFtaWx5OiAjeyRidG4tZm9udC1mYW1pbHl9O1xuICBAaW5jbHVkZSByZnMoJGJ0bi1mb250LXNpemUsIC0tI3skcHJlZml4fWJ0bi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1idG4tZm9udC13ZWlnaHQ6ICN7JGJ0bi1mb250LXdlaWdodH07XG4gIC0tI3skcHJlZml4fWJ0bi1saW5lLWhlaWdodDogI3skYnRuLWxpbmUtaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAjeyRidG4tY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYmc6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLXdpZHRoOiAjeyRidG4tYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItcmFkaXVzOiAjeyRidG4tYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tYm94LXNoYWRvdzogI3skYnRuLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtb3BhY2l0eTogI3skYnRuLWRpc2FibGVkLW9wYWNpdHl9O1xuICAtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdzogMCAwIDAgI3skYnRuLWZvY3VzLXdpZHRofSByZ2JhKHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtc2hhZG93LXJnYiksIC41KTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBidG4tY3NzLXZhcnNcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1idG4tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvbnQtZmFtaWx5KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1idG4tZm9udC1zaXplKSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvbnQtd2VpZ2h0KTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1idG4tbGluZS1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1jb2xvcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogJGJ0bi13aGl0ZS1zcGFjZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBpZigkZW5hYmxlLWJ1dHRvbi1wb2ludGVycywgcG9pbnRlciwgbnVsbCk7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1idG4tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWJ0bi1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1idG4tYmcpKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3cpKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYnRuLXRyYW5zaXRpb24pO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gIC5idG4tY2hlY2sgKyAmOmhvdmVyIHtcbiAgICAvLyBvdmVycmlkZSBmb3IgdGhlIGNoZWNrYm94L3JhZGlvIGJ1dHRvbnNcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJnKSk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gICAgb3V0bGluZTogMDtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3cpLCB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9XG4gIH1cblxuICAuYnRuLWNoZWNrOmZvY3VzLXZpc2libGUgKyAmIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tYm94LXNoYWRvdyksIHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH1cbiAgfVxuXG4gIC5idG4tY2hlY2s6Y2hlY2tlZCArICYsXG4gIDpub3QoLmJ0bi1jaGVjaykgKyAmOmFjdGl2ZSxcbiAgJjpmaXJzdC1jaGlsZDphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAmLnNob3cge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYmcpO1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGlmKCRlbmFibGUtZ3JhZGllbnRzLCBub25lLCBudWxsKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3cpKTtcblxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93KSwgdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5idG4tY2hlY2s6Y2hlY2tlZDpmb2N1cy12aXNpYmxlICsgJiB7XG4gICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93KSwgdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfVxuICB9XG5cbiAgJjpkaXNhYmxlZCxcbiAgJi5kaXNhYmxlZCxcbiAgZmllbGRzZXQ6ZGlzYWJsZWQgJiB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtY29sb3IpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYmcpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGlmKCRlbmFibGUtZ3JhZGllbnRzLCBub25lLCBudWxsKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yKTtcbiAgICBvcGFjaXR5OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLW9wYWNpdHkpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIGJ1dHRvbnNcbi8vXG5cbi5idG4tZ2hvc3Qge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLWdob3N0LWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogI3skYnRuLWdob3N0LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcjogI3t0cmFuc3BhcmVudH07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3I6ICN7JGJ0bi1naG9zdC1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJnOiAjeyRidG4tZ2hvc3QtYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JGJ0bi1naG9zdC1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtY29sb3I6ICN7JGJ0bi1naG9zdC1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICN7dHJhbnNwYXJlbnR9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3I6ICN7JGJ0bi1naG9zdC1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZzogI3skYnRuLWdob3N0LWhvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogI3skYnRuLWdob3N0LWhvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3c6IDAgMCAwICN7JGJ0bi1mb2N1cy13aWR0aH0gcmdiYSgjeyRidG4tb3V0bGluZS1mb2N1cy1zaGFkb3ctcmdifSwgLjUpO1xuICAvLyBzY3NzLWRvY3MtZW5kIGJ0bi1naG9zdC1jc3MtdmFyc1xufVxuXG4uYnRuLW91dGxpbmUge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLW91dGxpbmUtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAjeyRidG4tb3V0bGluZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6ICN7JGJ0bi1vdXRsaW5lLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3I6ICN7JGJ0bi1vdXRsaW5lLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYmc6ICN7JGJ0bi1vdXRsaW5lLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRidG4tb3V0bGluZS1hY3RpdmUtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWNvbG9yOiAjeyRidG4tb3V0bGluZS1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICN7JGJ0bi1vdXRsaW5lLWRpc2FibGVkLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcjogI3skYnRuLW91dGxpbmUtaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYmc6ICN7JGJ0bi1vdXRsaW5lLWhvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogI3skYnRuLW91dGxpbmUtaG92ZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3c6IDAgMCAwICN7JGJ0bi1mb2N1cy13aWR0aH0gcmdiYSgjeyRidG4tZ2hvc3QtZm9jdXMtc2hhZG93LXJnYn0sIC41KTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBidG4tb3V0bGluZS1jc3MtdmFyc1xufVxuXG4uYnRuLXRyYW5zcGFyZW50IHtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tdmFyaWFudC1sb29wc1xuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5idG4tI3skY29sb3J9IHtcbiAgICBAaWYgJGNvbG9yID09IFwibGlnaHRcIiB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudChcbiAgICAgICAgJHZhbHVlLFxuICAgICAgICAkdmFsdWUsXG4gICAgICAgICRob3Zlci1iYWNrZ3JvdW5kOiBzaGFkZS1jb2xvcigkdmFsdWUsICRidG4taG92ZXItYmctc2hhZGUtYW1vdW50KSxcbiAgICAgICAgJGhvdmVyLWJvcmRlcjogc2hhZGUtY29sb3IoJHZhbHVlLCAkYnRuLWhvdmVyLWJvcmRlci1zaGFkZS1hbW91bnQpLFxuICAgICAgICAkYWN0aXZlLWJhY2tncm91bmQ6IHNoYWRlLWNvbG9yKCR2YWx1ZSwgJGJ0bi1hY3RpdmUtYmctc2hhZGUtYW1vdW50KSxcbiAgICAgICAgJGFjdGl2ZS1ib3JkZXI6IHNoYWRlLWNvbG9yKCR2YWx1ZSwgJGJ0bi1hY3RpdmUtYm9yZGVyLXNoYWRlLWFtb3VudClcbiAgICAgICk7XG4gICAgfSBAZWxzZSBpZiAkY29sb3IgPT0gXCJkYXJrXCIge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoXG4gICAgICAgICR2YWx1ZSxcbiAgICAgICAgJHZhbHVlLFxuICAgICAgICAkaG92ZXItYmFja2dyb3VuZDogdGludC1jb2xvcigkdmFsdWUsICRidG4taG92ZXItYmctdGludC1hbW91bnQpLFxuICAgICAgICAkaG92ZXItYm9yZGVyOiB0aW50LWNvbG9yKCR2YWx1ZSwgJGJ0bi1ob3Zlci1ib3JkZXItdGludC1hbW91bnQpLFxuICAgICAgICAkYWN0aXZlLWJhY2tncm91bmQ6IHRpbnQtY29sb3IoJHZhbHVlLCAkYnRuLWFjdGl2ZS1iZy10aW50LWFtb3VudCksXG4gICAgICAgICRhY3RpdmUtYm9yZGVyOiB0aW50LWNvbG9yKCR2YWx1ZSwgJGJ0bi1hY3RpdmUtYm9yZGVyLXRpbnQtYW1vdW50KVxuICAgICAgKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCR2YWx1ZSwgJHZhbHVlKTtcbiAgICB9XG4gIH1cbn1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5idG4tb3V0bGluZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxufVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi1naG9zdC0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1naG9zdC12YXJpYW50KCR2YWx1ZSk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgYnRuLXZhcmlhbnQtbG9vcHNcblxuXG4vL1xuLy8gTGluayBidXR0b25zXG4vL1xuXG4vLyBNYWtlIGEgYnV0dG9uIGxvb2sgYW5kIGJlaGF2ZSBsaWtlIGEgbGlua1xuLmJ0bi1saW5rIHtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvbnQtd2VpZ2h0OiAjeyRmb250LXdlaWdodC1ub3JtYWx9O1xuICAtLSN7JHByZWZpeH1idG4tY29sb3I6ICN7JGJ0bi1saW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJnOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcjogI3skYnRuLWxpbmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtY29sb3I6ICN7JGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93OiBub25lO1xuICAtLSN7JHByZWZpeH1idG4tZm9jdXMtc2hhZG93LXJnYjogI3skYnRuLWxpbmstZm9jdXMtc2hhZG93LXJnYn07XG5cbiAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tY29sb3IpO1xuICB9XG5cbiAgLy8gTm8gbmVlZCBmb3IgYW4gYWN0aXZlIHN0YXRlIGhlcmVcbn1cblxuXG4vL1xuLy8gQnV0dG9uIFNpemVzXG4vL1xuXG4uYnRuLWxnIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktbGcsICRidG4tcGFkZGluZy14LWxnLCAkYnRuLWZvbnQtc2l6ZS1sZywgJGJ0bi1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLmJ0bi1zbSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LXNtLCAkYnRuLXBhZGRpbmcteC1zbSwgJGJ0bi1mb250LXNpemUtc20sICRidG4tYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaykge1xuICAgIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtZGFyayB7XG4gICAgICAuYnRuLSN7JGNvbG9yfSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCR2YWx1ZSwgJHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLWRhcmsge1xuICAgICAgLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLWRhcmsge1xuICAgICAgLmJ0bi1naG9zdC0jeyRjb2xvcn0ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ2hvc3QtdmFyaWFudCgkdmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6Y29sb3JcIjtcbkB1c2UgXCIuLi9mdW5jdGlvbnMvY29sb3JcIiBhcyAqO1xuQHVzZSBcIi4uL2Z1bmN0aW9ucy9jb2xvci1jb250cmFzdFwiIGFzICo7XG5AdXNlIFwiLi4vZnVuY3Rpb25zL3RvLXJnYlwiIGFzICo7XG5AdXNlIFwiLi4vdmVuZG9yL3Jmc1wiIGFzICo7XG5AdXNlIFwiLi4vdmFyaWFibGVzXCIgYXMgKjtcblxuLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tdmFyaWFudC1taXhpblxuQG1peGluIGJ1dHRvbi12YXJpYW50KFxuICAkYmFja2dyb3VuZCxcbiAgJGJvcmRlcixcbiAgJGNvbG9yOiBjb2xvci1jb250cmFzdCgkYmFja2dyb3VuZCksXG4gICRob3Zlci1iYWNrZ3JvdW5kOiBpZigkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1ob3Zlci1iZy1zaGFkZS1hbW91bnQpLCB0aW50LWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWhvdmVyLWJnLXRpbnQtYW1vdW50KSksXG4gICRob3Zlci1ib3JkZXI6IGlmKCRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCRib3JkZXIsICRidG4taG92ZXItYm9yZGVyLXNoYWRlLWFtb3VudCksIHRpbnQtY29sb3IoJGJvcmRlciwgJGJ0bi1ob3Zlci1ib3JkZXItdGludC1hbW91bnQpKSxcbiAgJGhvdmVyLWNvbG9yOiBjb2xvci1jb250cmFzdCgkaG92ZXItYmFja2dyb3VuZCksXG4gICRhY3RpdmUtYmFja2dyb3VuZDogaWYoJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJGJhY2tncm91bmQsICRidG4tYWN0aXZlLWJnLXNoYWRlLWFtb3VudCksIHRpbnQtY29sb3IoJGJhY2tncm91bmQsICRidG4tYWN0aXZlLWJnLXRpbnQtYW1vdW50KSksXG4gICRhY3RpdmUtYm9yZGVyOiBpZigkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkYm9yZGVyLCAkYnRuLWFjdGl2ZS1ib3JkZXItc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYm9yZGVyLCAkYnRuLWFjdGl2ZS1ib3JkZXItdGludC1hbW91bnQpKSxcbiAgJGFjdGl2ZS1jb2xvcjogY29sb3ItY29udHJhc3QoJGFjdGl2ZS1iYWNrZ3JvdW5kKSxcbiAgJGRpc2FibGVkLWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLFxuICAkZGlzYWJsZWQtYm9yZGVyOiAkYm9yZGVyLFxuICAkZGlzYWJsZWQtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRkaXNhYmxlZC1iYWNrZ3JvdW5kKVxuKSB7XG4gIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYmc6ICN7JGJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yOiAjeyRib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3I6ICN7JGhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJnOiAjeyRob3Zlci1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogI3skaG92ZXItYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLXNoYWRvdy1yZ2I6ICN7dG8tcmdiKGNvbG9yLm1peCgkY29sb3IsICRib3JkZXIsIDE1JSkpfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1jb2xvcjogI3skYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1iZzogI3skYWN0aXZlLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogI3skYWN0aXZlLWJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93OiAjeyRidG4tYWN0aXZlLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtY29sb3I6ICN7JGRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJnOiAjeyRkaXNhYmxlZC1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogI3skZGlzYWJsZWQtYm9yZGVyfTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgYnRuLXZhcmlhbnQtbWl4aW5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi1vdXRsaW5lLXZhcmlhbnQtbWl4aW5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KFxuICAkY29sb3IsXG4gICRjb2xvci1ob3ZlcjogY29sb3ItY29udHJhc3QoJGNvbG9yKSxcbiAgJGFjdGl2ZS1iYWNrZ3JvdW5kOiAkY29sb3IsXG4gICRhY3RpdmUtYm9yZGVyOiAkY29sb3IsXG4gICRhY3RpdmUtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRhY3RpdmUtYmFja2dyb3VuZClcbikge1xuICAtLSN7JHByZWZpeH1idG4tY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3I6ICN7JGNvbG9yLWhvdmVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJnOiAjeyRhY3RpdmUtYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6ICN7JGFjdGl2ZS1ib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4tZm9jdXMtc2hhZG93LXJnYjogI3t0by1yZ2IoJGNvbG9yKX07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3I6ICN7JGFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYmc6ICN7JGFjdGl2ZS1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JGFjdGl2ZS1ib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLXNoYWRvdzogI3skYnRuLWFjdGl2ZS1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Z3JhZGllbnQ6IG5vbmU7XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi1vdXRsaW5lLXZhcmlhbnQtbWl4aW5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi1naG9zdC12YXJpYW50LW1peGluXG5AbWl4aW4gYnV0dG9uLWdob3N0LXZhcmlhbnQoXG4gICRjb2xvcixcbiAgJGNvbG9yLWhvdmVyOiBjb2xvci1jb250cmFzdCgkY29sb3IpLFxuICAkaG92ZXItYmFja2dyb3VuZDogJGNvbG9yLFxuICAkaG92ZXItYm9yZGVyOiAkY29sb3IsXG4gICRob3Zlci1jb2xvcjogY29sb3ItY29udHJhc3QoJGNvbG9yKSxcbiAgJGFjdGl2ZS1iYWNrZ3JvdW5kOiAkY29sb3IsXG4gICRhY3RpdmUtYm9yZGVyOiAkY29sb3IsXG4gICRhY3RpdmUtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRjb2xvcilcbikge1xuICAtLSN7JHByZWZpeH1idG4tY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZzogI3skaG92ZXItYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6ICN7JGhvdmVyLWJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcjogI3skY29sb3ItaG92ZXJ9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJnOiAjeyRhY3RpdmUtYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRhY3RpdmUtYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1jb2xvcjogI3skYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBidG4tZ2hvc3QtdmFyaWFudC1taXhpblxuXG4vLyBCdXR0b24gc2l6ZXNcbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tc2l6ZS1taXhpblxuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRib3JkZXItcmFkaXVzKSB7XG4gIC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXk6ICN7JHBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXg6ICN7JHBhZGRpbmcteH07XG4gIEBpbmNsdWRlIHJmcygkZm9udC1zaXplLCAtLSN7JHByZWZpeH1idG4tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1yYWRpdXM6ICN7JGJvcmRlci1yYWRpdXN9O1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBidG4tc2l6ZS1taXhpblxuIiwiQHVzZSBcIm1peGlucy90cmFuc2l0aW9uXCIgYXMgKjtcbkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xuXG4uZmFkZSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tZmFkZSk7XG5cbiAgJjpub3QoLnNob3cpIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xsYXBzZS1jbGFzc2VzXG4uY29sbGFwc2Uge1xuICAmOm5vdCguc2hvdykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmNvbGxhcHNpbmcge1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2UpO1xuXG4gICYuY29sbGFwc2UtaG9yaXpvbnRhbCB7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2Utd2lkdGgpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGNvbGxhcHNlLWNsYXNzZXNcbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIm1peGlucy9ib3JkZXItcmFkaXVzXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvYm94LXNoYWRvd1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL2JyZWFrcG9pbnRzXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvY2FyZXRcIiBhcyAqO1xuQHVzZSBcIm1peGlucy9ncmFkaWVudHNcIiBhcyAqO1xuQHVzZSBcInZlbmRvci9yZnNcIiBhcyAqO1xuQHVzZSBcInZhcmlhYmxlc1wiIGFzICo7XG5cbi8vIFRoZSBkcm9wZG93biB3cmFwcGVyIChgPGRpdj5gKVxuLmRyb3B1cCxcbi5kcm9wZW5kLFxuLmRyb3Bkb3duLFxuLmRyb3BzdGFydCxcbi5kcm9wdXAtY2VudGVyLFxuLmRyb3Bkb3duLWNlbnRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgLy8gR2VuZXJhdGUgdGhlIGNhcmV0IGF1dG9tYXRpY2FsbHlcbiAgQGluY2x1ZGUgY2FyZXQoKTtcbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnVcbi5kcm9wZG93bi1tZW51IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGRyb3Bkb3duLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLXppbmRleDogI3skemluZGV4LWRyb3Bkb3dufTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbWluLXdpZHRoOiAjeyRkcm9wZG93bi1taW4td2lkdGh9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1wYWRkaW5nLXg6ICN7JGRyb3Bkb3duLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLXBhZGRpbmcteTogI3skZHJvcGRvd24tcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tc3BhY2VyOiAjeyRkcm9wZG93bi1zcGFjZXJ9O1xuICBAaW5jbHVkZSByZnMoJGRyb3Bkb3duLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9ZHJvcGRvd24tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tY29sb3I6ICN7JGRyb3Bkb3duLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYmc6ICN7JGRyb3Bkb3duLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAjeyRkcm9wZG93bi1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItcmFkaXVzOiAjeyRkcm9wZG93bi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAjeyRkcm9wZG93bi1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAjeyRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1iZzogI3skZHJvcGRvd24tZGl2aWRlci1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXk6ICN7JGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXl9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3gtc2hhZG93OiAjeyRkcm9wZG93bi1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1jb2xvcjogI3skZHJvcGRvd24tbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICN7JGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWJnOiAjeyRkcm9wZG93bi1saW5rLWhvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICN7JGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICN7JGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogI3skZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAjeyRkcm9wZG93bi1pdGVtLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAjeyRkcm9wZG93bi1pdGVtLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1jb2xvcjogI3skZHJvcGRvd24taGVhZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteDogI3skZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXk6ICN7JGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXl9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLWNzcy12YXJzXG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24temluZGV4KTtcbiAgZGlzcGxheTogbm9uZTsgLy8gbm9uZSBieSBkZWZhdWx0LCBidXQgYmxvY2sgb24gXCJvcGVuXCIgb2YgdGhlIG1lbnVcbiAgbWluLXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbWluLXdpZHRoKTtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXBhZGRpbmcteCk7XG4gIG1hcmdpbjogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBtYXJnaW4gb2YgdWxcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1mb250LXNpemUpKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1jb2xvcik7XG4gIHRleHQtYWxpZ246IHN0YXJ0OyAvLyBFbnN1cmVzIHByb3BlciBhbGlnbm1lbnQgaWYgcGFyZW50IGhhcyBpdCBjaGFuZ2VkIChlLmcuLCBtb2RhbCBmb290ZXIpXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm94LXNoYWRvdykpO1xuXG4gICZbZGF0YSN7JGRhdGEtaW5maXh9cG9wcGVyXSB7XG4gICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgIHRvcDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tc3BhY2VyKTtcbiAgfVxuXG4gIEBpZiAkZHJvcGRvd24tcGFkZGluZy15ID09IDAge1xuICAgID4gLmRyb3Bkb3duLWl0ZW06Zmlyc3QtY2hpbGQsXG4gICAgPiBsaTpmaXJzdC1jaGlsZCAuZHJvcGRvd24taXRlbSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cbiAgICA+IC5kcm9wZG93bi1pdGVtOmxhc3QtY2hpbGQsXG4gICAgPiBsaTpsYXN0LWNoaWxkIC5kcm9wZG93bi1pdGVtIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuXG4gIH1cbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHJlc3BvbnNpdmUtYnJlYWtwb2ludHNcbi8vIFdlIGRlbGliZXJhdGVseSBoYXJkY29kZSB0aGUgYGN1aS1gIHByZWZpeCBiZWNhdXNlIHdlIGNoZWNrXG4vLyB0aGlzIGN1c3RvbSBwcm9wZXJ0eSBpbiBKUyB0byBkZXRlcm1pbmUgUG9wcGVyJ3MgcG9zaXRpb25pbmdcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLmtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tc3RhcnQge1xuICAgICAgLS0jeyRwcmVmaXh9cG9zaXRpb246IHN0YXJ0O1xuXG4gICAgICAmW2RhdGEjeyRkYXRhLWluZml4fXBvcHBlcl0ge1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICAgIGluc2V0LWlubGluZS1lbmQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tZW5kIHtcbiAgICAgIC0tI3skcHJlZml4fXBvc2l0aW9uOiBlbmQ7XG5cbiAgICAgICZbZGF0YSN7JGRhdGEtaW5maXh9cG9wcGVyXSB7XG4gICAgICAgIGluc2V0LWlubGluZS1zdGFydDogYXV0bztcbiAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgcmVzcG9uc2l2ZS1icmVha3BvaW50c1xuXG4vLyBBbGxvdyBmb3IgZHJvcGRvd25zIHRvIGdvIGJvdHRvbSB1cCAoYWthLCBkcm9wdXAtbWVudSlcbi8vIEp1c3QgYWRkIC5kcm9wdXAgYWZ0ZXIgdGhlIHN0YW5kYXJkIC5kcm9wZG93biBjbGFzcyBhbmQgeW91J3JlIHNldC5cbi5kcm9wdXAge1xuICAuZHJvcGRvd24tbWVudVtkYXRhI3skZGF0YS1pbmZpeH1wb3BwZXJdIHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXNwYWNlcik7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldCh1cCk7XG4gIH1cbn1cblxuLmRyb3BlbmQge1xuICAuZHJvcGRvd24tbWVudVtkYXRhI3skZGF0YS1pbmZpeH1wb3BwZXJdIHtcbiAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDEwMCU7XG4gICAgaW5zZXQtaW5saW5lLWVuZDogYXV0bztcbiAgICB0b3A6IDA7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXNwYWNlcik7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KGVuZCk7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wc3RhcnQge1xuICAuZHJvcGRvd24tbWVudVtkYXRhI3skZGF0YS1pbmZpeH1wb3BwZXJdIHtcbiAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IGF1dG87XG4gICAgaW5zZXQtaW5saW5lLWVuZDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1zcGFjZXIpO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChzdGFydCk7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gYDxocj5gKSB3aXRoaW4gdGhlIGRyb3Bkb3duXG4uZHJvcGRvd24tZGl2aWRlciB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teSkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1kaXZpZGVyLWJnKTtcbiAgb3BhY2l0eTogMTsgLy8gUmV2aXNpdCBpbiB2NiB0byBkZS1kdXBlIHN0eWxlcyB0aGF0IGNvbmZsaWN0IHdpdGggPGhyPiBlbGVtZW50XG59XG5cbi8vIExpbmtzLCBidXR0b25zLCBhbmQgbW9yZSB3aXRoaW4gdGhlIGRyb3Bkb3duIG1lbnVcbi8vXG4vLyBgPGJ1dHRvbj5gLXNwZWNpZmljIHN0eWxlcyBhcmUgZGVub3RlZCB3aXRoIGAvLyBGb3IgPGJ1dHRvbj5zYFxuLmRyb3Bkb3duLWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1pdGVtLXBhZGRpbmcteCk7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gcHJldmVudCBsaW5rcyBmcm9tIHJhbmRvbWx5IGJyZWFraW5nIG9udG8gbmV3IGxpbmVzXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgYm9yZGVyOiAwOyAvLyBGb3IgYDxidXR0b24+YHNcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1ib3JkZXItcmFkaXVzLCAwKSk7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1ob3Zlci1iZykpO1xuICB9XG5cbiAgJi5hY3RpdmUsXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstYWN0aXZlLWJnKSk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3IpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGlmKCRlbmFibGUtZ3JhZGllbnRzLCBub25lLCBudWxsKTtcbiAgfVxufVxuXG4uZHJvcGRvd24tbWVudS5zaG93IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIERyb3Bkb3duIHNlY3Rpb24gaGVhZGVyc1xuLmRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBmb3IgdXNlIHdpdGggaGVhZGluZyBlbGVtZW50c1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1zbSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLWNvbG9yKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gYXMgd2l0aCA+IGxpID4gYVxufVxuXG4vLyBEcm9wZG93biB0ZXh0XG4uZHJvcGRvd24taXRlbS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1pdGVtLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWNvbG9yKTtcbn1cblxuLy8gRGFyayBkcm9wZG93bnNcbi5kcm9wZG93bi1tZW51LWRhcmsge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgZHJvcGRvd24tZGFyay1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1jb2xvcjogI3skZHJvcGRvd24tZGFyay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJnOiAjeyRkcm9wZG93bi1kYXJrLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJveC1zaGFkb3c6ICN7JGRyb3Bkb3duLWRhcmstYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWRpdmlkZXItYmc6ICN7JGRyb3Bkb3duLWRhcmstZGl2aWRlci1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICN7JGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWxpbmstYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICN7JGRyb3Bkb3duLWRhcmstbGluay1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWxpbmstZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstaGVhZGVyLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBkcm9wZG93bi1kYXJrLWNzcy12YXJzXG59XG4iLCJAdXNlIFwiLi4vdmFyaWFibGVzXCIgYXMgKjtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcmV0LW1peGluc1xuQG1peGluIGNhcmV0LWRvd24oJHdpZHRoOiAkY2FyZXQtd2lkdGgpIHtcbiAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkO1xuICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXVwKCR3aWR0aDogJGNhcmV0LXdpZHRoKSB7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQ7XG4gIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC1lbmQoJHdpZHRoOiAkY2FyZXQtd2lkdGgpIHtcbiAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZDtcbn1cblxuQG1peGluIGNhcmV0LXN0YXJ0KCR3aWR0aDogJGNhcmV0LXdpZHRoKSB7XG4gIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQ7XG4gIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0KFxuICAkZGlyZWN0aW9uOiBkb3duLFxuICAkd2lkdGg6ICRjYXJldC13aWR0aCxcbiAgJHNwYWNpbmc6ICRjYXJldC1zcGFjaW5nLFxuICAkdmVydGljYWwtYWxpZ246ICRjYXJldC12ZXJ0aWNhbC1hbGlnblxuKSB7XG4gIEBpZiAkZW5hYmxlLWNhcmV0IHtcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAkc3BhY2luZztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAkdmVydGljYWwtYWxpZ247XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWRvd24oJHdpZHRoKTtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXVwKCR3aWR0aCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZW5kIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtZW5kKCR3aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gc3RhcnQge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAkc3BhY2luZztcbiAgICAgICAgdmVydGljYWwtYWxpZ246ICR2ZXJ0aWNhbC1hbGlnbjtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtc3RhcnQoJHdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmVtcHR5OjphZnRlciB7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBjYXJldC1taXhpbnNcbiIsIkB1c2UgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL2JveC1zaGFkb3dcIiBhcyAqO1xuQHVzZSBcImJ1dHRvbnNcIiBhcyAqO1xuQHVzZSBcInZhcmlhYmxlc1wiIGFzICo7XG5cbi8vIE1ha2UgdGhlIGRpdiBiZWhhdmUgbGlrZSBhIGJ1dHRvblxuLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvLyBtYXRjaCAuYnRuIGFsaWdubWVudCBnaXZlbiBmb250LXNpemUgaGFjayBhYm92ZVxuXG4gID4gLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLy8gQnJpbmcgdGhlIGhvdmVyLCBmb2N1c2VkLCBhbmQgXCJhY3RpdmVcIiBidXR0b25zIHRvIHRoZSBmcm9udCB0byBvdmVybGF5XG4gIC8vIHRoZSBib3JkZXJzIHByb3Blcmx5XG4gID4gLmJ0bi1jaGVjazpjaGVja2VkICsgLmJ0bixcbiAgPiAuYnRuLWNoZWNrOmZvY3VzICsgLmJ0bixcbiAgPiAuYnRuOmhvdmVyLFxuICA+IC5idG46Zm9jdXMsXG4gID4gLmJ0bjphY3RpdmUsXG4gID4gLmJ0bi5hY3RpdmUge1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbn1cblxuLy8gT3B0aW9uYWw6IEdyb3VwIG11bHRpcGxlIGJ1dHRvbiBncm91cHMgdG9nZXRoZXIgZm9yIGEgdG9vbGJhclxuLmJ0bi10b29sYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4uYnRuLWdyb3VwIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYnRuLWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgd2hlbiBidXR0b25zIGFyZSBuZXh0IHRvIGVhY2ggb3RoZXJcbiAgPiA6bm90KC5idG4tY2hlY2s6Zmlyc3QtY2hpbGQpICsgLmJ0bixcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKC0xICogI3skYnRuLWJvcmRlci13aWR0aH0pOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdDpmaXJzdC1jaGlsZCxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcbiAgfVxuXG4gIC8vIFRoZSBsZWZ0IHJhZGl1cyBzaG91bGQgYmUgMCBpZiB0aGUgYnV0dG9uIGlzOlxuICAvLyAtIHRoZSBcInRoaXJkIG9yIG1vcmVcIiBjaGlsZFxuICAvLyAtIHRoZSBzZWNvbmQgY2hpbGQgYW5kIHRoZSBwcmV2aW91cyBlbGVtZW50IGlzbid0IGAuYnRuLWNoZWNrYCAobWFraW5nIGl0IHRoZSBmaXJzdCBjaGlsZCB2aXN1YWxseSlcbiAgLy8gLSBwYXJ0IG9mIGEgYnRuLWdyb3VwIHdoaWNoIGlzbid0IHRoZSBmaXJzdCBjaGlsZFxuICA+IC5idG46bnRoLWNoaWxkKG4gKyAzKSxcbiAgPiA6bm90KC5idG4tY2hlY2spICsgLmJ0bixcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cygwKTtcbiAgfVxufVxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBidXR0b24gc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyIG1hbmlwdWxhdGlvbi5cblxuLmJ0bi1ncm91cC1zbSA+IC5idG4geyBAZXh0ZW5kIC5idG4tc207IH1cbi5idG4tZ3JvdXAtbGcgPiAuYnRuIHsgQGV4dGVuZCAuYnRuLWxnOyB9XG5cblxuLy9cbi8vIFNwbGl0IGJ1dHRvbiBkcm9wZG93bnNcbi8vXG5cbi5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcblxuICAmOjphZnRlcixcbiAgLmRyb3B1cCAmOjphZnRlcixcbiAgLmRyb3BlbmQgJjo6YWZ0ZXIge1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gIH1cblxuICAuZHJvcHN0YXJ0ICY6OmJlZm9yZSB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gIH1cbn1cblxuLmJ0bi1zbSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbn1cblxuLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbn1cblxuXG4vLyBUaGUgY2xpY2thYmxlIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG1lbnVcbi8vIFNldCB0aGUgc2FtZSBpbnNldCBzaGFkb3cgYXMgdGhlIDphY3RpdmUgc3RhdGVcbi5idG4tZ3JvdXAuc2hvdyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcblxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXG4gICYuYnRuLWxpbmsge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gVmVydGljYWwgYnV0dG9uIGdyb3Vwc1xuLy9cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygtMSAqICN7JGJ0bi1ib3JkZXItd2lkdGh9KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgfVxuXG4gIC8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cblxuICAvLyBUaGUgdG9wIHJhZGl1cyBzaG91bGQgYmUgMCBpZiB0aGUgYnV0dG9uIGlzOlxuICAvLyAtIHRoZSBcInRoaXJkIG9yIG1vcmVcIiBjaGlsZFxuICAvLyAtIHRoZSBzZWNvbmQgY2hpbGQgYW5kIHRoZSBwcmV2aW91cyBlbGVtZW50IGlzbid0IGAuYnRuLWNoZWNrYCAobWFraW5nIGl0IHRoZSBmaXJzdCBjaGlsZCB2aXN1YWxseSlcbiAgLy8gLSBwYXJ0IG9mIGEgYnRuLWdyb3VwIHdoaWNoIGlzbid0IHRoZSBmaXJzdCBjaGlsZFxuICA+IC5idG46bnRoLWNoaWxkKG4gKyAzKSxcbiAgPiA6bm90KC5idG4tY2hlY2spICsgLmJ0bixcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cbiIsIkB1c2UgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL2dyYWRpZW50c1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL3RyYW5zaXRpb25cIiBhcyAqO1xuQHVzZSBcInZlbmRvci9yZnNcIiBhcyAqO1xuQHVzZSBcInZhcmlhYmxlc1wiIGFzICo7XG5cbi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBLaWNrc3RhcnQgYW55IG5hdmlnYXRpb24gY29tcG9uZW50IHdpdGggYSBzZXQgb2Ygc3R5bGUgcmVzZXRzLiBXb3JrcyB3aXRoXG4vLyBgPG5hdj5gcywgYDx1bD5gcyBvciBgPG9sPmBzLlxuXG4ubmF2IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXg6ICN7JG5hdi1saW5rLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteTogI3skbmF2LWxpbmstcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRuYXYtbGluay1mb250LXNpemUsIC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtd2VpZ2h0OiAjeyRuYXYtbGluay1mb250LXdlaWdodH07XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWNvbG9yOiAjeyRuYXYtbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWhvdmVyLWNvbG9yOiAjeyRuYXYtbGluay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAjeyRuYXYtbGluay1kaXNhYmxlZC1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2LWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm5hdi1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtc2l6ZSkpO1xuICBmb250LXdlaWdodDogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtd2VpZ2h0KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRuYXYtbGluay10cmFuc2l0aW9uKTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAkbmF2LWxpbmstZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlIGxpZ2h0ZW5zIHRleHRcbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG59XG5cbi8vXG4vLyBUYWJzXG4vL1xuXG4ubmF2LXRhYnMge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2LXRhYnMtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAjeyRuYXYtdGFicy1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItY29sb3I6ICN7JG5hdi10YWJzLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci1yYWRpdXM6ICN7JG5hdi10YWJzLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogI3skbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogI3skbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogI3skbmF2LXRhYnMtbGluay1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2LXRhYnMtY3NzLXZhcnNcblxuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLWNvbG9yKTtcblxuICAubmF2LWxpbmsge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXJhZGl1cykpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIC8vIFByZXZlbnRzIGFjdGl2ZSAubmF2LWxpbmsgdGFiIG92ZXJsYXBwaW5nIGZvY3VzIG91dGxpbmUgb2YgcHJldmlvdXMvbmV4dCAubmF2LWxpbmtcbiAgICAgIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbmsge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICAvLyBNYWtlIGRyb3Bkb3duIGJvcmRlciBvdmVybGFwIHRhYiBib3JkZXJcbiAgICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIC8vIFJlbW92ZSB0aGUgdG9wIHJvdW5kZWQgY29ybmVycyBoZXJlIHNpbmNlIHRoZXJlIGlzIGEgaGFyZCBlZGdlIGFib3ZlIHRoZSBtZW51XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vL1xuLy8gUGlsbHNcbi8vXG5cbi5uYXYtcGlsbHMge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2LXBpbGxzLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAjeyRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fW5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogI3skbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAjeyRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmd9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdi1waWxscy1jc3MtdmFyc1xuXG4gIC5uYXYtbGluayB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWJvcmRlci1yYWRpdXMpKTtcbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5zaG93ID4gLm5hdi1saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcik7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fW5hdi1waWxscy1saW5rLWFjdGl2ZS1iZykpO1xuICB9XG59XG5cblxuLy9cbi8vIFVuZGVybGluZVxuLy9cblxuLm5hdi11bmRlcmxpbmUge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2LXVuZGVybGluZS1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWdhcDogI3skbmF2LXVuZGVybGluZS1nYXB9O1xuICAtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWJvcmRlci13aWR0aDogI3skbmF2LXVuZGVybGluZS1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWxpbmstYWN0aXZlLWNvbG9yOiAjeyRuYXYtdW5kZXJsaW5lLWxpbmstYWN0aXZlLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXYtdW5kZXJsaW5lLWNzcy12YXJzXG5cbiAgZ2FwOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1nYXApO1xuXG4gIC5uYXYtbGluayB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtYm9yZGVyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLnNob3cgPiAubmF2LWxpbmsge1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtbGluay1hY3RpdmUtY29sb3IpO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBVbmRlcmxpbmUgYm9yZGVyXG4vL1xuXG4ubmF2LXVuZGVybGluZS1ib3JkZXIge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2LXVuZGVybGluZS1ib3JkZXItY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1ib3JkZXItZ2FwOiAjeyRuYXYtdW5kZXJsaW5lLWJvcmRlci1nYXB9O1xuICAtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWJvcmRlci1ib3JkZXItY29sb3I6ICN7JG5hdi11bmRlcmxpbmUtYm9yZGVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtYm9yZGVyLWJvcmRlci13aWR0aDogI3skbmF2LXVuZGVybGluZS1ib3JkZXItYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1ib3JkZXItbGluay1wYWRkaW5nLXg6ICN7JG5hdi11bmRlcmxpbmUtYm9yZGVyLWxpbmstcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1ib3JkZXItbGluay1wYWRkaW5nLXk6ICN7JG5hdi11bmRlcmxpbmUtYm9yZGVyLWxpbmstcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1ib3JkZXItbGluay1jb2xvcjogI3skbmF2LXVuZGVybGluZS1ib3JkZXItbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtYm9yZGVyLWxpbmstYWN0aXZlLWNvbG9yOiAjeyRuYXYtdW5kZXJsaW5lLWJvcmRlci1saW5rLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtYm9yZGVyLWxpbmstZGlzYWJsZWQtY29sb3I6ICN7JG5hdi11bmRlcmxpbmUtYm9yZGVyLWxpbmstZGlzYWJsZWQtY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdi11bmRlcmxpbmUtYm9yZGVyLWNzcy12YXJzXG5cbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWJvcmRlci1saW5rLWNvbG9yKTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstZGlzYWJsZWQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWJvcmRlci1saW5rLWRpc2FibGVkLWNvbG9yKTtcblxuICBnYXA6IHZhcigtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWJvcmRlci1nYXApO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1ib3JkZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1ib3JkZXItYm9yZGVyLWNvbG9yKTtcblxuICAubmF2LWxpbmsge1xuICAgIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWJvcmRlci1saW5rLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtYm9yZGVyLWxpbmstcGFkZGluZy14KTtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtYm9yZGVyLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWJvcmRlci1ib3JkZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAuc2hvdyA+IC5uYXYtbGluayB7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1ib3JkZXItbGluay1hY3RpdmUtY29sb3IpO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBFbmNsb3NlZFxuLy9cblxuLm5hdi1lbmNsb3NlZCB7XG4gIC0tI3skcHJlZml4fW5hdi1lbmNsb3NlZC1wYWRkaW5nOiAjeyRuYXYtZW5jbG9zZWQtcGFkZGluZ307XG4gIC0tI3skcHJlZml4fW5hdi1lbmNsb3NlZC1iZzogI3skbmF2LWVuY2xvc2VkLWJnfTtcbiAgLS0jeyRwcmVmaXh9bmF2LWVuY2xvc2VkLWJvcmRlci1yYWRpdXM6ICN7JG5hdi1lbmNsb3NlZC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bmF2LWVuY2xvc2VkLWxpbmstcGFkZGluZy14OiAjeyRuYXYtZW5jbG9zZWQtbGluay1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1uYXYtZW5jbG9zZWQtbGluay1wYWRkaW5nLXk6ICN7JG5hdi1lbmNsb3NlZC1saW5rLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fW5hdi1lbmNsb3NlZC1saW5rLWNvbG9yOiAjeyRuYXYtZW5jbG9zZWQtbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi1lbmNsb3NlZC1saW5rLWJvcmRlci13aWR0aDogI3skbmF2LWVuY2xvc2VkLWxpbmstYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bmF2LWVuY2xvc2VkLWxpbmstYWN0aXZlLWNvbG9yOiAjeyRuYXYtZW5jbG9zZWQtbGluay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtZW5jbG9zZWQtbGluay1hY3RpdmUtYmc6ICN7JG5hdi1lbmNsb3NlZC1saW5rLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fW5hdi1lbmNsb3NlZC1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JG5hdi1lbmNsb3NlZC1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtZW5jbG9zZWQtbGluay1ob3Zlci1ib3gtc2hhZG93OiAjeyRuYXYtZW5jbG9zZWQtbGluay1ob3Zlci1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9bmF2LWVuY2xvc2VkLWxpbmstZGlzYWJsZWQtY29sb3I6ICN7JG5hdi1lbmNsb3NlZC1saW5rLWRpc2FibGVkLWNvbG9yfTtcblxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fW5hdi1lbmNsb3NlZC1wYWRkaW5nKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1lbmNsb3NlZC1iZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fW5hdi1lbmNsb3NlZC1ib3JkZXItcmFkaXVzKSk7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLSN7JHByZWZpeH1uYXYtZW5jbG9zZWQtbGluay1wYWRkaW5nLXkpIC0gdmFyKC0tI3skcHJlZml4fW5hdi1lbmNsb3NlZC1saW5rLWJvcmRlci13aWR0aCkpIGNhbGModmFyKC0tI3skcHJlZml4fW5hdi1lbmNsb3NlZC1saW5rLXBhZGRpbmcteCkgLSB2YXIoLS0jeyRwcmVmaXh9bmF2LWVuY2xvc2VkLWxpbmstYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtZW5jbG9zZWQtbGluay1jb2xvcik7XG4gICAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9bmF2LWVuY2xvc2VkLWxpbmstYm9yZGVyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKGNhbGModmFyKC0tI3skcHJlZml4fW5hdi1lbmNsb3NlZC1ib3JkZXItcmFkaXVzKSAtIHZhcigtLSN7JHByZWZpeH1uYXYtZW5jbG9zZWQtcGFkZGluZykpKTtcblxuICAgICYuZGlzYWJsZWQsXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1lbmNsb3NlZC1saW5rLWRpc2FibGVkLWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAuc2hvdyA+IC5uYXYtbGluayB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtZW5jbG9zZWQtbGluay1hY3RpdmUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtZW5jbG9zZWQtbGluay1hY3RpdmUtYmcpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLSN7JHByZWZpeH1uYXYtZW5jbG9zZWQtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcblxuICAgICY6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9bmF2LWVuY2xvc2VkLWxpbmstaG92ZXItYm94LXNoYWRvdyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEVuY2xvc2VkIHBpbGxzXG5cbi5uYXYtZW5jbG9zZWQtcGlsbHMge1xuICAtLSN7JHByZWZpeH1uYXYtZW5jbG9zZWQtYm9yZGVyLXJhZGl1czogI3skYm9yZGVyLXJhZGl1cy1waWxsfTtcbn1cblxuXG4vL1xuLy8gSnVzdGlmaWVkIHZhcmlhbnRzXG4vL1xuXG4ubmF2LWZpbGwge1xuICA+IC5uYXYtbGluayxcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLm5hdi1qdXN0aWZpZWQge1xuICA+IC5uYXYtbGluayxcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLm5hdi1maWxsLFxuLm5hdi1qdXN0aWZpZWQge1xuICAubmF2LWl0ZW0gLm5hdi1saW5rIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gTWFrZSBzdXJlIGJ1dHRvbiB3aWxsIGdyb3dcbiAgfVxufVxuXG5cbi8vIFRhYmJhYmxlIHRhYnNcbi8vXG4vLyBIaWRlIHRhYmJhYmxlIHBhbmVzIHRvIHN0YXJ0LCBzaG93IHRoZW0gd2hlbiBgLmFjdGl2ZWBcblxuLnRhYi1jb250ZW50IHtcbiAgPiAudGFiLXBhbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgPiAuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiZnVuY3Rpb25zL2VzY2FwZS1zdmdcIiBhcyAqO1xuQHVzZSBcIm1peGlucy9ib3JkZXItcmFkaXVzXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvYm94LXNoYWRvd1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL2JyZWFrcG9pbnRzXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvY29sb3ItbW9kZVwiIGFzICo7XG5AdXNlIFwibWl4aW5zL2RlcHJlY2F0ZVwiIGFzICo7XG5AdXNlIFwibWl4aW5zL2dyYWRpZW50c1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL3RyYW5zaXRpb25cIiBhcyAqO1xuQHVzZSBcInZlbmRvci9yZnNcIiBhcyAqO1xuQHVzZSBcInZhcmlhYmxlc1wiIGFzICo7XG5cbi8vIE5hdmJhclxuLy9cbi8vIFByb3ZpZGUgYSBzdGF0aWMgbmF2YmFyIGZyb20gd2hpY2ggd2UgZXhwYW5kIHRvIGNyZWF0ZSBmdWxsLXdpZHRoLCBmaXhlZCwgYW5kXG4vLyBvdGhlciBuYXZiYXIgdmFyaWF0aW9ucy5cblxuLm5hdmJhciB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXBhZGRpbmcteDogI3tpZigkbmF2YmFyLXBhZGRpbmcteCA9PSBudWxsLCAwLCAkbmF2YmFyLXBhZGRpbmcteCl9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItcGFkZGluZy15OiAjeyRuYXZiYXItcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItaG92ZXItY29sb3I6ICN7JG5hdmJhci1saWdodC1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1kaXNhYmxlZC1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWFjdGl2ZS1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICN7JG5hdmJhci1icmFuZC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtbWFyZ2luLWVuZDogI3skbmF2YmFyLWJyYW5kLW1hcmdpbi1lbmR9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtZm9udC1zaXplOiAjeyRuYXZiYXItYnJhbmQtZm9udC1zaXplfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtaG92ZXItY29sb3I6ICN7JG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6ICN7JG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICN7JG5hdmJhci10b2dnbGVyLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogI3skbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAjeyRuYXZiYXItdG9nZ2xlci1mb250LXNpemV9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1pY29uLWJnOiAje2VzY2FwZS1zdmcoJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmcpfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAjeyRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItZm9jdXMtd2lkdGg6ICN7JG5hdmJhci10b2dnbGVyLWZvY3VzLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItdHJhbnNpdGlvbjogI3skbmF2YmFyLXRvZ2dsZXItdHJhbnNpdGlvbn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLWNzcy12YXJzXG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IC8vIGFsbG93IHVzIHRvIGRvIHRoZSBsaW5lIGJyZWFrIGZvciBjb2xsYXBzaW5nIGNvbnRlbnRcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBzcGFjZSBvdXQgYnJhbmQgZnJvbSBsb2dvXG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXBhZGRpbmcteCk7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCk7XG5cbiAgLy8gQmVjYXVzZSBmbGV4IHByb3BlcnRpZXMgYXJlbid0IGluaGVyaXRlZCwgd2UgbmVlZCB0byByZWRlY2xhcmUgdGhlc2UgZmlyc3RcbiAgLy8gZmV3IHByb3BlcnRpZXMgc28gdGhhdCBjb250ZW50IG5lc3RlZCB3aXRoaW4gYmVoYXZlIHByb3Blcmx5LlxuICAvLyBUaGUgYGZsZXgtd3JhcGAgcHJvcGVydHkgaXMgaW5oZXJpdGVkIHRvIHNpbXBsaWZ5IHRoZSBleHBhbmRlZCBuYXZiYXJzXG4gICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogaW5oZXJpdDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gID4gLmNvbnRhaW5lcixcbiAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAZXh0ZW5kICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzO1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgPiAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aHMpfSB7XG4gICAgICBAZXh0ZW5kICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciBicmFuZFxuLy9cbi8vIFVzZWQgZm9yIGJyYW5kLCBwcm9qZWN0LCBvciBzaXRlIG5hbWVzLlxuXG4ubmF2YmFyLWJyYW5kIHtcbiAgcGFkZGluZy10b3A6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtcGFkZGluZy15KTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtcGFkZGluZy15KTtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtbWFyZ2luLWVuZCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgbmF2XG4vL1xuLy8gQ3VzdG9tIG5hdmJhciBuYXZpZ2F0aW9uIChkb2Vzbid0IHJlcXVpcmUgYC5uYXZgLCBidXQgZG9lcyBtYWtlIHVzZSBvZiBgLm5hdi1saW5rYCkuXG5cbi5uYXZiYXItbmF2IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci1uYXYtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstcGFkZGluZy14OiAwO1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXk6ICN7JG5hdi1saW5rLXBhZGRpbmcteX07XG4gIEBpbmNsdWRlIHJmcygkbmF2LWxpbmstZm9udC1zaXplLCAtLSN7JHByZWZpeH1uYXYtbGluay1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1mb250LXdlaWdodDogI3skbmF2LWxpbmstZm9udC13ZWlnaHR9O1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1jb2xvcik7XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWhvdmVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWhvdmVyLWNvbG9yKTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstZGlzYWJsZWQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItZGlzYWJsZWQtY29sb3IpO1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1uYXYtY3NzLXZhcnNcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvLyBjYW5ub3QgdXNlIGBpbmhlcml0YCB0byBnZXQgdGhlIGAubmF2YmFyYHMgdmFsdWVcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLm5hdi1saW5rIHtcbiAgICAmLmFjdGl2ZSxcbiAgICAmLnNob3cge1xuICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYWN0aXZlLWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0ZXh0XG4vL1xuLy9cblxuLm5hdmJhci10ZXh0IHtcbiAgcGFkZGluZy10b3A6ICRuYXYtbGluay1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkbmF2LWxpbmstcGFkZGluZy15O1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1jb2xvcik7XG5cbiAgYSxcbiAgYTpob3ZlcixcbiAgYTpmb2N1cyAge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWFjdGl2ZS1jb2xvcik7XG4gIH1cbn1cblxuXG4vLyBSZXNwb25zaXZlIG5hdmJhclxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIHJlc3BvbnNpdmUgY29sbGFwc2luZyBhbmQgdG9nZ2xpbmcgb2YgbmF2YmFyIGNvbnRlbnRzLlxuLy8gUG93ZXJlZCBieSB0aGUgY29sbGFwc2UgQm9vdHN0cmFwIEphdmFTY3JpcHQgcGx1Z2luLlxuXG4vLyBXaGVuIGNvbGxhcHNlZCwgcHJldmVudCB0aGUgdG9nZ2xlYWJsZSBuYXZiYXIgY29udGVudHMgZnJvbSBhcHBlYXJpbmcgaW5cbi8vIHRoZSBkZWZhdWx0IGZsZXhib3ggcm93IG9yaWVudGF0aW9uLiBSZXF1aXJlcyB0aGUgdXNlIG9mIGBmbGV4LXdyYXA6IHdyYXBgXG4vLyBvbiB0aGUgYC5uYXZiYXJgIHBhcmVudC5cbi5uYXZiYXItY29sbGFwc2Uge1xuICBmbGV4LWdyb3c6IDE7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIC8vIEZvciBhbHdheXMgZXhwYW5kZWQgb3IgZXh0cmEgZnVsbCBuYXZiYXJzLCBlbnN1cmUgY29udGVudCBhbGlnbnMgaXRzZWxmXG4gIC8vIHByb3Blcmx5IHZlcnRpY2FsbHkuIENhbiBiZSBlYXNpbHkgb3ZlcnJpZGRlbiB3aXRoIGZsZXggdXRpbGl0aWVzLlxuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vLyBCdXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBuYXZiYXIgd2hlbiBpbiBpdHMgY29sbGFwc2VkIHN0YXRlXG4ubmF2YmFyLXRvZ2dsZXIge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1mb250LXNpemUpKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1ib3JkZXItY29sb3IpOyAvLyByZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci10cmFuc2l0aW9uKSk7XG5cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWZvY3VzLXdpZHRoKTtcbiAgfVxufVxuXG4vLyBLZWVwIGFzIGEgc2VwYXJhdGUgZWxlbWVudCBzbyBmb2xrcyBjYW4gZWFzaWx5IG92ZXJyaWRlIGl0IHdpdGggYW5vdGhlciBpY29uXG4vLyBvciBpbWFnZSBmaWxlIGFzIG5lZWRlZC5cbi5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS41ZW07XG4gIGhlaWdodDogMS41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1pY29uLWJnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG59XG5cbi5uYXZiYXItbmF2LXNjcm9sbCB7XG4gIG1heC1oZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1zY3JvbGwtaGVpZ2h0LCA3NXZoKTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci1leHBhbmQtbG9vcFxuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAubmF2YmFyLWV4cGFuZC0qYCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nXG4vLyB3aGVyZSB5b3VyIG5hdmJhciBjb2xsYXBzZXMuXG4ubmF2YmFyLWV4cGFuZCB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC5rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3Mvc2VsZWN0b3Itbm8tdW5pb24tY2xhc3MtbmFtZVxuICAgICYjeyRpbmZpeH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmV4dCkge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgIC5uYXZiYXItbmF2IHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteCk7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLW5hdi1zY3JvbGwge1xuICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLXRvZ2dsZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAub2ZmY2FudmFzIHtcbiAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgIHotaW5kZXg6IGF1dG87XG4gICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG5vbmUpO1xuICAgICAgICAgIC8vIHN0eWxlbGludC1lbmFibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbiAgICAgICAgICAub2ZmY2FudmFzLWhlYWRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5vZmZjYW52YXMtYm9keSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1leHBhbmQtbG9vcFxuXG4vLyBOYXZiYXIgdGhlbWVzXG4vL1xuLy8gU3R5bGVzIGZvciBzd2l0Y2hpbmcgYmV0d2VlbiBuYXZiYXJzIHdpdGggbGlnaHQgb3IgZGFyayBiYWNrZ3JvdW5kLlxuXG4ubmF2YmFyLWxpZ2h0IHtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYC5uYXZiYXItbGlnaHRgXCIsIFwidjQuMi42XCIsIFwidjYuMC4wXCIsIHRydWUpO1xufVxuXG4ubmF2YmFyLWRhcmssXG4ubmF2YmFyW2RhdGEjeyRkYXRhLWluZml4fXRoZW1lPVwiZGFya1wiXSB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItZGFyay1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXZiYXItY29sb3I6ICN7JG5hdmJhci1kYXJrLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWhvdmVyLWNvbG9yOiAjeyRuYXZiYXItZGFyay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1kaXNhYmxlZC1jb2xvcjogI3skbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYWN0aXZlLWNvbG9yOiAjeyRuYXZiYXItZGFyay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtY29sb3I6ICN7JG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWhvdmVyLWNvbG9yOiAjeyRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWJvcmRlci1jb2xvcjogI3skbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1pY29uLWJnOiAje2VzY2FwZS1zdmcoJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZyl9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1kYXJrLWNzcy12YXJzXG59XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaykge1xuICAgIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICAgIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWljb24tYmc6ICN7ZXNjYXBlLXN2ZygkbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnKX07XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwibWl4aW5zL2JvcmRlci1yYWRpdXNcIiBhcyAqO1xuQHVzZSBcIm1peGlucy9ib3gtc2hhZG93XCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvYnJlYWtwb2ludHNcIiBhcyAqO1xuQHVzZSBcInZhcmlhYmxlc1wiIGFzICo7XG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmNhcmQge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1jYXJkLXNwYWNlci15OiAjeyRjYXJkLXNwYWNlci15fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1zcGFjZXIteDogI3skY2FyZC1zcGFjZXIteH07XG4gIC0tI3skcHJlZml4fWNhcmQtdGl0bGUtc3BhY2VyLXk6ICN7JGNhcmQtdGl0bGUtc3BhY2VyLXl9O1xuICAtLSN7JHByZWZpeH1jYXJkLXRpdGxlLWNvbG9yOiAjeyRjYXJkLXRpdGxlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1zdWJ0aXRsZS1jb2xvcjogI3skY2FyZC1zdWJ0aXRsZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXdpZHRoOiAjeyRjYXJkLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yOiAjeyRjYXJkLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXJhZGl1czogI3skY2FyZC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3gtc2hhZG93OiAjeyRjYXJkLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICN7JGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteTogI3skY2FyZC1jYXAtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14OiAjeyRjYXJkLWNhcC1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNhcC1iZzogI3skY2FyZC1jYXAtYmd9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNhcC1jb2xvcjogI3skY2FyZC1jYXAtY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYXJkLWhlaWdodDogI3skY2FyZC1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNvbG9yOiAjeyRjYXJkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1iZzogI3skY2FyZC1iZ307XG4gIC0tI3skcHJlZml4fWNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogI3skY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ncm91cC1tYXJnaW46ICN7JGNhcmQtZ3JvdXAtbWFyZ2lufTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBjYXJkLWNzcy12YXJzXG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDA7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yMjc0MCNpc3N1ZWNvbW1lbnQtMzA1ODY4MTA2XG4gIGhlaWdodDogdmFyKC0tI3skcHJlZml4fWNhcmQtaGVpZ2h0KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1jYXJkLWJveC1zaGFkb3cpKTtcblxuICA+IGhyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICA+IC5saXN0LWdyb3VwIHtcbiAgICBib3JkZXItdG9wOiBpbmhlcml0O1xuICAgIGJvcmRlci1ib3R0b206IGluaGVyaXQ7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cbiAgfVxuXG4gIC8vIER1ZSB0byBzcGVjaWZpY2l0eSBvZiB0aGUgYWJvdmUgc2VsZWN0b3IgKGAuY2FyZCA+IC5saXN0LWdyb3VwYCksIHdlIG11c3RcbiAgLy8gdXNlIGEgY2hpbGQgc2VsZWN0b3IgaGVyZSB0byBwcmV2ZW50IGRvdWJsZSBib3JkZXJzLlxuICA+IC5jYXJkLWhlYWRlciArIC5saXN0LWdyb3VwLFxuICA+IC5saXN0LWdyb3VwICsgLmNhcmQtZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbi5jYXJkLWJvZHkge1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgZm9yIGRlY2tzIGFuZCBncm91cHMgc28gdGhhdCBjYXJkIGJsb2NrcyB0YWtlIHVwXG4gIC8vIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGUsIGVuc3VyaW5nIGZvb3RlcnMgYXJlIGFsaWduZWQgdG8gdGhlIGJvdHRvbS5cbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1jYXJkLXNwYWNlci15KSB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1zcGFjZXIteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jb2xvcik7XG59XG5cbi5jYXJkLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWNhcmQtdGl0bGUtc3BhY2VyLXkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtdGl0bGUtY29sb3IpO1xufVxuXG4uY2FyZC1zdWJ0aXRsZSB7XG4gIG1hcmdpbi10b3A6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWNhcmQtdGl0bGUtc3BhY2VyLXkpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLXN1YnRpdGxlLWNvbG9yKTtcbn1cblxuLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtbGluayB7XG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICB9XG5cbiAgKyAuY2FyZC1saW5rIHtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1zcGFjZXIteCk7XG4gIH1cbn1cblxuLy9cbi8vIE9wdGlvbmFsIHRleHR1YWwgY2Fwc1xuLy9cblxuLmNhcmQtaGVhZGVyIHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlbW92ZXMgdGhlIGRlZmF1bHQgbWFyZ2luLWJvdHRvbSBvZiA8aE4+XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtYmcpO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1jb2xvcik7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSAwIDApO1xuICB9XG59XG5cbi5jYXJkLWZvb3RlciB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLWJnKTtcbiAgYm9yZGVyLXRvcDogdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItY29sb3IpO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgdmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykgdmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICB9XG59XG5cblxuLy9cbi8vIEhlYWRlciBuYXZzXG4vL1xuXG4uY2FyZC1oZWFkZXItdGFicyB7XG4gIG1hcmdpbi1yaWdodDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy15KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1iZyk7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtYmcpO1xuICB9XG59XG5cbi5jYXJkLWhlYWRlci1waWxscyB7XG4gIG1hcmdpbi1yaWdodDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3Rcbn1cblxuLy8gQ2FyZCBpbWFnZVxuLmNhcmQtaW1nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWNhcmQtaW1nLW92ZXJsYXktcGFkZGluZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIHdpZHRoOiAxMDAlOyAvLyBSZXF1aXJlZCBiZWNhdXNlIHdlIHVzZSBmbGV4Ym94IGFuZCB0aGlzIGluaGVyZW50bHkgYXBwbGllcyBhbGlnbi1zZWxmOiBzdHJldGNoXG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy10b3Age1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy1ib3R0b20ge1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG59XG5cblxuLy9cbi8vIENhcmQgZ3JvdXBzXG4vL1xuXG4uY2FyZC1ncm91cCB7XG4gIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgPiAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWNhcmQtZ3JvdXAtbWFyZ2luKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAgIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gICAgPiAuY2FyZCB7XG4gICAgICBmbGV4OiAxIDAgMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICsgLmNhcmQge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBIYW5kbGUgcm91bmRlZCBjb3JuZXJzXG4gICAgICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcblxuICAgICAgICAgID4gLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICA+IC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgPiAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgID4gLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1zdGFydC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICA+IC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgPiAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgPiAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgID4gY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJmdW5jdGlvbnMvZXNjYXBlLXN2Z1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL2JvcmRlci1yYWRpdXNcIiBhcyAqO1xuQHVzZSBcIm1peGlucy9jb2xvci1tb2RlXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvdHJhbnNpdGlvblwiIGFzICo7XG5AdXNlIFwidmVuZG9yL3Jmc1wiIGFzICo7XG5AdXNlIFwidmFyaWFibGVzXCIgYXMgKjtcbkB1c2UgXCJ2YXJpYWJsZXMtZGFya1wiIGFzICo7XG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmFjY29yZGlvbiB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBhY2NvcmRpb24tY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWNvbG9yOiAjeyRhY2NvcmRpb24tY29sb3J9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYmc6ICN7JGFjY29yZGlvbi1iZ307XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi10cmFuc2l0aW9uOiAjeyRhY2NvcmRpb24tdHJhbnNpdGlvbn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItY29sb3I6ICN7JGFjY29yZGlvbi1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXdpZHRoOiAjeyRhY2NvcmRpb24tYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1yYWRpdXM6ICN7JGFjY29yZGlvbi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXM6ICN7JGFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1wYWRkaW5nLXg6ICN7JGFjY29yZGlvbi1idXR0b24tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1wYWRkaW5nLXk6ICN7JGFjY29yZGlvbi1idXR0b24tcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1jb2xvcjogI3skYWNjb3JkaW9uLWJ1dHRvbi1jb2xvcn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tYmc6ICN7JGFjY29yZGlvbi1idXR0b24tYmd9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb246ICN7ZXNjYXBlLXN2ZygkYWNjb3JkaW9uLWJ1dHRvbi1pY29uKX07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi13aWR0aDogI3skYWNjb3JkaW9uLWljb24td2lkdGh9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNmb3JtOiAjeyRhY2NvcmRpb24taWNvbi10cmFuc2Zvcm19O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNpdGlvbjogI3skYWNjb3JkaW9uLWljb24tdHJhbnNpdGlvbn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tYWN0aXZlLWljb246ICN7ZXNjYXBlLXN2ZygkYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtaWNvbil9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWZvY3VzLWJveC1zaGFkb3c6ICN7JGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib2R5LXBhZGRpbmcteDogI3skYWNjb3JkaW9uLWJvZHktcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvZHktcGFkZGluZy15OiAjeyRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWNvbG9yOiAjeyRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1hY3RpdmUtYmc6ICN7JGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWJnfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBhY2NvcmRpb24tY3NzLXZhcnNcbn1cblxuLmFjY29yZGlvbi1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLXBhZGRpbmcteCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWJhc2UpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBzdGFydDsgLy8gUmVzZXQgYnV0dG9uIHN0eWxlXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWJnKTtcbiAgYm9yZGVyOiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICBvdmVyZmxvdy1hbmNob3I6IG5vbmU7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi10cmFuc2l0aW9uKSk7XG5cbiAgJjpub3QoLmNvbGxhcHNlZCkge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1hY3RpdmUtYmcpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXdpZHRoKSkgMCB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1jb2xvcik7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1hY3RpdmUtaWNvbik7XG4gICAgICB0cmFuc2Zvcm06IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNmb3JtKTtcbiAgICB9XG4gIH1cblxuICAvLyBBY2NvcmRpb24gaWNvblxuICAmOjphZnRlciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24td2lkdGgpO1xuICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi13aWR0aCk7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogYXV0bztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24pO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXdpZHRoKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNpdGlvbikpO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgei1pbmRleDogMjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDM7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgfVxufVxuXG4uYWNjb3JkaW9uLWhlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5hY2NvcmRpb24taXRlbSB7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1iZyk7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLWNvbG9yKTtcblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXJhZGl1cykpO1xuXG4gICAgPiAuYWNjb3JkaW9uLWhlYWRlciAuYWNjb3JkaW9uLWJ1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG4gIH1cblxuICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cblxuICAvLyBPbmx5IHNldCBhIGJvcmRlci1yYWRpdXMgb24gdGhlIGxhc3QgaXRlbSBpZiB0aGUgYWNjb3JkaW9uIGlzIGNvbGxhcHNlZFxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItcmFkaXVzKSk7XG5cbiAgICA+IC5hY2NvcmRpb24taGVhZGVyIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgICAgICYuY29sbGFwc2VkIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiAuYWNjb3JkaW9uLWNvbGxhcHNlIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cbiAgfVxufVxuXG4uYWNjb3JkaW9uLWJvZHkge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvZHktcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvZHktcGFkZGluZy14KTtcbn1cblxuXG4vLyBGbHVzaCBhY2NvcmRpb24gaXRlbXNcbi8vXG4vLyBSZW1vdmUgYm9yZGVycyBhbmQgYm9yZGVyLXJhZGl1cyB0byBrZWVwIGFjY29yZGlvbiBpdGVtcyBlZGdlLXRvLWVkZ2UuXG5cbi5hY2NvcmRpb24tZmx1c2gge1xuICA+IC5hY2NvcmRpb24taXRlbSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHsgYm9yZGVyLXRvcDogMDsgfVxuICAgICY6bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b206IDA7IH1cblxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW1heC1jbGFzc1xuICAgID4gLmFjY29yZGlvbi1jb2xsYXBzZSxcbiAgICA+IC5hY2NvcmRpb24taGVhZGVyIC5hY2NvcmRpb24tYnV0dG9uLFxuICAgID4gLmFjY29yZGlvbi1oZWFkZXIgLmFjY29yZGlvbi1idXR0b24uY29sbGFwc2VkIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgfVxuICAgIC8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3ItbWF4LWNsYXNzXG4gIH1cbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgLmFjY29yZGlvbi1idXR0b246OmFmdGVyIHtcbiAgICAgIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbjogI3tlc2NhcGUtc3ZnKCRhY2NvcmRpb24tYnV0dG9uLWljb24tZGFyayl9O1xuICAgICAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1hY3RpdmUtaWNvbjogI3tlc2NhcGUtc3ZnKCRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1pY29uLWRhcmspfTtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJmdW5jdGlvbnMvZXNjYXBlLXN2Z1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL2JvcmRlci1yYWRpdXNcIiBhcyAqO1xuQHVzZSBcIm1peGlucy9sdHItcnRsXCIgYXMgKjtcbkB1c2UgXCJ2ZW5kb3IvcmZzXCIgYXMgKjtcbkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xuXG4uYnJlYWRjcnVtYiB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBicmVhZGNydW1iLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItcGFkZGluZy14OiAjeyRicmVhZGNydW1iLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItcGFkZGluZy15OiAjeyRicmVhZGNydW1iLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogI3skYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tfTtcbiAgQGluY2x1ZGUgcmZzKCRicmVhZGNydW1iLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWJnOiAjeyRicmVhZGNydW1iLWJnfTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAjeyRicmVhZGNydW1iLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICN7JGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXg6ICN7JGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAjeyRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgYnJlYWRjcnVtYi1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWZvbnQtc2l6ZSkpO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1iZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItYm9yZGVyLXJhZGl1cykpO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtIHtcbiAgLy8gVGhlIHNlcGFyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWJzIChieSBkZWZhdWx0LCBhIGZvcndhcmQtc2xhc2g6IFwiL1wiKVxuICArIC5icmVhZGNydW1iLWl0ZW0ge1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZmxvYXQ6IGlubGluZS1zdGFydDsgLy8gU3VwcHJlc3MgaW5saW5lIHNwYWNpbmdzIGFuZCB1bmRlcmxpbmluZyBvZiB0aGUgc2VwYXJhdG9yXG4gICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWl0ZW0tcGFkZGluZy14KTtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yKTtcbiAgICAgIEBpbmNsdWRlIGx0ci1ydGwoXG4gICAgICAgIFwiY29udGVudFwiLFxuICAgICAgICB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1kaXZpZGVyLCBlc2NhcGUtc3ZnKCRicmVhZGNydW1iLWRpdmlkZXIpKSxcbiAgICAgICAgbnVsbCxcbiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlci1mbGlwcGVkLCBlc2NhcGUtc3ZnKCRicmVhZGNydW1iLWRpdmlkZXItZmxpcHBlZCkpXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3IpO1xuICB9XG59XG4iLCJAdXNlIFwibWl4aW5zL2JvcmRlci1yYWRpdXNcIiBhcyAqO1xuQHVzZSBcIm1peGlucy9ncmFkaWVudHNcIiBhcyAqO1xuQHVzZSBcIm1peGlucy9saXN0c1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL3BhZ2luYXRpb25cIiBhcyAqO1xuQHVzZSBcIm1peGlucy90cmFuc2l0aW9uXCIgYXMgKjtcbkB1c2UgXCJ2ZW5kb3IvcmZzXCIgYXMgKjtcbkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xuXG4ucGFnaW5hdGlvbiB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBwYWdpbmF0aW9uLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy14OiAjeyRwYWdpbmF0aW9uLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy15OiAjeyRwYWdpbmF0aW9uLXBhZGRpbmcteX07XG4gIEBpbmNsdWRlIHJmcygkcGFnaW5hdGlvbi1mb250LXNpemUsIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1jb2xvcjogI3skcGFnaW5hdGlvbi1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYmc6ICN7JHBhZ2luYXRpb24tYmd9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci13aWR0aDogI3skcGFnaW5hdGlvbi1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogI3skcGFnaW5hdGlvbi1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXM6ICN7JHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItY29sb3I6ICN7JHBhZ2luYXRpb24taG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWJnOiAjeyRwYWdpbmF0aW9uLWhvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICN7JHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1jb2xvcjogI3skcGFnaW5hdGlvbi1mb2N1cy1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtYmc6ICN7JHBhZ2luYXRpb24tZm9jdXMtYmd9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICN7JHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWJnOiAjeyRwYWdpbmF0aW9uLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogI3skcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogI3skcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICN7JHBhZ2luYXRpb24tZGlzYWJsZWQtYmd9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogI3skcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHBhZ2luYXRpb24tY3NzLXZhcnNcblxuICBkaXNwbGF5OiBmbGV4O1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG5cbi5wYWdlLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb250LXNpemUpKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1iZyk7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRwYWdpbmF0aW9uLXRyYW5zaXRpb24pO1xuXG4gICY6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgei1pbmRleDogMztcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWJnKTtcbiAgICBvdXRsaW5lOiAkcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJi5hY3RpdmUsXG4gIC5hY3RpdmUgPiAmIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtY29sb3IpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1iZykpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAuZGlzYWJsZWQgPiAmIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3IpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcik7XG4gIH1cbn1cblxuLnBhZ2UtaXRlbSB7XG4gICY6bm90KDpmaXJzdC1jaGlsZCkgLnBhZ2UtbGluayB7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogJHBhZ2luYXRpb24tbWFyZ2luLXN0YXJ0O1xuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLW1hcmdpbi1zdGFydCA9PSBjYWxjKC0xICogI3skcGFnaW5hdGlvbi1ib3JkZXItd2lkdGh9KSB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzKSk7XG4gICAgICB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAvLyBBZGQgYm9yZGVyLXJhZGl1cyB0byBhbGwgcGFnZUxpbmtzIGluIGNhc2UgdGhleSBoYXZlIGxlZnQgbWFyZ2luXG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gU2l6aW5nXG4vL1xuXG4ucGFnaW5hdGlvbi1sZyB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktbGcsICRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZywgJGZvbnQtc2l6ZS1sZywgJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5wYWdpbmF0aW9uLXNtIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbSwgJHBhZ2luYXRpb24tcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cbiIsIkB1c2UgXCIuLi92ZW5kb3IvcmZzXCIgYXMgKjtcbkB1c2UgXCIuLi92YXJpYWJsZXNcIiBhcyAqO1xuXG4vLyBQYWdpbmF0aW9uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwYWdpbmF0aW9uLW1peGluXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRib3JkZXItcmFkaXVzKSB7XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy14OiAjeyRwYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteTogI3skcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRmb250LXNpemUsIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzOiAjeyRib3JkZXItcmFkaXVzfTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgcGFnaW5hdGlvbi1taXhpblxuIiwiQHVzZSBcIm1peGlucy9ncmFkaWVudHNcIiBhcyAqO1xuQHVzZSBcInZlbmRvci9yZnNcIiBhcyAqO1xuQHVzZSBcInZhcmlhYmxlc1wiIGFzICo7XG5cbi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBSZXF1aXJlcyBvbmUgb2YgdGhlIGNvbnRleHR1YWwsIGNvbG9yIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGBjb2xvcmAgYW5kXG4vLyBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbi5iYWRnZSB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBiYWRnZS1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1iYWRnZS1wYWRkaW5nLXg6ICN7JGJhZGdlLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWJhZGdlLXBhZGRpbmcteTogI3skYmFkZ2UtcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRiYWRnZS1mb250LXNpemUsIC0tI3skcHJlZml4fWJhZGdlLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJhZGdlLWZvbnQtd2VpZ2h0OiAjeyRiYWRnZS1mb250LXdlaWdodH07XG4gIC0tI3skcHJlZml4fWJhZGdlLWNvbG9yOiAjeyRiYWRnZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJhZGdlLWJvcmRlci1yYWRpdXM6ICN7JGJhZGdlLWJvcmRlci1yYWRpdXN9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGJhZGdlLWNzcy12YXJzXG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1iYWRnZS1mb250LXNpemUpKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1iYWRnZS1mb250LXdlaWdodCk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJhZGdlLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLSN7JHByZWZpeH1iYWRnZS1ib3JkZXItcmFkaXVzLCAwKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoKTtcblxuICAvLyBFbXB0eSBiYWRnZXMgY29sbGFwc2UgYXV0b21hdGljYWxseVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIFF1aWNrIGZpeCBmb3IgYmFkZ2VzIGluIGJ1dHRvbnNcbi5idG4gLmJhZGdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG59XG5cbi8vXG4vLyBCYWRnZSBTaXplc1xuLy9cblxuLmJhZGdlLXNtIHtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtcGFkZGluZy14OiAjeyRiYWRnZS1wYWRkaW5nLXgtc219O1xuICAtLSN7JHByZWZpeH1iYWRnZS1wYWRkaW5nLXk6ICN7JGJhZGdlLXBhZGRpbmcteS1zbX07XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmFkZ2UtZm9udC1zaXplLXNtKTtcbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIm1peGlucy9ib3JkZXItcmFkaXVzXCIgYXMgKjtcbkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xuXG4vL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5hbGVydCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBhbGVydC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1hbGVydC1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWFsZXJ0LXBhZGRpbmcteDogI3skYWxlcnQtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtcGFkZGluZy15OiAjeyRhbGVydC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1hbGVydC1tYXJnaW4tYm90dG9tOiAjeyRhbGVydC1tYXJnaW4tYm90dG9tfTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtY29sb3I6IGluaGVyaXQ7XG4gIC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlcjogI3skYWxlcnQtYm9yZGVyLXdpZHRofSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyLWNvbG9yKTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyLXJhZGl1czogI3skYWxlcnQtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWFsZXJ0LWxpbmstY29sb3I6IGluaGVyaXQ7XG4gIC8vIHNjc3MtZG9jcy1lbmQgYWxlcnQtY3NzLXZhcnNcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1hbGVydC1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1hbGVydC1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtbWFyZ2luLWJvdHRvbSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtYmcpO1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1hbGVydC1ib3JkZXIpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hbGVydC1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi8vIEhlYWRpbmdzIGZvciBsYXJnZXIgYWxlcnRzXG4uYWxlcnQtaGVhZGluZyB7XG4gIC8vIFNwZWNpZmllZCB0byBwcmV2ZW50IGNvbmZsaWN0cyBvZiBjaGFuZ2luZyAkaGVhZGluZ3MtY29sb3JcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi8vIFByb3ZpZGUgY2xhc3MgZm9yIGxpbmtzIHRoYXQgbWF0Y2ggYWxlcnRzXG4uYWxlcnQtbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkYWxlcnQtbGluay1mb250LXdlaWdodDtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1hbGVydC1saW5rLWNvbG9yKTtcbn1cblxuXG4vLyBEaXNtaXNzaWJsZSBhbGVydHNcbi8vXG4vLyBFeHBhbmQgdGhlIHJpZ2h0IHBhZGRpbmcgYW5kIGFjY291bnQgZm9yIHRoZSBjbG9zZSBidXR0b24ncyBwb3NpdGlvbmluZy5cblxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1pbmxpbmUtZW5kOiAkYWxlcnQtZGlzbWlzc2libGUtcGFkZGluZy1yO1xuXG4gIC8vIEFkanVzdCBjbG9zZSBsaW5rIHBvc2l0aW9uXG4gIC5idG4tY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldC1pbmxpbmUtZW5kOiAwO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAkc3RyZXRjaGVkLWxpbmstei1pbmRleCArIDE7XG4gICAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAqIDEuMjUgJGFsZXJ0LXBhZGRpbmcteDtcbiAgfVxufVxuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBhbGVydC1tb2RpZmllcnNcbi8vIEdlbmVyYXRlIGNvbnRleHR1YWwgbW9kaWZpZXIgY2xhc3NlcyBmb3IgY29sb3JpemluZyB0aGUgYWxlcnQuXG5AZWFjaCAkc3RhdGUgaW4gbWFwLmtleXMoJHRoZW1lLWNvbG9ycykge1xuICAuYWxlcnQtI3skc3RhdGV9IHtcbiAgICAtLSN7JHByZWZpeH1hbGVydC1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS10ZXh0LWVtcGhhc2lzKTtcbiAgICAtLSN7JHByZWZpeH1hbGVydC1iZzogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1iZy1zdWJ0bGUpO1xuICAgIC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1ib3JkZXItc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1hbGVydC1saW5rLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXRleHQtZW1waGFzaXMpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGFsZXJ0LW1vZGlmaWVyc1xuIiwiQHVzZSBcIm1peGlucy9ib3JkZXItcmFkaXVzXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvYm94LXNoYWRvd1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL2dyYWRpZW50c1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL3RyYW5zaXRpb25cIiBhcyAqO1xuQHVzZSBcInZlbmRvci9yZnNcIiBhcyAqO1xuQHVzZSBcInZhcmlhYmxlc1wiIGFzICo7XG5cbi8vIERpc2FibGUgYW5pbWF0aW9uIGlmIHRyYW5zaXRpb25zIGFyZSBkaXNhYmxlZFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcHJvZ3Jlc3Mta2V5ZnJhbWVzXG5AaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gIEBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICAgIDAlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtaGVpZ2h0KTsgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIHByb2dyZXNzLWtleWZyYW1lc1xuXG4ucHJvZ3Jlc3MsXG4ucHJvZ3Jlc3Mtc3RhY2tlZCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBwcm9ncmVzcy1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1oZWlnaHQ6ICN7JHByb2dyZXNzLWhlaWdodH07XG4gIEBpbmNsdWRlIHJmcygkcHJvZ3Jlc3MtZm9udC1zaXplLCAtLSN7JHByZWZpeH1wcm9ncmVzcy1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1iZzogI3skcHJvZ3Jlc3MtYmd9O1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAjeyRwcm9ncmVzcy1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYm94LXNoYWRvdzogI3skcHJvZ3Jlc3MtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWJhci1jb2xvcjogI3skcHJvZ3Jlc3MtYmFyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmFyLWJnOiAjeyRwcm9ncmVzcy1iYXItYmd9O1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogI3skcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb259O1xuICAvLyBzY3NzLWRvY3MtZW5kIHByb2dyZXNzLWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtaGVpZ2h0KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gZm9yY2Ugcm91bmRlZCBjb3JuZXJzIGJ5IGNyb3BwaW5nIGl0XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtZm9udC1zaXplKSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1iZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYm94LXNoYWRvdykpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmFyLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmFyLWJnKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbih2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb24pKTtcbn1cblxuLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZCgpO1xuICBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1oZWlnaHQpIHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1oZWlnaHQpO1xufVxuXG4ucHJvZ3Jlc3Mtc3RhY2tlZCA+IC5wcm9ncmVzcyB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4ucHJvZ3Jlc3Mtc3RhY2tlZCA+IC5wcm9ncmVzcyA+IC5wcm9ncmVzcy1iYXIge1xuICB3aWR0aDogMTAwJTtcbn1cblxuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkIHtcbiAgICBhbmltYXRpb246ICRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZyBwcm9ncmVzcy1iYXItc3RyaXBlcztcblxuICAgIEBpZiAkZW5hYmxlLXJlZHVjZWQtbW90aW9uIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnByb2dyZXNzLXRoaW4ge1xuICBoZWlnaHQ6IDRweDtcbn1cblxuLy8gV2hpdGUgcHJvZ3Jlc3MgYmFyXG4ucHJvZ3Jlc3MucHJvZ3Jlc3Mtd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yKTtcbiAgLnByb2dyZXNzLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICB9XG59XG5cbi5wcm9ncmVzcy1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG1hcmdpbi1ib3R0b206ICRwcm9ncmVzcy1ncm91cC1tYXJnaW4tYm90dG9tO1xufVxuXG4ucHJvZ3Jlc3MtZ3JvdXAtcHJlcGVuZCB7XG4gIGZsZXg6IDAgMCAxMDBweDtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuXG4ucHJvZ3Jlc3MtZ3JvdXAtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLWdyb3VwLWhlYWRlci1tYXJnaW4tYm90dG9tO1xufVxuXG4ucHJvZ3Jlc3MtZ3JvdXAtYmFycyB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuXG4gIC5wcm9ncmVzczpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gIH1cbn1cblxuLnByb2dyZXNzLWdyb3VwLWhlYWRlciArIC5wcm9ncmVzcy1ncm91cC1iYXJzIHtcbiAgZmxleC1iYXNpczogMTAwJTtcbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIm1peGlucy9ib3JkZXItcmFkaXVzXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvYnJlYWtwb2ludHNcIiBhcyAqO1xuQHVzZSBcInZhcmlhYmxlc1wiIGFzICo7XG5cbi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBFYXNpbHkgdXNhYmxlIG9uIDx1bD4sIDxvbD4sIG9yIDxkaXY+LlxuXG4ubGlzdC1ncm91cCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBsaXN0LWdyb3VwLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtY29sb3I6ICN7JGxpc3QtZ3JvdXAtY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJnOiAjeyRsaXN0LWdyb3VwLWJnfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICN7JGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICN7JGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAjeyRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAjeyRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogI3skbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWJnOiAjeyRsaXN0LWdyb3VwLWhvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICN7JGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICN7JGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWRpc2FibGVkLWJnOiAjeyRsaXN0LWdyb3VwLWRpc2FibGVkLWJnfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICN7JGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYmc6ICN7JGxpc3QtZ3JvdXAtYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGxpc3QtZ3JvdXAtY3NzLXZhcnNcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8vIE5vIG5lZWQgdG8gc2V0IGxpc3Qtc3R5bGU6IG5vbmU7IHNpbmNlIC5saXN0LWdyb3VwLWl0ZW0gaXMgYmxvY2sgbGV2ZWxcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi5saXN0LWdyb3VwLW51bWJlcmVkIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBjb3VudGVyLXJlc2V0OiBzZWN0aW9uO1xuXG4gID4gLmxpc3QtZ3JvdXAtaXRlbTo6YmVmb3JlIHtcbiAgICAvLyBJbmNyZW1lbnRzIG9ubHkgdGhpcyBpbnN0YW5jZSBvZiB0aGUgc2VjdGlvbiBjb3VudGVyXG4gICAgY29udGVudDogY291bnRlcnMoc2VjdGlvbiwgXCIuXCIpIFwiLiBcIjtcbiAgICBjb3VudGVyLWluY3JlbWVudDogc2VjdGlvbjtcbiAgfVxufVxuXG4vLyBJbmRpdmlkdWFsIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2Ugb24gYGxpYHMgb3IgYGRpdmBzIHdpdGhpbiB0aGUgYC5saXN0LWdyb3VwYCBwYXJlbnQuXG5cbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJnKTtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1jb2xvcik7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoaW5oZXJpdCk7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKGluaGVyaXQpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1kaXNhYmxlZC1iZyk7XG4gIH1cblxuICAvLyBJbmNsdWRlIGJvdGggaGVyZSBmb3IgYDxhPmBzIGFuZCBgPGJ1dHRvbj5gc1xuICAmLmFjdGl2ZSB7XG4gICAgei1pbmRleDogMjsgLy8gUGxhY2UgYWN0aXZlIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9zZWxlY3Rvci1uby1yZWR1bmRhbnQtbmVzdGluZy1zZWxlY3RvclxuICAmICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aCk7XG4gICAgfVxuICB9XG59XG5cbi8vIEludGVyYWN0aXZlIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2UgYW5jaG9yIG9yIGJ1dHRvbiBlbGVtZW50cyBpbnN0ZWFkIG9mIGBsaWBzIG9yIGBkaXZgcyB0byBjcmVhdGUgaW50ZXJhY3RpdmVcbi8vIGxpc3QgaXRlbXMuIEluY2x1ZGVzIGFuIGV4dHJhIGAuYWN0aXZlYCBtb2RpZmllciBjbGFzcyBmb3Igc2VsZWN0ZWQgaXRlbXMuXG5cbi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBiZWNvbWUgMTAwJSBieSBkZWZhdWx0IHRob3VnaClcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1jb2xvcik7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBpbmhlcml0KVxuXG4gICY6bm90KC5hY3RpdmUpIHtcbiAgICAvLyBIb3ZlciBzdGF0ZVxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiAxOyAvLyBQbGFjZSBob3Zlci9mb2N1cyBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1iZyk7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3IpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEhvcml6b250YWxcbi8vXG4vLyBDaGFuZ2UgdGhlIGxheW91dCBvZiBsaXN0IGdyb3VwIGl0ZW1zIGZyb20gdmVydGljYWwgKGRlZmF1bHQpIHRvIGhvcml6b250YWwuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC5rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5saXN0LWdyb3VwLWhvcml6b250YWwjeyRpbmZpeH0ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgPiAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXN0YXJ0LXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKSk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1lbmQtcmFkaXVzKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLWVuZC1yYWRpdXModmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cykpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tc3RhcnQtcmFkaXVzKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGg6IDA7XG4gICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKTtcblxuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGg6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gRmx1c2ggbGlzdCBpdGVtc1xuLy9cbi8vIFJlbW92ZSBib3JkZXJzIGFuZCBib3JkZXItcmFkaXVzIHRvIGtlZXAgbGlzdCBncm91cCBpdGVtcyBlZGdlLXRvLWVkZ2UuIE1vc3Rcbi8vIHVzZWZ1bCB3aXRoaW4gb3RoZXIgY29tcG9uZW50cyAoZS5nLiwgY2FyZHMpLlxuXG4ubGlzdC1ncm91cC1mbHVzaCB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG5cbiAgPiAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItd2lkdGg6IDAgMCB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGxpc3QtZ3JvdXAtbW9kaWZpZXJzXG4vLyBMaXN0IGdyb3VwIGNvbnRleHR1YWwgdmFyaWFudHNcbi8vXG4vLyBBZGQgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvciBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuLy8gT3JnYW5pemF0aW9uYWxseSwgdGhpcyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGA6aG92ZXJgIHN0YXRlcy5cblxuQGVhY2ggJHN0YXRlIGluIG1hcC5rZXlzKCR0aGVtZS1jb2xvcnMpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tdGV4dC1lbXBoYXNpcyk7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1iZzogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1iZy1zdWJ0bGUpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWJvcmRlci1zdWJ0bGUpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWJnOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWJvcmRlci1zdWJ0bGUpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tYm9yZGVyLXN1YnRsZSk7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tYmctc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1iZzogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS10ZXh0LWVtcGhhc2lzKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tdGV4dC1lbXBoYXNpcyk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgbGlzdC1ncm91cC1tb2RpZmllcnNcbiIsIkB1c2UgXCJmdW5jdGlvbnMvZXNjYXBlLXN2Z1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL2JvcmRlci1yYWRpdXNcIiBhcyAqO1xuQHVzZSBcIm1peGlucy9jb2xvci1tb2RlXCIgYXMgKjtcbkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xuQHVzZSBcInZhcmlhYmxlcy1kYXJrXCIgYXMgKjtcblxuLy8gVHJhbnNwYXJlbnQgYmFja2dyb3VuZCBhbmQgYm9yZGVyIHByb3BlcnRpZXMgaW5jbHVkZWQgZm9yIGJ1dHRvbiB2ZXJzaW9uLlxuLy8gaU9TIHJlcXVpcmVzIHRoZSBidXR0b24gZWxlbWVudCBpbnN0ZWFkIG9mIGFuIGFuY2hvciB0YWcuXG4vLyBJZiB5b3Ugd2FudCB0aGUgYW5jaG9yIHZlcnNpb24sIGl0IHJlcXVpcmVzIGBocmVmPVwiI1wiYC5cbi8vIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9FdmVudHMvY2xpY2sjU2FmYXJpX01vYmlsZVxuXG4uYnRuLWNsb3NlIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGNsb3NlLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1jb2xvcjogI3skYnRuLWNsb3NlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWJnOiAjeyBlc2NhcGUtc3ZnKCRidG4tY2xvc2UtYmcpIH07XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1vcGFjaXR5OiAjeyRidG4tY2xvc2Utb3BhY2l0eX07XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1ob3Zlci1vcGFjaXR5OiAjeyRidG4tY2xvc2UtaG92ZXItb3BhY2l0eX07XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1mb2N1cy1zaGFkb3c6ICN7JGJ0bi1jbG9zZS1mb2N1cy1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1idG4tY2xvc2UtZm9jdXMtb3BhY2l0eTogI3skYnRuLWNsb3NlLWZvY3VzLW9wYWNpdHl9O1xuICAtLSN7JHByZWZpeH1idG4tY2xvc2UtZGlzYWJsZWQtb3BhY2l0eTogI3skYnRuLWNsb3NlLWRpc2FibGVkLW9wYWNpdHl9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGNsb3NlLWNzcy12YXJzXG5cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIHdpZHRoOiAkYnRuLWNsb3NlLXdpZHRoO1xuICBoZWlnaHQ6ICRidG4tY2xvc2UtaGVpZ2h0O1xuICBwYWRkaW5nOiAkYnRuLWNsb3NlLXBhZGRpbmcteSAkYnRuLWNsb3NlLXBhZGRpbmcteDtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2UtY29sb3IpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWJnKSBjZW50ZXIgLyAkYnRuLWNsb3NlLXdpZHRoIGF1dG8gbm8tcmVwZWF0OyAvLyBpbmNsdWRlIHRyYW5zcGFyZW50IGZvciBidXR0b24gZWxlbWVudHNcbiAgZmlsdGVyOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWZpbHRlcik7XG4gIGJvcmRlcjogMDsgLy8gZm9yIGJ1dHRvbiBlbGVtZW50c1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCk7XG4gIG9wYWNpdHk6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2Utb3BhY2l0eSk7XG5cbiAgLy8gT3ZlcnJpZGUgPGE+J3MgaG92ZXIgc3R5bGVcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2UtY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvcGFjaXR5OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWhvdmVyLW9wYWNpdHkpO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWZvY3VzLXNoYWRvdyk7XG4gICAgb3BhY2l0eTogdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1mb2N1cy1vcGFjaXR5KTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIG9wYWNpdHk6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2UtZGlzYWJsZWQtb3BhY2l0eSk7XG4gIH1cbn1cblxuQG1peGluIGJ0bi1jbG9zZS13aGl0ZSgpIHtcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWZpbHRlcjogI3skYnRuLWNsb3NlLWZpbHRlci1kYXJrfTtcbn1cblxuLmJ0bi1jbG9zZS13aGl0ZSB7XG4gIEBpbmNsdWRlIGJ0bi1jbG9zZS13aGl0ZSgpO1xufVxuXG46cm9vdCxcbltkYXRhI3skZGF0YS1pbmZpeH10aGVtZT1cImxpZ2h0XCJdIHtcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWZpbHRlcjogI3skYnRuLWNsb3NlLWZpbHRlcn07XG59XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaywgdHJ1ZSkge1xuICAgIEBpbmNsdWRlIGJ0bi1jbG9zZS13aGl0ZSgpO1xuICB9XG59XG4iLCJAdXNlIFwibWl4aW5zL2JvcmRlci1yYWRpdXNcIiBhcyAqO1xuQHVzZSBcInZlbmRvci9yZnNcIiBhcyAqO1xuQHVzZSBcInZhcmlhYmxlc1wiIGFzICo7XG5cbi50b2FzdCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCB0b2FzdC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH10b2FzdC16aW5kZXg6ICN7JHppbmRleC10b2FzdH07XG4gIC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteDogI3skdG9hc3QtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy15OiAjeyR0b2FzdC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH10b2FzdC1zcGFjaW5nOiAjeyR0b2FzdC1zcGFjaW5nfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtbWF4LXdpZHRoOiAjeyR0b2FzdC1tYXgtd2lkdGh9O1xuICBAaW5jbHVkZSByZnMoJHRvYXN0LWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9dG9hc3QtZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtY29sb3I6ICN7JHRvYXN0LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtYmc6ICN7JHRvYXN0LWJhY2tncm91bmQtY29sb3J9O1xuICAtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItd2lkdGg6ICN7JHRvYXN0LWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci1jb2xvcjogI3skdG9hc3QtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXJhZGl1czogI3skdG9hc3QtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXRvYXN0LWJveC1zaGFkb3c6ICN7JHRvYXN0LWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH10b2FzdC1oZWFkZXItY29sb3I6ICN7JHRvYXN0LWhlYWRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRvYXN0LWhlYWRlci1iZzogI3skdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3J9O1xuICAtLSN7JHByZWZpeH10b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yOiAjeyR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCB0b2FzdC1jc3MtdmFyc1xuXG4gIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtbWF4LXdpZHRoKTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXRvYXN0LWZvbnQtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRvYXN0LWNvbG9yKTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b2FzdC1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci1jb2xvcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXJhZGl1cykpO1xuXG4gICYuc2hvd2luZyB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICY6bm90KC5zaG93KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udG9hc3QtY29udGFpbmVyIHtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtemluZGV4OiAjeyR6aW5kZXgtdG9hc3R9O1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fXRvYXN0LXppbmRleCk7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICA+IDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3Qtc3BhY2luZyk7XG4gIH1cbn1cblxuLnRvYXN0LWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRvYXN0LWhlYWRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b2FzdC1oZWFkZXItYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKGNhbGModmFyKC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci1yYWRpdXMpIC0gdmFyKC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci13aWR0aCkpKTtcblxuICAuYnRuLWNsb3NlIHtcbiAgICBtYXJnaW4taW5saW5lOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy14KSBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgfVxufVxuXG4udG9hc3QtYm9keSB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXgpO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIm1peGlucy9iYWNrZHJvcFwiIGFzICo7XG5AdXNlIFwibWl4aW5zL2JvcmRlci1yYWRpdXNcIiBhcyAqO1xuQHVzZSBcIm1peGlucy9ib3gtc2hhZG93XCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvYnJlYWtwb2ludHNcIiBhcyAqO1xuQHVzZSBcIm1peGlucy90cmFuc2l0aW9uXCIgYXMgKjtcbkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xuXG4vLyAubW9kYWwtb3BlbiAgICAgIC0gYm9keSBjbGFzcyBmb3Iga2lsbGluZyB0aGUgc2Nyb2xsXG4vLyAubW9kYWwgICAgICAgICAgIC0gY29udGFpbmVyIHRvIHNjcm9sbCB3aXRoaW5cbi8vIC5tb2RhbC1kaWFsb2cgICAgLSBwb3NpdGlvbmluZyBzaGVsbCBmb3IgdGhlIGFjdHVhbCBtb2RhbFxuLy8gLm1vZGFsLWNvbnRlbnQgICAtIGFjdHVhbCBtb2RhbCB3LyBiZyBhbmQgY29ybmVycyBhbmQgc3R1ZmZcblxuXG4vLyBDb250YWluZXIgdGhhdCB0aGUgbW9kYWwgc2Nyb2xscyB3aXRoaW5cbi5tb2RhbCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBtb2RhbC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1tb2RhbC16aW5kZXg6ICN7JHppbmRleC1tb2RhbH07XG4gIC0tI3skcHJlZml4fW1vZGFsLXdpZHRoOiAjeyRtb2RhbC1tZH07XG4gIC0tI3skcHJlZml4fW1vZGFsLXBhZGRpbmc6ICN7JG1vZGFsLWlubmVyLXBhZGRpbmd9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1tYXJnaW46ICN7JG1vZGFsLWRpYWxvZy1tYXJnaW59O1xuICAtLSN7JHByZWZpeH1tb2RhbC1jb2xvcjogI3skbW9kYWwtY29udGVudC1jb2xvcn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWJnOiAjeyRtb2RhbC1jb250ZW50LWJnfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLWNvbG9yOiAjeyRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWJvcmRlci13aWR0aDogI3skbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItcmFkaXVzOiAjeyRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1ib3gtc2hhZG93OiAjeyRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHN9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1pbm5lci1ib3JkZXItcmFkaXVzOiAjeyRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy14OiAjeyRtb2RhbC1oZWFkZXItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteTogI3skbW9kYWwtaGVhZGVyLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nOiAjeyRtb2RhbC1oZWFkZXItcGFkZGluZ307IC8vIFRvZG8gaW4gdjY6IFNwbGl0IHRoaXMgcGFkZGluZyBpbnRvIHggYW5kIHlcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogI3skbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICN7JG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1tb2RhbC10aXRsZS1saW5lLWhlaWdodDogI3skbW9kYWwtdGl0bGUtbGluZS1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItZ2FwOiAjeyRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW59O1xuICAtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYmc6ICN7JG1vZGFsLWZvb3Rlci1iZ307XG4gIC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICN7JG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAjeyRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRofTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBtb2RhbC1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IHZhcigtLSN7JHByZWZpeH1tb2RhbC16aW5kZXgpO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC8vIFByZXZlbnQgQ2hyb21lIG9uIFdpbmRvd3MgZnJvbSBhZGRpbmcgYSBmb2N1cyBvdXRsaW5lLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxuICBvdXRsaW5lOiAwO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG9uJ3QgdXNlIGAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7YCBkdWUgdG8gYVxuICAvLyBnbmFybHkgaU9TIFNhZmFyaSBidWc6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgzNDJcbiAgLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNzY5NVxufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IHZhcigtLSN7JHByZWZpeH1tb2RhbC1tYXJnaW4pO1xuICAvLyBhbGxvdyBjbGlja3MgdG8gcGFzcyB0aHJvdWdoIGZvciBjdXN0b20gY2xpY2sgaGFuZGxpbmcgdG8gY2xvc2UgbW9kYWxcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgLm1vZGFsLmZhZGUgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtZmFkZS10cmFuc2Zvcm07XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbW9kYWwtdHJhbnNpdGlvbik7XG4gIH1cbiAgLm1vZGFsLnNob3cgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2hvdy10cmFuc2Zvcm07XG4gIH1cblxuICAvLyBXaGVuIHRyeWluZyB0byBjbG9zZSwgYW5pbWF0ZSBmb2N1cyB0byBzY2FsZVxuICAubW9kYWwubW9kYWwtc3RhdGljICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTtcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLSN7JHByZWZpeH1tb2RhbC1tYXJnaW4pICogMik7XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5tb2RhbC1ib2R5IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luKSAqIDIpO1xufVxuXG4vLyBBY3R1YWwgbW9kYWxcbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTsgLy8gRW5zdXJlIGAubW9kYWwtY29udGVudGAgZXh0ZW5kcyB0aGUgZnVsbCB3aWR0aCBvZiB0aGUgcGFyZW50IGAubW9kYWwtZGlhbG9nYFxuICAvLyBjb3VudGVyYWN0IHRoZSBwb2ludGVyLWV2ZW50czogbm9uZTsgaW4gdGhlIC5tb2RhbC1kaWFsb2dcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1jb2xvcik7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fW1vZGFsLWJveC1zaGFkb3cpKTtcbiAgLy8gUmVtb3ZlIGZvY3VzIG91dGxpbmUgZnJvbSBvcGVuZWQgbW9kYWxcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gTW9kYWwgYmFja2dyb3VuZFxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG1vZGFsLWJhY2tkcm9wLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJhY2tkcm9wLXppbmRleDogI3skemluZGV4LW1vZGFsLWJhY2tkcm9wfTtcbiAgLS0jeyRwcmVmaXh9YmFja2Ryb3AtYmc6ICN7JG1vZGFsLWJhY2tkcm9wLWJnfTtcbiAgLS0jeyRwcmVmaXh9YmFja2Ryb3Atb3BhY2l0eTogI3skbW9kYWwtYmFja2Ryb3Atb3BhY2l0eX07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbW9kYWwtYmFja2Ryb3AtY3NzLXZhcnNcblxuICBAaW5jbHVkZSBvdmVybGF5LWJhY2tkcm9wKHZhcigtLSN7JHByZWZpeH1iYWNrZHJvcC16aW5kZXgpLCB2YXIoLS0jeyRwcmVmaXh9YmFja2Ryb3AtYmcpLCB2YXIoLS0jeyRwcmVmaXh9YmFja2Ryb3Atb3BhY2l0eSkpO1xufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcpO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuXG4gIC5idG4tY2xvc2Uge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXkpICogLjUpIGNhbGModmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXgpICogLjUpO1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGF1dG87XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXgpKTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy15KSk7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteSkpO1xuICB9XG59XG5cbi8vIFRpdGxlIHRleHQgd2l0aGluIGhlYWRlclxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1tb2RhbC10aXRsZS1saW5lLWhlaWdodCk7XG59XG5cbi8vIE1vZGFsIGJvZHlcbi8vIFdoZXJlIGFsbCBtb2RhbCBjb250ZW50IHJlc2lkZXMgKHNpYmxpbmcgb2YgLm1vZGFsLWhlYWRlciBhbmQgLm1vZGFsLWZvb3Rlcilcbi5tb2RhbC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgc28gdGhhdCB0aGUgYm9keSB0YWtlIHVwIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGVcbiAgLy8gd2hlbiB0aGVyZSBzaG91bGQgYmUgYSBmaXhlZCBoZWlnaHQgb24gYC5tb2RhbC1kaWFsb2dgLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fW1vZGFsLXBhZGRpbmcpO1xufVxuXG4vLyBGb290ZXIgKGZvciBhY3Rpb25zKVxuLm1vZGFsLWZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIHZlcnRpY2FsbHkgY2VudGVyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IC8vIFJpZ2h0IGFsaWduIGJ1dHRvbnMgd2l0aCBmbGV4IHByb3BlcnR5IGJlY2F1c2UgdGV4dC1hbGlnbiBkb2Vzbid0IHdvcmsgb24gZmxleCBpdGVtc1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLSN7JHByZWZpeH1tb2RhbC1wYWRkaW5nKSAtIHZhcigtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItZ2FwKSAqIC41KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1iZyk7XG4gIGJvcmRlci10b3A6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1tb2RhbC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG5cbiAgLy8gUGxhY2UgbWFyZ2luIGJldHdlZW4gZm9vdGVyIGVsZW1lbnRzXG4gIC8vIFRoaXMgc29sdXRpb24gaXMgZmFyIGZyb20gaWRlYWwgYmVjYXVzZSBvZiB0aGUgdW5pdmVyc2FsIHNlbGVjdG9yIHVzYWdlLFxuICAvLyBidXQgaXMgbmVlZGVkIHRvIGZpeCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0ODAwXG4gID4gKiB7XG4gICAgbWFyZ2luOiBjYWxjKHZhcigtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItZ2FwKSAqIC41KTsgLy8gVG9kbyBpbiB2NjogcmVwbGFjZSB3aXRoIGdhcCBvbiBwYXJlbnQgY2xhc3NcbiAgfVxufVxuXG4vLyBTY2FsZSB1cCB0aGUgbW9kYWxcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLm1vZGFsIHtcbiAgICAtLSN7JHByZWZpeH1tb2RhbC1tYXJnaW46ICN7JG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cH07XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtYm94LXNoYWRvdzogI3skbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwfTtcbiAgfVxuXG4gIC8vIEF1dG9tYXRpY2FsbHkgc2V0IG1vZGFsJ3Mgd2lkdGggZm9yIGxhcmdlciB2aWV3cG9ydHNcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtd2lkdGgpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIC5tb2RhbC1zbSB7XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtd2lkdGg6ICN7JG1vZGFsLXNtfTtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5tb2RhbC1sZyxcbiAgLm1vZGFsLXhsIHtcbiAgICAtLSN7JHByZWZpeH1tb2RhbC13aWR0aDogI3skbW9kYWwtbGd9O1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgLm1vZGFsLXhsIHtcbiAgICAtLSN7JHByZWZpeH1tb2RhbC13aWR0aDogI3skbW9kYWwteGx9O1xuICB9XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBtb2RhbC1mdWxsc2NyZWVuLWxvb3BcbkBlYWNoICRicmVha3BvaW50IGluIG1hcC5rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAkcG9zdGZpeDogaWYoJGluZml4ICE9IFwiXCIsICRpbmZpeCArIFwiLWRvd25cIiwgXCJcIik7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgLm1vZGFsLWZ1bGxzY3JlZW4jeyRwb3N0Zml4fSB7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgICB9XG5cbiAgICAgIC5tb2RhbC1oZWFkZXIsXG4gICAgICAubW9kYWwtZm9vdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIH1cblxuICAgICAgLm1vZGFsLWJvZHkge1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBtb2RhbC1mdWxsc2NyZWVuLWxvb3BcbiIsIkB1c2UgXCIuLi92YXJpYWJsZXNcIiBhcyAqO1xuXG4vLyBTaGFyZWQgYmV0d2VlbiBtb2RhbHMgYW5kIG9mZmNhbnZhc2VzXG5AbWl4aW4gb3ZlcmxheS1iYWNrZHJvcCgkemluZGV4LCAkYmFja2Ryb3AtYmcsICRiYWNrZHJvcC1vcGFjaXR5KSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4O1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZHJvcC1iZztcblxuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxuICAmLmZhZGUgeyBvcGFjaXR5OiAwOyB9XG4gICYuc2hvdyB7IG9wYWNpdHk6ICRiYWNrZHJvcC1vcGFjaXR5OyB9XG59XG4iLCJAdXNlIFwibWl4aW5zL2JvcmRlci1yYWRpdXNcIiBhcyAqO1xuQHVzZSBcIm1peGlucy9kZXByZWNhdGVcIiBhcyAqO1xuQHVzZSBcIm1peGlucy9yZXNldC10ZXh0XCIgYXMgKjtcbkB1c2UgXCJ2ZW5kb3IvcmZzXCIgYXMgKjtcbkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xuXG4vLyBCYXNlIGNsYXNzXG4udG9vbHRpcCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCB0b29sdGlwLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXRvb2x0aXAtemluZGV4OiAjeyR6aW5kZXgtdG9vbHRpcH07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtbWF4LXdpZHRoOiAjeyR0b29sdGlwLW1heC13aWR0aH07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtcGFkZGluZy14OiAjeyR0b29sdGlwLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtcGFkZGluZy15OiAjeyR0b29sdGlwLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtbWFyZ2luOiAjeyR0b29sdGlwLW1hcmdpbn07XG4gIEBpbmNsdWRlIHJmcygkdG9vbHRpcC1mb250LXNpemUsIC0tI3skcHJlZml4fXRvb2x0aXAtZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1jb2xvcjogI3skdG9vbHRpcC1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtYmc6ICN7JHRvb2x0aXAtYmd9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLWJvcmRlci1yYWRpdXM6ICN7JHRvb2x0aXAtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtb3BhY2l0eTogI3skdG9vbHRpcC1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aDogI3skdG9vbHRpcC1hcnJvdy13aWR0aH07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAjeyR0b29sdGlwLWFycm93LWhlaWdodH07XG4gIC8vIHNjc3MtZG9jcy1lbmQgdG9vbHRpcC1jc3MtdmFyc1xuXG4gIHotaW5kZXg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLXppbmRleCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IHZhcigtLSN7JHByZWZpeH10b29sdGlwLW1hcmdpbik7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImAkdG9vbHRpcC1tYXJnaW5gXCIsIFwidjRcIiwgXCJ2NC54XCIsIHRydWUpO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWZvbnQtc2l6ZSkpO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgdG9vbHRpcCdzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJi5zaG93IHsgb3BhY2l0eTogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtb3BhY2l0eSk7IH1cblxuICAudG9vbHRpcC1hcnJvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKTtcbiAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC10b3AgLnRvb2x0aXAtYXJyb3cge1xuICBib3R0b206IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuICAmOjpiZWZvcmUge1xuICAgIHRvcDogLTFweDtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgMDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmJlZ2luOmlnbm9yZSAqL1xuLmJzLXRvb2x0aXAtZW5kIC50b29sdGlwLWFycm93IHtcbiAgbGVmdDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTtcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICByaWdodDogLTFweDtcbiAgICBib3JkZXItd2lkdGg6IGNhbGModmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpICogLjUpIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgMDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWJnKTtcbiAgfVxufVxuXG4vKiBydGw6ZW5kOmlnbm9yZSAqL1xuXG4uYnMtdG9vbHRpcC1ib3R0b20gLnRvb2x0aXAtYXJyb3cge1xuICB0b3A6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuICAmOjpiZWZvcmUge1xuICAgIGJvdHRvbTogLTFweDtcbiAgICBib3JkZXItd2lkdGg6IDAgY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmJlZ2luOmlnbm9yZSAqL1xuLmJzLXRvb2x0aXAtc3RhcnQgLnRvb2x0aXAtYXJyb3cge1xuICByaWdodDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTtcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBsZWZ0OiAtMXB4O1xuICAgIGJvcmRlci13aWR0aDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgMCBjYWxjKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKSAqIC41KSB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmVuZDppZ25vcmUgKi9cblxuLmJzLXRvb2x0aXAtYXV0byB7XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC10b3A7XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtZW5kO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1ib3R0b207XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1zdGFydDtcbiAgfVxufVxuXG4vLyBXcmFwcGVyIGZvciB0aGUgdG9vbHRpcCBjb250ZW50XG4udG9vbHRpcC1pbm5lciB7XG4gIG1heC13aWR0aDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtbWF4LXdpZHRoKTtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWJnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1ib3JkZXItcmFkaXVzKSk7XG59XG4iLCJAdXNlIFwiLi4vdmFyaWFibGVzXCIgYXMgKjtcblxuQG1peGluIHJlc2V0LXRleHQge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkbyBOT1QgcmVzZXQgZm9udC1zaXplIG9yIG92ZXJmbG93LXdyYXAgLyB3b3JkLXdyYXAuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xufVxuIiwiQHVzZSBcIm1peGlucy9ib3JkZXItcmFkaXVzXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvYm94LXNoYWRvd1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL3Jlc2V0LXRleHRcIiBhcyAqO1xuQHVzZSBcInZlbmRvci9yZnNcIiBhcyAqO1xuQHVzZSBcInZhcmlhYmxlc1wiIGFzICo7XG5cbi5wb3BvdmVyIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHBvcG92ZXItY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci16aW5kZXg6ICN7JHppbmRleC1wb3BvdmVyfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1tYXgtd2lkdGg6ICN7JHBvcG92ZXItbWF4LXdpZHRofTtcbiAgQGluY2x1ZGUgcmZzKCRwb3BvdmVyLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9cG9wb3Zlci1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJnOiAjeyRwb3BvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGg6ICN7JHBvcG92ZXItYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItY29sb3I6ICN7JHBvcG92ZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItcmFkaXVzOiAjeyRwb3BvdmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXM6ICN7JHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm94LXNoYWRvdzogI3skcG9wb3Zlci1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAjeyRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICN7JHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteX07XG4gIEBpbmNsdWRlIHJmcygkcG9wb3Zlci1oZWFkZXItZm9udC1zaXplLCAtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1jb2xvcjogI3skcG9wb3Zlci1oZWFkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1iZzogI3skcG9wb3Zlci1oZWFkZXItYmd9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktcGFkZGluZy14OiAjeyRwb3BvdmVyLWJvZHktcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LXBhZGRpbmcteTogI3skcG9wb3Zlci1ib2R5LXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9keS1jb2xvcjogI3skcG9wb3Zlci1ib2R5LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aDogI3skcG9wb3Zlci1hcnJvdy13aWR0aH07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0OiAjeyRwb3BvdmVyLWFycm93LWhlaWdodH07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItY29sb3IpO1xuICAvLyBzY3NzLWRvY3MtZW5kIHBvcG92ZXItY3NzLXZhcnNcblxuICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci16aW5kZXgpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1tYXgtd2lkdGgpO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWZvbnQtc2l6ZSkpO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgcG9wb3ZlcidzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJveC1zaGFkb3cpKTtcblxuICAucG9wb3Zlci1hcnJvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKTtcbiAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCk7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLXRvcCB7XG4gID4gLnBvcG92ZXItYXJyb3cge1xuICAgIGJvdHRvbTogY2FsYygtMSAqICh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpKSAtIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KSBjYWxjKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSAqIC41KSAwOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1ib3JkZXIpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvdHRvbTogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuLyogcnRsOmJlZ2luOmlnbm9yZSAqL1xuLmJzLXBvcG92ZXItZW5kIHtcbiAgPiAucG9wb3Zlci1hcnJvdyB7XG4gICAgbGVmdDogY2FsYygtMSAqICh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpKSAtIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpO1xuICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KSBjYWxjKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSAqIC41KSAwOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1ib3JkZXIpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuLyogcnRsOmVuZDppZ25vcmUgKi9cblxuLmJzLXBvcG92ZXItYm90dG9tIHtcbiAgPiAucG9wb3Zlci1hcnJvdyB7XG4gICAgdG9wOiBjYWxjKC0xICogKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCkpIC0gdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIGNhbGModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpICogLjUpIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWJvcmRlcik7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdG9wOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYmcpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoaXMgd2lsbCByZW1vdmUgdGhlIHBvcG92ZXItaGVhZGVyJ3MgYm9yZGVyIGp1c3QgYmVsb3cgdGhlIGFycm93XG4gIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmJlZ2luOmlnbm9yZSAqL1xuLmJzLXBvcG92ZXItc3RhcnQge1xuICA+IC5wb3BvdmVyLWFycm93IHtcbiAgICByaWdodDogY2FsYygtMSAqICh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpKSAtIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpO1xuICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgMCBjYWxjKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSAqIC41KSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1ib3JkZXIpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuLyogcnRsOmVuZDppZ25vcmUgKi9cblxuLmJzLXBvcG92ZXItYXV0byB7XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci10b3A7XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItZW5kO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1ib3R0b207XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1zdGFydDtcbiAgfVxufVxuXG4vLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbi5wb3BvdmVyLWhlYWRlciB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZXNldCB0aGUgZGVmYXVsdCBmcm9tIFJlYm9vdFxuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWZvbnQtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWJnKTtcbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG5cbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucG9wb3Zlci1ib2R5IHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9keS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktcGFkZGluZy14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktY29sb3IpO1xufVxuIiwiQHVzZSBcImZ1bmN0aW9ucy9lc2NhcGUtc3ZnXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvY2xlYXJmaXhcIiBhcyAqO1xuQHVzZSBcIm1peGlucy9jb2xvci1tb2RlXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvbHRyLXJ0bFwiIGFzICo7XG5AdXNlIFwibWl4aW5zL3RyYW5zaXRpb25cIiBhcyAqO1xuQHVzZSBcInZhcmlhYmxlc1wiIGFzICo7XG5AdXNlIFwidmFyaWFibGVzLWRhcmtcIiBhcyAqO1xuXG4vLyBOb3RlcyBvbiB0aGUgY2xhc3Nlczpcbi8vXG4vLyAxLiAuY2Fyb3VzZWwucG9pbnRlci1ldmVudCBzaG91bGQgaWRlYWxseSBiZSBwYW4teSAodG8gYWxsb3cgZm9yIHVzZXJzIHRvIHNjcm9sbCB2ZXJ0aWNhbGx5KVxuLy8gICAgZXZlbiB3aGVuIHRoZWlyIHNjcm9sbCBhY3Rpb24gc3RhcnRlZCBvbiBhIGNhcm91c2VsLCBidXQgZm9yIGNvbXBhdGliaWxpdHkgKHdpdGggRmlyZWZveClcbi8vICAgIHdlJ3JlIHByZXZlbnRpbmcgYWxsIGFjdGlvbnMgaW5zdGVhZFxuLy8gMi4gVGhlIC5jYXJvdXNlbC1pdGVtLXN0YXJ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1lbmQgaXMgdXNlZCB0byBpbmRpY2F0ZSB3aGVyZVxuLy8gICAgdGhlIGFjdGl2ZSBzbGlkZSBpcyBoZWFkaW5nLlxuLy8gMy4gLmFjdGl2ZS5jYXJvdXNlbC1pdGVtIGlzIHRoZSBjdXJyZW50IHNsaWRlLlxuLy8gNC4gLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXN0YXJ0IGFuZCAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tZW5kIGlzIHRoZSBjdXJyZW50XG4vLyAgICBzbGlkZSBpbiBpdHMgaW4tdHJhbnNpdGlvbiBzdGF0ZS4gT25seSBvbmUgb2YgdGhlc2Ugb2NjdXJzIGF0IGEgdGltZS5cbi8vIDUuIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1zdGFydCBhbmQgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLWVuZFxuLy8gICAgaXMgdGhlIHVwY29taW5nIHNsaWRlIGluIHRyYW5zaXRpb24uXG5cbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcm91c2VsLnBvaW50ZXItZXZlbnQge1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuXG4uY2Fyb3VzZWwtaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuXG4uY2Fyb3VzZWwtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLXRyYW5zaXRpb24pO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4uY2Fyb3VzZWwtaXRlbS1uZXh0LFxuLmNhcm91c2VsLWl0ZW0tcHJldiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS1uZXh0Om5vdCguY2Fyb3VzZWwtaXRlbS1zdGFydCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tZW5kIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS1wcmV2Om5vdCguY2Fyb3VzZWwtaXRlbS1lbmQpLFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXN0YXJ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIHRyYW5zaXRpb25zXG4vL1xuXG4uY2Fyb3VzZWwtZmFkZSB7XG4gIC5jYXJvdXNlbC1pdGVtIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuICAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tc3RhcnQsXG4gIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1lbmQge1xuICAgIHotaW5kZXg6IDE7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1zdGFydCxcbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWVuZCB7XG4gICAgei1pbmRleDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAwcyAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbik7XG4gIH1cbn1cblxuXG4vL1xuLy8gTGVmdC9yaWdodCBjb250cm9scyBmb3IgbmF2XG4vL1xuXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDE7XG4gIC8vIFVzZSBmbGV4IGZvciBhbGlnbm1lbnQgKDEtMylcbiAgZGlzcGxheTogZmxleDsgLy8gMS4gYWxsb3cgZmxleCBzdHlsZXNcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gMi4gdmVydGljYWxseSBjZW50ZXIgY29udGVudHNcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8vIDMuIGhvcml6b250YWxseSBjZW50ZXIgY29udGVudHNcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgZmlsdGVyOiB2YXIoLS0jeyRwcmVmaXh9Y2Fyb3VzZWwtY29udHJvbC1pY29uLWZpbHRlcik7XG4gIGJvcmRlcjogMDtcbiAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uKTtcblxuICAvLyBIb3Zlci9mb2N1cyBzdGF0ZVxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTtcbiAgfVxufVxuLmNhcm91c2VsLWNvbnRyb2wtcHJldiB7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGlmKCRlbmFibGUtZ3JhZGllbnRzLCBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoJGJsYWNrLCAuMjUpLCByZ2JhKCRibGFjaywgLjAwMSkpLCBudWxsKTtcbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogaWYoJGVuYWJsZS1ncmFkaWVudHMsIGxpbmVhci1ncmFkaWVudCgyNzBkZWcsIHJnYmEoJGJsYWNrLCAuMjUpLCByZ2JhKCRibGFjaywgLjAwMSkpLCBudWxsKTtcbn1cblxuLy8gSWNvbnMgZm9yIHdpdGhpblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcbiAgaGVpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xufVxuXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xuICBAaW5jbHVkZSBsdHItcnRsLXZhbHVlLW9ubHkoXCJiYWNrZ3JvdW5kLWltYWdlXCIsIGVzY2FwZS1zdmcoJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnKSwgZXNjYXBlLXN2ZygkY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmcpKTtcbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIEBpbmNsdWRlIGx0ci1ydGwtdmFsdWUtb25seShcImJhY2tncm91bmQtaW1hZ2VcIiwgZXNjYXBlLXN2ZygkY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmcpLCBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZykpO1xufVxuXG4vLyBPcHRpb25hbCBpbmRpY2F0b3IgcGlwcy9jb250cm9sc1xuLy9cbi8vIEFkZCBhIGNvbnRhaW5lciAoc3VjaCBhcyBhIGxpc3QpIHdpdGggdGhlIGZvbGxvd2luZyBjbGFzcyBhbmQgYWRkIGFuIGl0ZW0gKGlkZWFsbHkgYSBmb2N1c2FibGUgY29udHJvbCxcbi8vIGxpa2UgYSBidXR0b24pIHdpdGggZGF0YSN7JGRhdGEtaW5maXh9dGFyZ2V0IGZvciBlYWNoIHNsaWRlIHlvdXIgY2Fyb3VzZWwgaG9sZHMuXG5cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgLy8gVXNlIHRoZSAuY2Fyb3VzZWwtY29udHJvbCdzIHdpZHRoIGFzIG1hcmdpbiBzbyB3ZSBkb24ndCBvdmVybGF5IHRob3NlXG4gIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcblxuICBbZGF0YSN7JGRhdGEtaW5maXh9dGFyZ2V0XSB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6ICRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg7XG4gICAgaGVpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYm9yZGVyOiAwO1xuICAgIC8vIFVzZSB0cmFuc3BhcmVudCBib3JkZXJzIHRvIGluY3JlYXNlIHRoZSBoaXQgYXJlYSBieSAxMHB4IG9uIHRvcCBhbmQgYm90dG9tLlxuICAgIGJvcmRlci10b3A6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIG9wYWNpdHk6ICRjYXJvdXNlbC1pbmRpY2F0b3Itb3BhY2l0eTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbik7XG4gIH1cblxuICAuYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1vcGFjaXR5O1xuICB9XG59XG5cblxuLy8gT3B0aW9uYWwgY2FwdGlvbnNcbi8vXG4vL1xuXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpICogLjU7XG4gIGJvdHRvbTogJGNhcm91c2VsLWNhcHRpb24tc3BhY2VyO1xuICBsZWZ0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAqIC41O1xuICBwYWRkaW5nLXRvcDogJGNhcm91c2VsLWNhcHRpb24tcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJGNhcm91c2VsLWNhcHRpb24tcGFkZGluZy15O1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcm91c2VsLWNhcHRpb24tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8vIERhcmsgbW9kZSBjYXJvdXNlbFxuXG5AbWl4aW4gY2Fyb3VzZWwtZGFyaygpIHtcbiAgLS0jeyRwcmVmaXh9Y2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogI3skY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZy1kYXJrfTtcbiAgLS0jeyRwcmVmaXh9Y2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogI3skY2Fyb3VzZWwtY2FwdGlvbi1jb2xvci1kYXJrfTtcbiAgLS0jeyRwcmVmaXh9Y2Fyb3VzZWwtY29udHJvbC1pY29uLWZpbHRlcjogI3skY2Fyb3VzZWwtY29udHJvbC1pY29uLWZpbHRlci1kYXJrfTtcbn1cblxuLmNhcm91c2VsLWRhcmsge1xuICBAaW5jbHVkZSBjYXJvdXNlbC1kYXJrKCk7XG59XG5cbjpyb290LFxuW2RhdGEjeyRkYXRhLWluZml4fXRoZW1lPVwibGlnaHRcIl0ge1xuICAtLSN7JHByZWZpeH1jYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAjeyRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9Y2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogI3skY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhcm91c2VsLWNvbnRyb2wtaWNvbi1maWx0ZXI6ICN7JGNhcm91c2VsLWNvbnRyb2wtaWNvbi1maWx0ZXJ9O1xufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmssIHRydWUpIHtcbiAgICBAaW5jbHVkZSBjYXJvdXNlbC1kYXJrKCk7XG4gIH1cbn1cbiIsIi8vIHNjc3MtZG9jcy1zdGFydCBjbGVhcmZpeFxuQG1peGluIGNsZWFyZml4KCkge1xuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBjbGVhcmZpeFxuIiwiQHVzZSBcInZhcmlhYmxlc1wiIGFzICo7XG5cbi8vXG4vLyBSb3RhdGluZyBib3JkZXJcbi8vXG5cbi5zcGlubmVyLWdyb3csXG4uc3Bpbm5lci1ib3JkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci13aWR0aCk7XG4gIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXNwaW5uZXItaGVpZ2h0KTtcbiAgdmVydGljYWwtYWxpZ246IHZhcigtLSN7JHByZWZpeH1zcGlubmVyLXZlcnRpY2FsLWFsaWduKTtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogdmFyKC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLXNwZWVkKSBsaW5lYXIgaW5maW5pdGUgdmFyKC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLW5hbWUpO1xufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lci1ib3JkZXIta2V5ZnJhbWVzXG5Aa2V5ZnJhbWVzIHNwaW5uZXItYm9yZGVyIHtcbiAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpICN7XCIvKiBydGw6aWdub3JlICovXCJ9OyB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItYm9yZGVyLWtleWZyYW1lc1xuXG4uc3Bpbm5lci1ib3JkZXIge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lci1ib3JkZXItY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci13aWR0aDogI3skc3Bpbm5lci13aWR0aH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItaGVpZ2h0OiAjeyRzcGlubmVyLWhlaWdodH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItdmVydGljYWwtYWxpZ246ICN7JHNwaW5uZXItdmVydGljYWwtYWxpZ259O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWJvcmRlci13aWR0aDogI3skc3Bpbm5lci1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWFuaW1hdGlvbi1zcGVlZDogI3skc3Bpbm5lci1hbmltYXRpb24tc3BlZWR9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWFuaW1hdGlvbi1uYW1lOiBzcGlubmVyLWJvcmRlcjtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLWJvcmRlci1jc3MtdmFyc1xuXG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fXNwaW5uZXItYm9yZGVyLXdpZHRoKSBzb2xpZCBjdXJyZW50Y29sb3I7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5zcGlubmVyLWJvcmRlci1zbSB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBzcGlubmVyLWJvcmRlci1zbS1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1zcGlubmVyLXdpZHRoOiAjeyRzcGlubmVyLXdpZHRoLXNtfTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1oZWlnaHQ6ICN7JHNwaW5uZXItaGVpZ2h0LXNtfTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1ib3JkZXItd2lkdGg6ICN7JHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLWJvcmRlci1zbS1jc3MtdmFyc1xufVxuXG4vL1xuLy8gR3Jvd2luZyBjaXJjbGVcbi8vXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzcGlubmVyLWdyb3cta2V5ZnJhbWVzXG5Aa2V5ZnJhbWVzIHNwaW5uZXItZ3JvdyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci1ncm93LWtleWZyYW1lc1xuXG4uc3Bpbm5lci1ncm93IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItZ3Jvdy1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1zcGlubmVyLXdpZHRoOiAjeyRzcGlubmVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1oZWlnaHQ6ICN7JHNwaW5uZXItaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjogI3skc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbn07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLXNwZWVkOiAjeyRzcGlubmVyLWFuaW1hdGlvbi1zcGVlZH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLW5hbWU6IHNwaW5uZXItZ3JvdztcbiAgLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLWdyb3ctY3NzLXZhcnNcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zcGlubmVyLWdyb3ctc20ge1xuICAtLSN7JHByZWZpeH1zcGlubmVyLXdpZHRoOiAjeyRzcGlubmVyLXdpZHRoLXNtfTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1oZWlnaHQ6ICN7JHNwaW5uZXItaGVpZ2h0LXNtfTtcbn1cblxuQGlmICRlbmFibGUtcmVkdWNlZC1tb3Rpb24ge1xuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIC5zcGlubmVyLWJvcmRlcixcbiAgICAuc3Bpbm5lci1ncm93IHtcbiAgICAgIC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLXNwZWVkOiAjeyRzcGlubmVyLWFuaW1hdGlvbi1zcGVlZCAqIDJ9O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCJtaXhpbnMvYmFja2Ryb3BcIiBhcyAqO1xuQHVzZSBcIm1peGlucy9ib3gtc2hhZG93XCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvYnJlYWtwb2ludHNcIiBhcyAqO1xuQHVzZSBcIm1peGlucy9sdHItcnRsXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvdHJhbnNpdGlvblwiIGFzICo7XG5AdXNlIFwidmFyaWFibGVzXCIgYXMgKjtcblxuJW9mZmNhbnZhcy1jc3MtdmFycyB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBvZmZjYW52YXMtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXppbmRleDogI3skemluZGV4LW9mZmNhbnZhc307XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy13aWR0aDogI3skb2ZmY2FudmFzLWhvcml6b250YWwtd2lkdGh9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtaGVpZ2h0OiAjeyRvZmZjYW52YXMtdmVydGljYWwtaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteDogI3skb2ZmY2FudmFzLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXk6ICN7JG9mZmNhbnZhcy1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtY29sb3I6ICN7JG9mZmNhbnZhcy1jb2xvcn07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1iZzogI3skb2ZmY2FudmFzLWJnLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci13aWR0aDogI3skb2ZmY2FudmFzLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItY29sb3I6ICN7JG9mZmNhbnZhcy1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtYm94LXNoYWRvdzogI3skb2ZmY2FudmFzLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtdHJhbnNpdGlvbjogI3t0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0fTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXRpdGxlLWxpbmUtaGVpZ2h0OiAjeyRvZmZjYW52YXMtdGl0bGUtbGluZS1oZWlnaHR9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG9mZmNhbnZhcy1jc3MtdmFyc1xufVxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAua2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gIC5vZmZjYW52YXMjeyRpbmZpeH0ge1xuICAgIEBleHRlbmQgJW9mZmNhbnZhcy1jc3MtdmFycztcbiAgfVxufVxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAua2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gIC5vZmZjYW52YXMjeyRpbmZpeH0ge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmV4dCkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy16aW5kZXgpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1jb2xvcik7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJnKTtcbiAgICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJveC1zaGFkb3cpKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy10cmFuc2l0aW9uKSk7XG5cbiAgICAgICYub2ZmY2FudmFzLXN0YXJ0IHtcbiAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXdpZHRoKTtcbiAgICAgICAgYm9yZGVyLWlubGluZS1lbmQ6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgICAgIEBpbmNsdWRlIGx0ci1ydGwtdmFsdWUtb25seShcInRyYW5zZm9ybVwiLCB0cmFuc2xhdGVYKC0xMDAlKSwgdHJhbnNsYXRlWCgxMDAlKSk7XG4gICAgICB9XG5cbiAgICAgICYub2ZmY2FudmFzLWVuZCB7XG4gICAgICAgIGluc2V0LWlubGluZS1lbmQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtd2lkdGgpO1xuICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0OiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICB9XG5cbiAgICAgICYub2ZmY2FudmFzLXRvcCB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1oZWlnaHQpO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgfVxuXG4gICAgICAmLm9mZmNhbnZhcy1ib3R0b20ge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWhlaWdodCk7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci10b3A6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICAgIH1cblxuICAgICAgJi5zaG93aW5nLFxuICAgICAgJi5zaG93Om5vdCguaGlkaW5nKSB7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgfVxuXG4gICAgICAmLnNob3dpbmcsXG4gICAgICAmLmhpZGluZyxcbiAgICAgICYuc2hvdyB7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIpIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5leHQpIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWhlaWdodDogYXV0bztcbiAgICAgICAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuICAgICAgICAub2ZmY2FudmFzLWhlYWRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vZmZjYW52YXMtYm9keSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgICAgICAgIC8vIFJlc2V0IGBiYWNrZ3JvdW5kLWNvbG9yYCBpbiBjYXNlIGAuYmctKmAgY2xhc3NlcyBhcmUgdXNlZCBpbiBvZmZjYW52YXNcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5vZmZjYW52YXMtYmFja2Ryb3Age1xuICBAaW5jbHVkZSBvdmVybGF5LWJhY2tkcm9wKCR6aW5kZXgtb2ZmY2FudmFzLWJhY2tkcm9wLCB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJhY2tkcm9wLWJnLCAkb2ZmY2FudmFzLWJhY2tkcm9wLWJnKSwgJG9mZmNhbnZhcy1iYWNrZHJvcC1vcGFjaXR5KTtcbn1cblxuLm9mZmNhbnZhcy1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpO1xuXG4gIC5idG4tY2xvc2Uge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXkpICogLjUpIGNhbGModmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpICogLjUpO1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGF1dG87XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpKTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy15KSk7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteSkpO1xuICB9XG59XG5cbi5vZmZjYW52YXMtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy10aXRsZS1saW5lLWhlaWdodCk7XG59XG5cbi5vZmZjYW52YXMtYm9keSB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy14KTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cbiIsIkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xuXG4ucGxhY2Vob2xkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiB3YWl0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIG9wYWNpdHk6ICRwbGFjZWhvbGRlci1vcGFjaXR5LW1heDtcblxuICAmLmJ0bjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuXG4vLyBTaXppbmdcbi5wbGFjZWhvbGRlci14cyB7XG4gIG1pbi1oZWlnaHQ6IC42ZW07XG59XG5cbi5wbGFjZWhvbGRlci1zbSB7XG4gIG1pbi1oZWlnaHQ6IC44ZW07XG59XG5cbi5wbGFjZWhvbGRlci1sZyB7XG4gIG1pbi1oZWlnaHQ6IDEuMmVtO1xufVxuXG4vLyBBbmltYXRpb25cbi5wbGFjZWhvbGRlci1nbG93IHtcbiAgLnBsYWNlaG9sZGVyIHtcbiAgICBhbmltYXRpb246IHBsYWNlaG9sZGVyLWdsb3cgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBwbGFjZWhvbGRlci1nbG93IHtcbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAkcGxhY2Vob2xkZXItb3BhY2l0eS1taW47XG4gIH1cbn1cblxuLnBsYWNlaG9sZGVyLXdhdmUge1xuICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTMwZGVnLCAkYmxhY2sgNTUlLCByZ2JhKDAsIDAsIDAsICgxIC0gJHBsYWNlaG9sZGVyLW9wYWNpdHktbWluKSkgNzUlLCAkYmxhY2sgOTUlKTtcbiAgbWFzay1zaXplOiAyMDAlIDEwMCU7XG4gIGFuaW1hdGlvbjogcGxhY2Vob2xkZXItd2F2ZSAycyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgcGxhY2Vob2xkZXItd2F2ZSB7XG4gIDEwMCUge1xuICAgIG1hc2stcG9zaXRpb246IC0yMDAlIDAlO1xuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL3RyYW5zaXRpb25cIiBhcyAqO1xuQHVzZSBcInZhcmlhYmxlc1wiIGFzICo7XG5cbi5hdmF0YXIge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgYXZhdGFyLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWF2YXRhci13aWR0aDogI3skYXZhdGFyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9YXZhdGFyLWhlaWdodDogI3skYXZhdGFyLWhlaWdodH07XG4gIC0tI3skcHJlZml4fWF2YXRhci1mb250LXNpemU6ICN7JGF2YXRhci1mb250LXNpemV9O1xuICAtLSN7JHByZWZpeH1hdmF0YXItYm9yZGVyLXJhZGl1czogI3skYXZhdGFyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1hdmF0YXItc3RhdHVzLXdpZHRoOiAjeyRhdmF0YXItc3RhdHVzLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9YXZhdGFyLXN0YXR1cy1oZWlnaHQ6ICN7JGF2YXRhci1zdGF0dXMtaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9YXZhdGFyLXN0YXR1cy1ib3JkZXItcmFkaXVzOiAjeyRhdmF0YXItc3RhdHVzLWJvcmRlci1yYWRpdXN9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGF2YXRhci1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogdmFyKC0tI3skcHJlZml4fWF2YXRhci13aWR0aCk7XG4gIGhlaWdodDogdmFyKC0tI3skcHJlZml4fWF2YXRhci1oZWlnaHQpO1xuICBmb250LXNpemU6IHZhcigtLSN7JHByZWZpeH1hdmF0YXItZm9udC1zaXplKTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YXZhdGFyLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYXZhdGFyLXRyYW5zaXRpb24pO1xufVxuXG4uYXZhdGFyLWltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWF2YXRhci1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi5hdmF0YXItc3RhdHVzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldC1pbmxpbmUtZW5kOiAwO1xuICBib3R0b206IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogdmFyKC0tI3skcHJlZml4fWF2YXRhci1zdGF0dXMtd2lkdGgpO1xuICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1hdmF0YXItc3RhdHVzLWhlaWdodCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YXZhdGFyLXN0YXR1cy1ib3JkZXItcmFkaXVzKSk7XG59XG5cbkBlYWNoICRzaXplLCAkbWFwIGluICRhdmF0YXItc2l6ZXMge1xuICAuYXZhdGFyLSN7JHNpemV9IHtcbiAgICAtLSN7JHByZWZpeH1hdmF0YXItd2lkdGg6ICN7bWFwLmdldCgkbWFwLCBcIndpZHRoXCIpfTtcbiAgICAtLSN7JHByZWZpeH1hdmF0YXItaGVpZ2h0OiAje21hcC5nZXQoJG1hcCwgXCJoZWlnaHRcIil9O1xuICAgIC0tI3skcHJlZml4fWF2YXRhci1mb250LXNpemU6ICN7bWFwLmdldCgkbWFwLCBcImZvbnQtc2l6ZVwiKX07XG4gICAgLS0jeyRwcmVmaXh9YXZhdGFyLXN0YXR1cy13aWR0aDogI3ttYXAuZ2V0KCRtYXAsIFwic3RhdHVzLXdpZHRoXCIpfTtcbiAgICAtLSN7JHByZWZpeH1hdmF0YXItc3RhdHVzLWhlaWdodDogI3ttYXAuZ2V0KCRtYXAsIFwic3RhdHVzLWhlaWdodFwiKX07XG4gIH1cbn1cblxuLmF2YXRhcnMtc3RhY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIC5hdmF0YXIge1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiBjYWxjKC0uNCAqIHZhcigtLSN7JHByZWZpeH1hdmF0YXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuICAgICY6aG92ZXIge1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwibWl4aW5zL2JvcmRlci1yYWRpdXNcIiBhcyAqO1xuQHVzZSBcInZhcmlhYmxlc1wiIGFzICo7XG5cbi5jYWxsb3V0IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhbGxvdXQtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9Y2FsbG91dC1wYWRkaW5nLXg6ICN7JGNhbGxvdXQtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9Y2FsbG91dC1wYWRkaW5nLXk6ICN7JGNhbGxvdXQtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9Y2FsbG91dC1tYXJnaW4teDogI3skY2FsbG91dC1tYXJnaW4teH07XG4gIC0tI3skcHJlZml4fWNhbGxvdXQtbWFyZ2luLXk6ICN7JGNhbGxvdXQtbWFyZ2luLXl9O1xuICAtLSN7JHByZWZpeH1jYWxsb3V0LWJvcmRlci13aWR0aDogI3skY2FsbG91dC1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1jYWxsb3V0LWJvcmRlci1jb2xvcjogI3skY2FsbG91dC1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYWxsb3V0LWJvcmRlci1sZWZ0LXdpZHRoOiAjeyRjYWxsb3V0LWJvcmRlci1sZWZ0LXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9Y2FsbG91dC1ib3JkZXItcmFkaXVzOiAjeyRjYWxsb3V0LWJvcmRlci1yYWRpdXN9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGNhbGxvdXQtY3NzLXZhcnNcblxuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9Y2FsbG91dC1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1jYWxsb3V0LXBhZGRpbmcteCk7XG4gIG1hcmdpbjogdmFyKC0tI3skcHJlZml4fWNhbGxvdXQtbWFyZ2luLXkpIHZhcigtLSN7JHByZWZpeH1jYWxsb3V0LW1hcmdpbi14KTtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9Y2FsbG91dC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1jYWxsb3V0LWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1pbmxpbmUtc3RhcnQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYWxsb3V0LWJvcmRlci1sZWZ0LWNvbG9yKTtcbiAgYm9yZGVyLWlubGluZS1zdGFydC13aWR0aDogdmFyKC0tI3skcHJlZml4fWNhbGxvdXQtYm9yZGVyLWxlZnQtd2lkdGgpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYWxsb3V0LWJvcmRlci1yYWRpdXMpKTtcbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhbGxvdXQtbW9kaWZpZXJzXG4vLyBHZW5lcmF0ZSBjb250ZXh0dWFsIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGNvbG9yaXppbmcgdGhlIGNvbGxvci5cbkBlYWNoICRzdGF0ZSwgJHZhbHVlIGluICRjYWxsb3V0LXZhcmlhbnRzIHtcbiAgLmNhbGxvdXQtI3skc3RhdGV9IHtcbiAgICAtLSN7JHByZWZpeH1jYWxsb3V0LWJvcmRlci1sZWZ0LWNvbG9yOiAjeyR2YWx1ZX07XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgY2FsbG91dC1tb2RpZmllcnNcbiIsIkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xuXG4uZm9vdGVyIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvb3Rlci1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1mb290ZXItbWluLWhlaWdodDogI3skZm9vdGVyLW1pbi1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1mb290ZXItcGFkZGluZy14OiAjeyRmb290ZXItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9Zm9vdGVyLXBhZGRpbmcteTogI3skZm9vdGVyLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWZvb3Rlci1jb2xvcjogI3skZm9vdGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Zm9vdGVyLWJnOiAjeyRmb290ZXItYmd9O1xuICAtLSN7JHByZWZpeH1mb290ZXItYm9yZGVyLWNvbG9yOiAjeyRmb290ZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Zm9vdGVyLWJvcmRlcjogI3skZm9vdGVyLWJvcmRlci13aWR0aH0gc29saWQgdmFyKC0tI3skcHJlZml4fWZvb3Rlci1ib3JkZXItY29sb3IpO1xuICAvLyBzY3NzLWRvY3MtZW5kIGZvb3Rlci1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gYWxsb3cgdXMgdG8gZG8gdGhlIGxpbmUgYnJlYWsgZm9yIGNvbGxhcHNpbmcgY29udGVudFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1pbi1oZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1mb290ZXItbWluLWhlaWdodCk7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1mb290ZXItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9Zm9vdGVyLXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Zm9vdGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tI3skcHJlZml4fWZvb3Rlci1iZyk7XG4gIGJvcmRlci10b3A6IHZhcigtLSN7JHByZWZpeH1mb290ZXItYm9yZGVyKTtcbn1cblxuLmZvb3Rlci1maXhlZCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcbn1cblxuLmZvb3Rlci1zdGlja3kge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG4iLCJAdXNlIFwiZnVuY3Rpb25zL2VzY2FwZS1zdmdcIiBhcyAqO1xuQHVzZSBcIm1peGlucy9ib3JkZXItcmFkaXVzXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvYnJlYWtwb2ludHNcIiBhcyAqO1xuQHVzZSBcIm1peGlucy90cmFuc2l0aW9uXCIgYXMgKjtcbkB1c2UgXCJ2ZW5kb3IvcmZzXCIgYXMgKjtcbkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xuXG4uaGVhZGVyIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGhlYWRlci1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1oZWFkZXItcGFkZGluZy14OiAjeyRoZWFkZXItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9aGVhZGVyLXBhZGRpbmcteTogI3skaGVhZGVyLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWhlYWRlci1iZzogI3skaGVhZGVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9aGVhZGVyLWNvbG9yOiAjeyRoZWFkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1oZWFkZXItYm9yZGVyLWNvbG9yOiAjeyRoZWFkZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9aGVhZGVyLWJvcmRlcjogI3skaGVhZGVyLWJvcmRlci13aWR0aH0gc29saWQgdmFyKC0tI3skcHJlZml4fWhlYWRlci1ib3JkZXItY29sb3IpO1xuICAtLSN7JHByZWZpeH1oZWFkZXItaG92ZXItY29sb3I6ICN7JGhlYWRlci1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWhlYWRlci1kaXNhYmxlZC1jb2xvcjogI3skaGVhZGVyLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9aGVhZGVyLWFjdGl2ZS1jb2xvcjogI3skaGVhZGVyLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWhlYWRlci10cmFuc2l0aW9uOiAjeyRoZWFkZXItdHJhbnNpdGlvbn07XG4gIC0tI3skcHJlZml4fWhlYWRlci1icmFuZC1wYWRkaW5nLXk6ICN7JGhlYWRlci1icmFuZC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1oZWFkZXItYnJhbmQtY29sb3I6ICN7JGhlYWRlci1icmFuZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWhlYWRlci1icmFuZC1ob3Zlci1jb2xvcjogI3skaGVhZGVyLWJyYW5kLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9aGVhZGVyLXRvZ2dsZXItcGFkZGluZy14OiAjeyRoZWFkZXItdG9nZ2xlci1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1oZWFkZXItdG9nZ2xlci1wYWRkaW5nLXk6ICN7JGhlYWRlci10b2dnbGVyLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWhlYWRlci10b2dnbGVyLWJnOiAjeyRoZWFkZXItdG9nZ2xlci1iZ307XG4gIC0tI3skcHJlZml4fWhlYWRlci10b2dnbGVyLWNvbG9yOiAjeyRoZWFkZXItdG9nZ2xlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWhlYWRlci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICN7JGhlYWRlci10b2dnbGVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1oZWFkZXItdG9nZ2xlci1ob3Zlci1jb2xvcjogI3skaGVhZGVyLXRvZ2dsZXItaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1oZWFkZXItdG9nZ2xlci1pY29uLWJnOiAje2VzY2FwZS1zdmcoJGhlYWRlci10b2dnbGVyLWljb24tYmcpfTtcbiAgLS0jeyRwcmVmaXh9aGVhZGVyLXRvZ2dsZXItaG92ZXItaWNvbi1iZzogI3tlc2NhcGUtc3ZnKCRoZWFkZXItdG9nZ2xlci1ob3Zlci1pY29uLWJnKX07XG4gIC0tI3skcHJlZml4fWhlYWRlci1uYXYtbGluay1wYWRkaW5nLXg6ICN7JGhlYWRlci1uYXYtbGluay1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1oZWFkZXItbmF2LWxpbmstcGFkZGluZy15OiAjeyRoZWFkZXItbmF2LWxpbmstcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9aGVhZGVyLWRpdmlkZXItYm9yZGVyLWNvbG9yOiAjeyRoZWFkZXItZGl2aWRlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1oZWFkZXItZGl2aWRlci1ib3JkZXI6ICN7JGhlYWRlci1kaXZpZGVyLWJvcmRlci13aWR0aH0gc29saWQgdmFyKC0tI3skcHJlZml4fWhlYWRlci1kaXZpZGVyLWJvcmRlci1jb2xvcik7XG4gIC8vIHNjc3MtZG9jcy1lbmQgaGVhZGVyLWNzcy12YXJzXG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IC8vIGFsbG93IHVzIHRvIGRvIHRoZSBsaW5lIGJyZWFrIGZvciBjb2xsYXBzaW5nIGNvbnRlbnRcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBzcGFjZSBvdXQgYnJhbmQgZnJvbSBsb2dvXG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1oZWFkZXItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9aGVhZGVyLXBhZGRpbmcteCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLSN7JHByZWZpeH1oZWFkZXItYmcpO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGVyLWJvcmRlcik7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fWhlYWRlci10cmFuc2l0aW9uKSk7XG5cbiAgLy8gQmVjYXVzZSBmbGV4IHByb3BlcnRpZXMgYXJlbid0IGluaGVyaXRlZCwgd2UgbmVlZCB0byByZWRlY2xhcmUgdGhlc2UgZmlyc3RcbiAgLy8gZmV3IHByb3BlcnRpZXMgc28gdGhhdCBjb250ZW50IG5lc3RlZCB3aXRoaW4gYmVoYXZlIHByb3Blcmx5LlxuICAvLyBUaGUgYGZsZXgtd3JhcGAgcHJvcGVydHkgaXMgaW5oZXJpdGVkIHRvIHNpbXBsaWZ5IHRoZSBleHBhbmRlZCBuYXZiYXJzXG4gICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogaW5oZXJpdDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gID4gLmNvbnRhaW5lcixcbiAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAZXh0ZW5kICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzO1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgPiAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aHMpfSB7XG4gICAgICBAZXh0ZW5kICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzO1xuICAgIH1cbiAgfVxuXG4gICYuaGVhZGVyLXN0aWNreSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogJHppbmRleC1zdGlja3k7XG4gIH1cbn1cblxuLmhlYWRlci1kaXZpZGVyIHtcbiAgZmxleC1iYXNpczogY2FsYygxMDAlICsgKDIgKiB2YXIoLS0jeyRwcmVmaXh9aGVhZGVyLXBhZGRpbmcteCkpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IHZhcigtLSN7JHByZWZpeH1oZWFkZXItcGFkZGluZy15KSBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fWhlYWRlci1wYWRkaW5nLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLXRvcDogdmFyKC0tI3skcHJlZml4fWhlYWRlci1kaXZpZGVyLWJvcmRlcik7XG59XG5cbi8vIEhlYWRlciBicmFuZFxuLy9cbi8vIFVzZWQgZm9yIGJyYW5kLCBwcm9qZWN0LCBvciBzaXRlIG5hbWVzLlxuXG4uaGVhZGVyLWJyYW5kIHtcbiAgcGFkZGluZy10b3A6IHZhcigtLSN7JHByZWZpeH1oZWFkZXItYnJhbmQtcGFkZGluZy15KTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLSN7JHByZWZpeH1oZWFkZXItYnJhbmQtcGFkZGluZy15KTtcbiAgbWFyZ2luLWlubGluZS1lbmQ6ICRoZWFkZXItYnJhbmQtbWFyZ2luLWVuZDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoZWFkZXItYnJhbmQtZm9udC1zaXplKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1oZWFkZXItYnJhbmQtY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1oZWFkZXItYnJhbmQtaG92ZXItY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICB9XG59XG5cbi8vIEhlYWRlciBuYXZcbi8vXG4vLyBDdXN0b20gbmF2YmFyIG5hdmlnYXRpb24gKGRvZXNuJ3QgcmVxdWlyZSBgLm5hdmAsIGJ1dCBkb2VzIG1ha2UgdXNlIG9mIGAubmF2LWxpbmtgKS5cblxuLmhlYWRlci1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93OyAvLyBjYW5ub3QgdXNlIGBpbmhlcml0YCB0byBnZXQgdGhlIGAuaGVhZGVyYHMgdmFsdWVcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGVyLW5hdi1saW5rLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWhlYWRlci1uYXYtbGluay1wYWRkaW5nLXgpO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGVyLWNvbG9yKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWhlYWRlci1ob3Zlci1jb2xvcik7XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWhlYWRlci1kaXNhYmxlZC1jb2xvcik7XG4gICAgfVxuICB9XG5cbiAgLnNob3cgPiAubmF2LWxpbmssXG4gIC5uYXYtbGluay5hY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGVyLWFjdGl2ZS1jb2xvcik7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG59XG5cblxuLy8gSGVhZGVyIHRleHRcbi8vXG4vL1xuXG4uaGVhZGVyLXRleHQge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tI3skcHJlZml4fWhlYWRlci1uYXYtbGluay1wYWRkaW5nLXkpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWhlYWRlci1uYXYtbGluay1wYWRkaW5nLXkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWhlYWRlci1jb2xvcik7XG5cbiAgYSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1oZWFkZXItYWN0aXZlLWNvbG9yKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWhlYWRlci1hY3RpdmUtY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG4uaGVhZGVyLXRvZ2dsZXIge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGVyLXRvZ2dsZXItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9aGVhZGVyLXRvZ2dsZXItcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoZWFkZXItdG9nZ2xlci1mb250LXNpemUpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWhlYWRlci10b2dnbGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWhlYWRlci10b2dnbGVyLWJnKTtcbiAgYm9yZGVyOiAwOyAvLyByZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9aGVhZGVyLXRvZ2dsZXItYm9yZGVyLXJhZGl1cykpO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGVyLXRvZ2dsZXItaG92ZXItY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAvLyBPcGluaW9uYXRlZDogYWRkIFwiaGFuZFwiIGN1cnNvciB0byBub24tZGlzYWJsZWQgLm5hdmJhci10b2dnbGVyIGVsZW1lbnRzXG4gICY6bm90KDpkaXNhYmxlZCkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG4uaGVhZGVyLXRvZ2dsZXItaWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6ICRoZWFkZXItdG9nZ2xlci1mb250LXNpemUgKiAxLjI1O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGVyLXRvZ2dsZXItaWNvbi1iZyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1oZWFkZXItdG9nZ2xlci1ob3Zlci1pY29uLWJnKTtcbiAgfVxufVxuIiwiQHVzZSBcIm1peGlucy9pY29uXCIgYXMgKjtcbkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xuXG4uaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IC0uMTI1cmVtOyAvLyBGaXggdGhlIHBvc2l0aW9uIG9mIGljb25cbiAgZmlsbDogY3VycmVudGNvbG9yO1xuICAmOm5vdCguaWNvbi1jLXMpOm5vdCguaWNvbi1jdXN0b20tc2l6ZSkge1xuICAgIEBpbmNsdWRlIGljb24tc2l6ZSgkaWNvbi1zaXplLWJhc2UpO1xuXG4gICAgJi5pY29uLXh4bCB7XG4gICAgICBAaW5jbHVkZSBpY29uLXNpemUoJGljb24tc2l6ZS14eGwpO1xuICAgIH1cblxuICAgICYuaWNvbi14bCB7XG4gICAgICBAaW5jbHVkZSBpY29uLXNpemUoJGljb24tc2l6ZS14bCk7XG4gICAgfVxuXG4gICAgJi5pY29uLWxnIHtcbiAgICAgIEBpbmNsdWRlIGljb24tc2l6ZSgkaWNvbi1zaXplLWxnKTtcbiAgICB9XG5cbiAgICAmLmljb24tc20ge1xuICAgICAgQGluY2x1ZGUgaWNvbi1zaXplKCRpY29uLXNpemUtc20pO1xuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAzIHRocm91Z2ggOSB7XG4gICAgICAmLmljb24tI3skaX14bCB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tc2l6ZSgkaSAqICRpY29uLXNpemUtYmFzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBJY29uIHNpemVzXG5AbWl4aW4gaWNvbi1zaXplKCRpY29uLXNpemUpIHtcbiAgd2lkdGg6ICRpY29uLXNpemU7XG4gIGhlaWdodDogJGljb24tc2l6ZTtcbiAgZm9udC1zaXplOiAkaWNvbi1zaXplO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5AdXNlIFwiLi4vZnVuY3Rpb25zL2VzY2FwZS1zdmdcIiBhcyAqO1xuQHVzZSBcIi4uL21peGlucy9iYWNrZHJvcFwiIGFzICo7XG5AdXNlIFwiLi4vbWl4aW5zL2JvcmRlci1yYWRpdXNcIiBhcyAqO1xuQHVzZSBcIi4uL21peGlucy9icmVha3BvaW50c1wiIGFzICo7XG5AdXNlIFwiLi4vbWl4aW5zL2x0ci1ydGxcIiBhcyAqO1xuQHVzZSBcIi4uL21peGlucy90cmFuc2l0aW9uXCIgYXMgKjtcbkB1c2UgXCIuLi92YXJpYWJsZXNcIiBhcyAqO1xuQHVzZSBcIi4uL3ZhcmlhYmxlcy1kYXJrXCIgYXMgKjtcblxuLnNpZGViYXIge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgc2lkZWJhci1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLXppbmRleDogI3skemluZGV4LXNpZGViYXJ9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLXdpZHRoOiAjeyRzaWRlYmFyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1iZzogI3skc2lkZWJhci1iZ307XG4gIC0tI3skcHJlZml4fXNpZGViYXItcGFkZGluZy14OiAjeyRzaWRlYmFyLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXNpZGViYXItcGFkZGluZy15OiAjeyRzaWRlYmFyLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fXNpZGViYXItY29sb3I6ICN7JHNpZGViYXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLWJyYW5kLWNvbG9yOiAjeyRzaWRlYmFyLWJyYW5kLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1icmFuZC1iZzogI3skc2lkZWJhci1icmFuZC1iZ307XG4gIC8vIHNjc3MtZG9jcy1lbmQgc2lkZWJhci1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLXdpZHRoKTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLy8gcHV0IHRoZSBuYXYgb24gdGhlIGxlZnRcbiAgb3JkZXI6IC0xO1xuICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXNpZGViYXItd2lkdGgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXNpZGViYXItY29sb3IpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1iZyk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHNpZGViYXItdHJhbnNpdGlvbik7XG5cbiAgJjpub3QoLnNpZGViYXItZW5kKXtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICB9XG5cbiAgJi5zaWRlYmFyLWVuZCB7XG4gICAgb3JkZXI6IDk5O1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbW9iaWxlLWJyZWFrcG9pbnQpIHtcbiAgICAmOm5vdCguaGlkZSk6bm90KC5zaWRlYmFyLW5hcnJvdyk6bm90KC5zaWRlYmFyLW5hcnJvdy11bmZvbGRhYmxlKTpub3QoLnNpZGViYXItb3ZlcmxhaWQpIHtcbiAgICAgICY6bm90KC5zaWRlYmFyLWVuZCkgfiAqIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9c2lkZWJhci1vY2N1cHktc3RhcnQ6ICN7JHNpZGViYXItd2lkdGh9O1xuICAgICAgfVxuICAgICAgJi5zaWRlYmFyLWVuZCB+ICoge1xuICAgICAgICAtLSN7JHByZWZpeH1zaWRlYmFyLW9jY3VweS1lbmQ6ICN7JHNpZGViYXItd2lkdGh9O1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaGlkZSB7XG4gICAgICAmOm5vdCguc2lkZWJhci1lbmQpIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLXdpZHRoKSk7XG4gICAgICB9XG4gICAgICAmLnNpZGViYXItZW5kIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci13aWR0aCkpO1xuXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRtb2JpbGUtYnJlYWtwb2ludCkge1xuICAgIC8vIFNvbWUgb2Ygb3VyIGNvbXBvbmVudHMgdXNlIHRoaXMgcHJvcGVydHkgdG8gZGV0ZWN0IGlmIHRoZSBzaWRlYmFyIGhhcyBtb2JpbGUgYmVoYXZpb3IuXG4gICAgLS0jeyRwcmVmaXh9aXMtbW9iaWxlOiB0cnVlO1xuXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fXNpZGViYXItemluZGV4KTtcblxuICAgICY6bm90KC5zaWRlYmFyLWVuZCkge1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuXG4gICAgICAmOm5vdCguc2hvdykge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fXNpZGViYXItd2lkdGgpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNpZGViYXItZW5kIHtcbiAgICAgIGluc2V0LWlubGluZS1lbmQ6IDA7XG5cbiAgICAgICY6bm90KC5zaG93KSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fXNpZGViYXItd2lkdGgpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnNpZGViYXItZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci16aW5kZXgpO1xuXG4gICY6bm90KC5zaWRlYmFyLWVuZCkge1xuICAgIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgfVxuXG4gICYuc2lkZWJhci1lbmQge1xuICAgIGluc2V0LWlubGluZS1lbmQ6IDA7XG4gIH1cbn1cblxuLnNpZGViYXItb3ZlcmxhaWQge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgc2lkZWJhci1vdmVybGFpZC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW92ZXJsYWlkLWJveC1zaGFkb3c6ICN7JHNpZGViYXItb3ZlcmxhaWQtYm94LXNoYWRvd307XG4gIC8vIHNjc3MtZG9jcy1lbmQgc2lkZWJhci1vdmVybGFpZC1jc3MtdmFyc1xuXG4gIEBleHRlbmQgLnNpZGViYXItZml4ZWQ7XG5cbiAgJjpub3QoLnNpZGViYXItZW5kKXtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fXNpZGViYXItd2lkdGgpKTtcbiAgfVxuXG4gICYuc2lkZWJhci1lbmQge1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fXNpZGViYXItd2lkdGgpKTtcbiAgfVxuXG4gICYuc2hvdyB7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fXNpZGViYXItb3ZlcmxhaWQtYm94LXNoYWRvdyk7XG5cbiAgICAmOm5vdCguc2lkZWJhci1lbmQpIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgfVxuXG4gICAgJi5zaWRlYmFyLWVuZCB7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogMDtcbiAgICB9XG4gIH1cbn1cblxuQGVhY2ggJHdpZHRoLCAkdmFsdWUgaW4gJHNpZGViYXItd2lkdGhzIHtcbiAgLnNpZGViYXItI3skd2lkdGh9IHtcbiAgICAtLSN7JHByZWZpeH1zaWRlYmFyLXdpZHRoOiAjeyR2YWx1ZX07XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRtb2JpbGUtYnJlYWtwb2ludCkge1xuICAgICAgJjpub3QoLmhpZGUpOm5vdCguc2lkZWJhci1uYXJyb3cpOm5vdCguc2lkZWJhci1uYXJyb3ctdW5mb2xkYWJsZSk6bm90KC5zaWRlYmFyLW92ZXJsYWlkKSB7XG4gICAgICAgICY6bm90KC5zaWRlYmFyLWVuZCkgfiAqIHtcbiAgICAgICAgICAtLSN7JHByZWZpeH1zaWRlYmFyLW9jY3VweS1zdGFydDogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICAgICYuc2lkZWJhci1lbmQgfiAqIHtcbiAgICAgICAgICAtLSN7JHByZWZpeH1zaWRlYmFyLW9jY3VweS1lbmQ6ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uc2lkZWJhci1icmFuZCB7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1icmFuZC1jb2xvcik7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgLnNpZGViYXItYnJhbmQtbmFycm93IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5zaWRlYmFyLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXNpZGViYXItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1wYWRkaW5nLXgpO1xuXG4gIC5idG4tY2xvc2Uge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tI3skcHJlZml4fXNpZGViYXItcGFkZGluZy15KSAqIC41KSBjYWxjKHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLXBhZGRpbmcteCkgKiAuNSk7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fXNpZGViYXItcGFkZGluZy14KSk7XG4gICAgbWFyZ2luLXRvcDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1wYWRkaW5nLXkpKTtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLXBhZGRpbmcteSkpO1xuICB9XG59XG5cbi5zaWRlYmFyLWJvZHkge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLXBhZGRpbmcteCk7XG59XG5cbi5zaWRlYmFyLWZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXNpZGViYXItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1wYWRkaW5nLXgpO1xufVxuXG4uc2lkZWJhci10b2dnbGVyIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHNpZGViYXItdG9nZ2xlci1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLXRvZ2dsZXItd2lkdGg6ICN7JHNpZGViYXItdG9nZ2xlci13aWR0aH07XG4gIC0tI3skcHJlZml4fXNpZGViYXItdG9nZ2xlci1oZWlnaHQ6ICN7JHNpZGViYXItdG9nZ2xlci1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLXRvZ2dsZXItYmc6ICN7JHNpZGViYXItdG9nZ2xlci1iZ307XG4gIC0tI3skcHJlZml4fXNpZGViYXItdG9nZ2xlci1jb2xvcjogI3skc2lkZWJhci10b2dnbGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci10b2dnbGVyLWljb246ICN7ZXNjYXBlLXN2Zygkc2lkZWJhci10b2dnbGVyLWljb24pfTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci10b2dnbGVyLWhvdmVyLWNvbG9yOiAjeyRzaWRlYmFyLXRvZ2dsZXItaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLXRvZ2dsZXItZm9jdXMtc2hhZG93OiAjeyRzaWRlYmFyLXRvZ2dsZXItZm9jdXMtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci10b2dnbGVyLWZvY3VzLWNvbG9yOiAjeyRzaWRlYmFyLXRvZ2dsZXItZm9jdXMtY29sb3J9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLXRvZ2dsZXItdHJhbnNpdGlvbjogI3skc2lkZWJhci10b2dnbGVyLXRyYW5zaXRpb259O1xuICAvLyBzY3NzLWRvY3MtZW5kIHNpZGViYXItdG9nZ2xlci1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci10b2dnbGVyLXdpZHRoKTtcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci10b2dnbGVyLWhlaWdodCk7XG4gIHBhZGRpbmc6ICRzaWRlYmFyLXRvZ2dsZXItcGFkZGluZy15ICRzaWRlYmFyLXRvZ2dsZXItcGFkZGluZy14O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci10b2dnbGVyLWJnKTtcbiAgYm9yZGVyOiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXNpZGViYXItdG9nZ2xlci1jb2xvcik7XG4gICAgbWFzazogdmFyKC0tI3skcHJlZml4fXNpZGViYXItdG9nZ2xlci1pY29uKSBuby1yZXBlYXQgY2VudGVyO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fXNpZGViYXItdG9nZ2xlci10cmFuc2l0aW9uKSk7XG4gICAgQGluY2x1ZGUgcnRsKCkge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gICAgfVxuICB9XG5cbiAgLy8gT3ZlcnJpZGUgPGE+J3MgaG92ZXIgc3R5bGVcbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci10b2dnbGVyLWhvdmVyLWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci10b2dnbGVyLWZvY3VzLXNoYWRvdyk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXNpZGViYXItdG9nZ2xlci1mb2N1cy1jb2xvcik7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRtb2JpbGUtYnJlYWtwb2ludCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBCYWNrZHJvcCBiYWNrZ3JvdW5kXG5cbi5zaWRlYmFyLWJhY2tkcm9wIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHNpZGViYXItYmFja2Ryb3AtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YmFja2Ryb3AtemluZGV4OiAjeyR6aW5kZXgtc2lkZWJhci1iYWNrZHJvcH07XG4gIC0tI3skcHJlZml4fWJhY2tkcm9wLWJnOiAjeyRzaWRlYmFyLWJhY2tkcm9wLWJnfTtcbiAgLS0jeyRwcmVmaXh9YmFja2Ryb3Atb3BhY2l0eTogI3skc2lkZWJhci1iYWNrZHJvcC1vcGFjaXR5fTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBzaWRlYmFyLWJhY2tkcm9wLWNzcy12YXJzXG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRtb2JpbGUtYnJlYWtwb2ludCkge1xuICAgIEBpbmNsdWRlIG92ZXJsYXktYmFja2Ryb3AodmFyKC0tI3skcHJlZml4fWJhY2tkcm9wLXppbmRleCksIHZhcigtLSN7JHByZWZpeH1iYWNrZHJvcC1iZyksIHZhcigtLSN7JHByZWZpeH1iYWNrZHJvcC1vcGFjaXR5KSk7XG4gIH1cbn1cblxuLnNpZGViYXItZGFyayB7XG4gIC0tI3skcHJlZml4fWJvZHktY29sb3I6ICN7JGJvZHktY29sb3ItZGFya307XG4gIC0tI3skcHJlZml4fWJvZHktYmc6ICN7JGJvZHktYmctZGFya307XG5cbiAgLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3I6ICN7JGJvZHktZW1waGFzaXMtY29sb3ItZGFya307XG5cbiAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yOiAjeyRib2R5LXNlY29uZGFyeS1jb2xvci1kYXJrfTtcbiAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnOiAjeyRib2R5LXNlY29uZGFyeS1iZy1kYXJrfTtcblxuICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvcjogI3skYm9keS10ZXJ0aWFyeS1jb2xvci1kYXJrfTtcbiAgLS0jeyRwcmVmaXh9dGVydGlhcnktYmc6ICN7JGJvZHktdGVydGlhcnktYmctZGFya307XG5cbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yOiAjeyRib3JkZXItY29sb3ItZGFya307XG5cbiAgLnNpZGViYXItdG9nZ2xlciB7XG4gICAgZmlsdGVyOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci10b2dnbGVyLXdoaXRlLWZpbHRlcik7XG4gIH1cbn1cbiIsIi8vIFNpZGViYXIgbmF2aWdhdGlvblxuQHVzZSBcIi4uL2Z1bmN0aW9ucy9lc2NhcGUtc3ZnXCIgYXMgKjtcbkB1c2UgXCIuLi9taXhpbnMvYm9yZGVyLXJhZGl1c1wiIGFzICo7XG5AdXNlIFwiLi4vbWl4aW5zL3RyYW5zaXRpb25cIiBhcyAqO1xuQHVzZSBcIi4uL3ZhcmlhYmxlc1wiIGFzICo7XG5cbi5zaWRlYmFyLW5hdiB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBzaWRlYmFyLW5hdi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1wYWRkaW5nLXg6ICN7JHNpZGViYXItbmF2LXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXNpZGViYXItbmF2LXBhZGRpbmcteTogI3skc2lkZWJhci1uYXYtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtZ2FwOiAjeyRzaWRlYmFyLW5hdi1nYXB9O1xuXG4gIC0tI3skcHJlZml4fXNpZGViYXItbmF2LXRpdGxlLXBhZGRpbmcteDogI3skc2lkZWJhci1uYXYtdGl0bGUtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtdGl0bGUtcGFkZGluZy15OiAjeyRzaWRlYmFyLW5hdi10aXRsZS1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi10aXRsZS1tYXJnaW4tdG9wOiAjeyRzaWRlYmFyLW5hdi10aXRsZS1tYXJnaW4tdG9wfTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtdGl0bGUtY29sb3I6ICN7JHNpZGViYXItbmF2LXRpdGxlLWNvbG9yfTtcblxuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLXBhZGRpbmcteDogI3skc2lkZWJhci1uYXYtbGluay1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLXBhZGRpbmcteTogI3skc2lkZWJhci1uYXYtbGluay1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWNvbG9yOiAjeyRzaWRlYmFyLW5hdi1saW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1iZzogI3skc2lkZWJhci1uYXYtbGluay1iZ307XG4gIC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstYm9yZGVyLWNvbG9yOiAjeyRzaWRlYmFyLW5hdi1saW5rLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstYm9yZGVyLXJhZGl1czogI3skc2lkZWJhci1uYXYtbGluay1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1ib3JkZXItd2lkdGg6ICN7JHNpZGViYXItbmF2LWxpbmstYm9yZGVyLXdpZHRofTtcblxuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWFjdGl2ZS1jb2xvcjogI3skc2lkZWJhci1uYXYtbGluay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWFjdGl2ZS1iZzogI3skc2lkZWJhci1uYXYtbGluay1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAjeyRzaWRlYmFyLW5hdi1saW5rLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1ob3Zlci1jb2xvcjogI3skc2lkZWJhci1uYXYtbGluay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstaG92ZXItYmc6ICN7JHNpZGViYXItbmF2LWxpbmstaG92ZXItYmd9O1xuXG4gIC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstaWNvbi1tYXJnaW46ICN7JHNpZGViYXItbmF2LWxpbmstaWNvbi1tYXJnaW59O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWljb24tY29sb3I6ICN7JHNpZGViYXItbmF2LWxpbmstaWNvbi1jb2xvcn07XG4gIC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstaWNvbi13aWR0aDogI3skc2lkZWJhci1uYXYtbGluay1pY29uLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1pY29uLWhlaWdodDogI3skc2lkZWJhci1uYXYtbGluay1pY29uLWhlaWdodH07XG4gIC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstaWNvbi1mb250LXNpemU6ICN7JHNpZGViYXItbmF2LWxpbmstaWNvbi1mb250LXNpemV9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWFjdGl2ZS1pY29uLWNvbG9yOiAjeyRzaWRlYmFyLW5hdi1saW5rLWFjdGl2ZS1pY29uLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1kaXNhYmxlZC1pY29uLWNvbG9yOiAjeyRzaWRlYmFyLW5hdi1saW5rLWRpc2FibGVkLWljb24tY29sb3J9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWhvdmVyLWljb24tY29sb3I6ICN7JHNpZGViYXItbmF2LWxpbmstaG92ZXItaWNvbi1jb2xvcn07XG5cbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1pY29uLWJ1bGxldC1zaXplOiAjeyRzaWRlYmFyLW5hdi1saW5rLWljb24tYnVsbGV0LXNpemV9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWljb24tYnVsbGV0LWJnOiAjeyRzaWRlYmFyLW5hdi1saW5rLWljb24tYnVsbGV0LWJnfTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1pY29uLWJ1bGxldC1ib3JkZXItd2lkdGg6ICN7JHNpZGViYXItbmF2LWxpbmstaWNvbi1idWxsZXQtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1pY29uLWJ1bGxldC1ib3JkZXItcmFkaXVzOiAjeyRzaWRlYmFyLW5hdi1saW5rLWljb24tYnVsbGV0LWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWljb24tYnVsbGV0LWJvcmRlci1jb2xvcjogI3skc2lkZWJhci1uYXYtbGluay1pY29uLWJ1bGxldC1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWFjdGl2ZS1pY29uLWJ1bGxldC1iZzogI3skc2lkZWJhci1uYXYtbGluay1hY3RpdmUtaWNvbi1idWxsZXQtYmd9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWFjdGl2ZS1pY29uLWJ1bGxldC1ib3JkZXItY29sb3I6ICN7JHNpZGViYXItbmF2LWxpbmstYWN0aXZlLWljb24tYnVsbGV0LWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstZGlzYWJsZWQtaWNvbi1idWxsZXQtYmc6ICN7JHNpZGViYXItbmF2LWxpbmstZGlzYWJsZWQtaWNvbi1idWxsZXQtYmd9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWRpc2FibGVkLWljb24tYnVsbGV0LWJvcmRlci1jb2xvcjogI3skc2lkZWJhci1uYXYtbGluay1kaXNhYmxlZC1pY29uLWJ1bGxldC1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWhvdmVyLWljb24tYnVsbGV0LWJnOiAjeyRzaWRlYmFyLW5hdi1saW5rLWhvdmVyLWljb24tYnVsbGV0LWJnfTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1ob3Zlci1pY29uLWJ1bGxldC1ib3JkZXItY29sb3I6ICN7JHNpZGViYXItbmF2LWxpbmstaG92ZXItaWNvbi1idWxsZXQtYm9yZGVyLWNvbG9yfTtcblxuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1ncm91cC1iZzogI3skc2lkZWJhci1uYXYtZ3JvdXAtYmd9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1ncm91cC1ib3JkZXItd2lkdGg6ICN7JHNpZGViYXItbmF2LWdyb3VwLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fXNpZGViYXItbmF2LWdyb3VwLWJvcmRlci1yYWRpdXM6ICN7JHNpZGViYXItbmF2LWdyb3VwLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1ncm91cC1ib3JkZXItY29sb3I6ICN7JHNpZGViYXItbmF2LWdyb3VwLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXNpZGViYXItbmF2LWdyb3VwLWl0ZW1zLXBhZGRpbmcteTogI3skc2lkZWJhci1uYXYtZ3JvdXAtaXRlbXMtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtZ3JvdXAtaXRlbXMtcGFkZGluZy14OiAjeyRzaWRlYmFyLW5hdi1ncm91cC1pdGVtcy1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1ncm91cC1pbmRpY2F0b3ItY29sb3I6ICN7JHNpZGViYXItbmF2LWdyb3VwLWluZGljYXRvci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXNpZGViYXItbmF2LWdyb3VwLWluZGljYXRvci1pY29uOiAje2VzY2FwZS1zdmcoJHNpZGViYXItbmF2LWdyb3VwLWluZGljYXRvci1pY29uKX07XG4gIC0tI3skcHJlZml4fXNpZGViYXItbmF2LWdyb3VwLWluZGljYXRvci1ob3Zlci1jb2xvcjogI3skc2lkZWJhci1uYXYtZ3JvdXAtaW5kaWNhdG9yLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtZ3JvdXAtaW5kaWNhdG9yLWhvdmVyLWljb246ICN7ZXNjYXBlLXN2Zygkc2lkZWJhci1uYXYtZ3JvdXAtaW5kaWNhdG9yLWhvdmVyLWljb24pfTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtZ3JvdXAtdG9nZ2xlLXNob3ctY29sb3I6ICN7JHNpZGViYXItbmF2LWdyb3VwLXRvZ2dsZS1zaG93LWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBzaWRlYmFyLW5hdi1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAubmF2LWl0ZW0gKyAubmF2LWl0ZW0sXG4gIC5uYXYtaXRlbSArIC5uYXYtZ3JvdXAsXG4gIC5uYXYtZ3JvdXAgKyAubmF2LWl0ZW0ge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1nYXApO1xuICB9XG5cbiAgLm5hdi10aXRsZSB7XG4gICAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LXRpdGxlLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LXRpdGxlLXBhZGRpbmcteCk7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LXRpdGxlLW1hcmdpbi10b3ApO1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi10aXRsZS1jb2xvcik7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRzaWRlYmFyLW5hdi10aXRsZS10cmFuc2l0aW9uKTtcbiAgfVxuXG4gIC5uYXYtbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAxO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1wYWRkaW5nLXgpO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstYmcpO1xuICAgIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1ib3JkZXItY29sb3IpO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstYm9yZGVyLXJhZGl1cykpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJHNpZGViYXItbmF2LWxpbmstdHJhbnNpdGlvbik7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstYWN0aXZlLWNvbG9yKTtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWFjdGl2ZS1iZyk7XG5cbiAgICAgIC5uYXYtaWNvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1hY3RpdmUtaWNvbi1jb2xvcik7XG4gICAgICB9XG5cbiAgICAgIC5uYXYtaWNvbi1idWxsZXQge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1saW5rLWFjdGl2ZS1pY29uLWJ1bGxldC1iZyk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbGluay1hY3RpdmUtaWNvbi1idWxsZXQtYm9yZGVyLWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1kaXNhYmxlZC1jb2xvcik7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgICAgLm5hdi1pY29uIHtcbiAgICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWRpc2FibGVkLWljb24tY29sb3IpO1xuICAgICAgfVxuXG4gICAgICAubmF2LWljb24tYnVsbGV0IHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbGluay1kaXNhYmxlZC1pY29uLWJ1bGxldC1iZyk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbGluay1kaXNhYmxlZC1pY29uLWJ1bGxldC1ib3JkZXItY29sb3IpO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWRpc2FibGVkLWNvbG9yKTtcblxuICAgICAgICAubmF2LWljb24ge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1kaXNhYmxlZC1pY29uLWNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXYtaWNvbi1idWxsZXQge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLWxpbmstZGlzYWJsZWQtaWNvbi1idWxsZXQtYmcpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbGluay1kaXNhYmxlZC1pY29uLWJ1bGxldC1ib3JkZXItY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5uYXYtZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWdyb3VwLWluZGljYXRvci1ob3Zlci1jb2xvcik7XG4gICAgICAgICAgbWFzay1pbWFnZTogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWdyb3VwLWluZGljYXRvci1ob3Zlci1pY29uKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWhvdmVyLWNvbG9yKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1ob3Zlci1iZyk7XG5cbiAgICAgICAgLm5hdi1pY29uIHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstaG92ZXItaWNvbi1jb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAubmF2LWljb24tYnVsbGV0IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1saW5rLWhvdmVyLWljb24tYnVsbGV0LWJnKTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLWxpbmstaG92ZXItaWNvbi1idWxsZXQtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYubmF2LWdyb3VwLXRvZ2dsZTo6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1ncm91cC1pbmRpY2F0b3ItaG92ZXItY29sb3IpO1xuICAgICAgICAgIG1hc2staW1hZ2U6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1ncm91cC1pbmRpY2F0b3ItaG92ZXItaWNvbik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmF2LWljb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMCAwIHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWljb24td2lkdGgpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1pY29uLWhlaWdodCk7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWljb24tbWFyZ2luKTtcbiAgICBmb250LXNpemU6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWljb24tZm9udC1zaXplKTtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstaWNvbi1jb2xvcik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGZpbGw6IGN1cnJlbnRjb2xvcjtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGluaGVyaXQpO1xuICB9XG5cbiAgLm5hdi1pY29uLWJ1bGxldCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1pY29uLWJ1bGxldC1zaXplKTtcbiAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWljb24tYnVsbGV0LXNpemUpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWljb24tYnVsbGV0LWJnKTtcbiAgICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWljb24tYnVsbGV0LWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstaWNvbi1idWxsZXQtYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1pY29uLWJ1bGxldC1ib3JkZXItcmFkaXVzKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbiAgc3ZnLm5hdi1pY29uIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyAvLyBmaXggY2hyb21lIDEwNSsgd2lkdGggaXNzdWVcbiAgfVxuXG4gIC5uYXYtZ3JvdXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1ncm91cC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1ncm91cC1ib3JkZXItY29sb3IpO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWdyb3VwLWJvcmRlci1yYWRpdXMpKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRzaWRlYmFyLW5hdi1ncm91cC10cmFuc2l0aW9uKTtcblxuICAgIC5uYXYtZ3JvdXAtaXRlbXMge1xuICAgICAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWdyb3VwLWl0ZW1zLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWdyb3VwLWl0ZW1zLXBhZGRpbmcteCk7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkc2lkZWJhci1uYXYtZ3JvdXAtaXRlbXMtdHJhbnNpdGlvbik7XG4gICAgfVxuXG4gICAgJjpub3QoLnNob3cpIC5uYXYtZ3JvdXAtaXRlbXMge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmLnNob3cge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWdyb3VwLWJnKTtcblxuICAgICAgLm5hdi1ncm91cC10b2dnbGUge1xuICAgICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWdyb3VwLXRvZ2dsZS1zaG93LWNvbG9yKTtcbiAgICAgIH1cblxuICAgICAgPiAubmF2LWdyb3VwLXRvZ2dsZTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgfVxuXG4gICAgICArIC5zaG93IHtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWdhcCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdi1ncm91cC10b2dnbGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxleDogMCAxMnB4O1xuICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogYXV0bztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtZ3JvdXAtaW5kaWNhdG9yLWNvbG9yKTtcbiAgICAgIG1hc2staW1hZ2U6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1ncm91cC1pbmRpY2F0b3ItaWNvbik7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRzaWRlYmFyLW5hdi1ncm91cC1pbmRpY2F0b3ItdHJhbnNpdGlvbik7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1ncm91cC1pdGVtcyB7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgLm5hdi1saW5rIHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLXBhZGRpbmcteCkgKyB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1pY29uLXdpZHRoKSArIHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWljb24tbWFyZ2luKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgfVxuXG4gICAgLm5hdi1pY29uIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoLTEgKiAodmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstaWNvbi13aWR0aCkgKyB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1pY29uLW1hcmdpbikpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB9XG4gIH1cblxuICAmLmNvbXBhY3QsXG4gIC5jb21wYWN0IHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1wYWRkaW5nLXk6ICN7JHNpZGViYXItY29tcGFjdC1uYXYtbGluay1wYWRkaW5nLXl9O1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcIi4uL21peGlucy9icmVha3BvaW50c1wiIGFzICo7XG5AdXNlIFwiLi4vbWl4aW5zL2x0ci1ydGxcIiBhcyAqO1xuQHVzZSBcIi4uL3ZhcmlhYmxlc1wiIGFzICo7XG5AdXNlIFwic2lkZWJhclwiIGFzICo7XG5cbi5zaWRlYmFyLW5hcnJvdyB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBzaWRlYmFyLW5hcnJvdy1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hcnJvdy13aWR0aDogI3skc2lkZWJhci1uYXJyb3ctd2lkdGh9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHNpZGViYXItbmFycm93LWNzcy12YXJzXG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbW9iaWxlLWJyZWFrcG9pbnQpIHtcbiAgICBmbGV4OiAwIDAgdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmFycm93LXdpZHRoKTtcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmFycm93LXdpZHRoKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fXNpZGViYXItdG9nZ2xlci1oZWlnaHQpO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgLnNpZGViYXItYnJhbmQtZnVsbCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5zaWRlYmFyLWJyYW5kLW5hcnJvdyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2lkZWJhci1oZWFkZXIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5zaWRlYmFyLW5hdiB7XG4gICAgICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLXBhZGRpbmcteDogI3skc2lkZWJhci1uYXJyb3ctbmF2LWxpbmstcGFkZGluZy14fTtcbiAgICAgIC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstcGFkZGluZy15OiAjeyRzaWRlYmFyLW5hcnJvdy1uYXYtbGluay1wYWRkaW5nLXl9O1xuICAgIH1cblxuICAgIC5uYXYtbGluayB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5uYXYtaWNvbiB7XG4gICAgICBmbGV4OiAwIDAgY2FsYyh2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1uYXJyb3ctd2lkdGgpIC0gKHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1wYWRkaW5nLXgpICogMikgLSAodmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstcGFkZGluZy14KSAqIDIpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB9XG5cbiAgICAuZC1uYXJyb3ctbm9uZSxcbiAgICAubmF2LWxhYmVsLFxuICAgIC5uYXYtdGl0bGUsXG4gICAgLm5hdi1ncm91cC1pdGVtcyxcbiAgICAubmF2LWdyb3VwLnNob3cgLm5hdi1ncm91cC1pdGVtcyxcbiAgICAuc2lkZWJhci1mb3JtIHtcbiAgICAgIGhlaWdodDogMCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIC5zaWRlYmFyLXRvZ2dsZXI6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBsdHItcnRsKFwidHJhbnNmb3JtXCIsIHJvdGF0ZSgtMTgwZGVnKSwgbnVsbCwgcm90YXRlKDBkZWcpKTtcbiAgICB9XG5cbiAgICAmLnNpZGViYXItZW5kIC5zaWRlYmFyLXRvZ2dsZXI6OmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gIH1cbn1cblxuLnNpZGViYXItbmFycm93LXVuZm9sZGFibGUge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgc2lkZWJhci1uYXJyb3ctdW5mb2xkYWJsZS1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hcnJvdy11bmZvbGRhYmxlLWJveC1zaGFkb3c6ICN7JHNpZGViYXItbmFycm93LXVuZm9sZGFibGUtYm94LXNoYWRvd307XG4gIC8vIHNjc3MtZG9jcy1lbmQgc2lkZWJhci1uYXJyb3ctdW5mb2xkYWJsZS1jc3MtdmFyc1xuXG4gIEBleHRlbmQgLnNpZGViYXItZml4ZWQ7XG5cbiAgJjpub3QoOmhvdmVyKSB7XG4gICAgQGV4dGVuZCAuc2lkZWJhci1uYXJyb3c7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1uYXJyb3ctdW5mb2xkYWJsZS1ib3gtc2hhZG93KTtcbiAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcblxuICAgIC5zaWRlYmFyLXRvZ2dsZXI6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBsdHItcnRsKFwidHJhbnNmb3JtXCIsIHJvdGF0ZSgtMTgwZGVnKSwgbnVsbCwgcm90YXRlKDBkZWcpKTtcbiAgICB9XG5cbiAgICAmLnNpZGViYXItZW5kIC5zaWRlYmFyLXRvZ2dsZXI6OmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gIH1cbn1cblxuLnNpZGViYXItbmFycm93LFxuLnNpZGViYXItbmFycm93LXVuZm9sZGFibGUge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRtb2JpbGUtYnJlYWtwb2ludCkge1xuICAgICY6bm90KC5zaWRlYmFyLWVuZCk6bm90KC5oaWRlKSB+ICoge1xuICAgICAgLS0jeyRwcmVmaXh9c2lkZWJhci1vY2N1cHktc3RhcnQ6ICN7JHNpZGViYXItbmFycm93LXdpZHRofTtcbiAgICB9XG4gICAgJi5zaWRlYmFyLWVuZDpub3QoLmhpZGUpIH4gKiB7XG4gICAgICAtLSN7JHByZWZpeH1zaWRlYmFyLW9jY3VweS1lbmQ6ICN7JHNpZGViYXItbmFycm93LXdpZHRofTtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCIuLi9mdW5jdGlvbnMvY29sb3JcIiBhcyAqO1xuQHVzZSBcIi4uL2Z1bmN0aW9ucy9jb2xvci1jb250cmFzdFwiIGFzICo7XG5AdXNlIFwiLi4vZnVuY3Rpb25zL3RvLXJnYlwiIGFzICo7XG5AdXNlIFwiLi4vbWl4aW5zL2NvbG9yLW1vZGVcIiBhcyAqO1xuQHVzZSBcIi4uL3ZhcmlhYmxlc1wiIGFzICo7XG5AdXNlIFwiLi4vdmFyaWFibGVzLWRhcmtcIiBhcyAqO1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLnRleHQtYmctI3skY29sb3J9IHtcbiAgICBjb2xvcjogY29sb3ItY29udHJhc3QoJHZhbHVlKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tI3skcHJlZml4fSN7JGNvbG9yfS1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9Ymctb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gIH1cbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1kYXJrIHtcbiAgICAgICRjb2xvci1yZ2I6IHRvLXJnYigkdmFsdWUpO1xuICAgICAgLnRleHQtYmctI3skY29sb3J9IHtcbiAgICAgICAgY29sb3I6IGNvbG9yLWNvbnRyYXN0KCR2YWx1ZSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3ItcmdiLCB2YXIoLS0jeyRwcmVmaXh9Ymctb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwiLi4vZnVuY3Rpb25zL2NvbG9yXCIgYXMgKjtcbkB1c2UgXCIuLi9mdW5jdGlvbnMvY29sb3ItY29udHJhc3RcIiBhcyAqO1xuQHVzZSBcIi4uL2Z1bmN0aW9ucy90by1yZ2JcIiBhcyAqO1xuQHVzZSBcIi4uL3ZhcmlhYmxlc1wiIGFzICo7XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAubGluay0jeyRjb2xvcn0ge1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH0jeyRjb2xvcn0tcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH0jeyRjb2xvcn0tcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuXG4gICAgQGlmICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UgIT0gMCB7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgICRob3Zlci1jb2xvcjogaWYoY29sb3ItY29udHJhc3QoJHZhbHVlKSA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCR2YWx1ZSwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSksIHRpbnQtY29sb3IoJHZhbHVlLCAkbGluay1zaGFkZS1wZXJjZW50YWdlKSk7XG4gICAgICAgIGNvbG9yOiByZ2JhKCN7dG8tcmdiKCRob3Zlci1jb2xvcil9LCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAxKSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiByZ2JhKHRvLXJnYigkaG92ZXItY29sb3IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9uZS1vZmYgc3BlY2lhbCBsaW5rIGhlbHBlciBhcyBhIGJyaWRnZSB1bnRpbCB2NlxuLmxpbmstYm9keS1lbXBoYXNpcyB7XG4gIGNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAxKSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgQGlmICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UgIT0gMCB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAuNzUpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay11bmRlcmxpbmUtb3BhY2l0eSwgLjc1KSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCIuLi92YXJpYWJsZXNcIiBhcyAqO1xuXG4uZm9jdXMtcmluZzpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG4gIC8vIEJ5IGRlZmF1bHQsIHRoZXJlIGlzIG5vIGAtLWN1aS1mb2N1cy1yaW5nLXhgLCBgLS1jdWktZm9jdXMtcmluZy15YCwgb3IgYC0tY3VpLWZvY3VzLXJpbmctYmx1cmAsIGJ1dCB3ZSBwcm92aWRlIENTUyB2YXJpYWJsZXMgd2l0aCBmYWxsYmFja3MgdG8gaW5pdGlhbCBgMGAgdmFsdWVzXG4gIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1mb2N1cy1yaW5nLXgsIDApIHZhcigtLSN7JHByZWZpeH1mb2N1cy1yaW5nLXksIDApIHZhcigtLSN7JHByZWZpeH1mb2N1cy1yaW5nLWJsdXIsIDApIHZhcigtLSN7JHByZWZpeH1mb2N1cy1yaW5nLXdpZHRoKSB2YXIoLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy1jb2xvcik7XG59XG4iLCJAdXNlIFwiLi4vbWl4aW5zL3RyYW5zaXRpb25cIiBhcyAqO1xuQHVzZSBcIi4uL3ZhcmlhYmxlc1wiIGFzICo7XG5cbi5pY29uLWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZ2FwOiAkaWNvbi1saW5rLWdhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1saW5rLWNvbG9yLXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLW9wYWNpdHksIC41KSk7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogJGljb24tbGluay11bmRlcmxpbmUtb2Zmc2V0O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgPiAuYmkge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHdpZHRoOiAkaWNvbi1saW5rLWljb24tc2l6ZTtcbiAgICBoZWlnaHQ6ICRpY29uLWxpbmstaWNvbi1zaXplO1xuICAgIGZpbGw6IGN1cnJlbnRjb2xvcjtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRpY29uLWxpbmstaWNvbi10cmFuc2l0aW9uKTtcbiAgfVxufVxuXG4uaWNvbi1saW5rLWhvdmVyIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICA+IC5iaSB7XG4gICAgICB0cmFuc2Zvcm06IHZhcigtLSN7JHByZWZpeH1pY29uLWxpbmstdHJhbnNmb3JtLCAkaWNvbi1saW5rLWljb24tdHJhbnNmb3JtKTtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCIuLi92YXJpYWJsZXNcIiBhcyAqO1xuXG4vLyBDcmVkaXQ6IE5pY29sYXMgR2FsbGFnaGVyIGFuZCBTVUlUIENTUy5cblxuLnJhdGlvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcblxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS0jeyRwcmVmaXh9YXNwZWN0LXJhdGlvKTtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgPiAqIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQGVhY2ggJGtleSwgJHJhdGlvIGluICRhc3BlY3QtcmF0aW9zIHtcbiAgLnJhdGlvLSN7JGtleX0ge1xuICAgIC0tI3skcHJlZml4fWFzcGVjdC1yYXRpbzogI3skcmF0aW99O1xuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9taXhpbnMvYnJlYWtwb2ludHNcIiBhcyAqO1xuQHVzZSBcIi4uL3ZhcmlhYmxlc1wiIGFzICo7XG5cbi8vIFNob3J0aGFuZFxuXG4uZml4ZWQtdG9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4vLyBSZXNwb25zaXZlIHN0aWNreSB0b3AgYW5kIGJvdHRvbVxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLmtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLnN0aWNreSN7JGluZml4fS10b3Age1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHotaW5kZXg6ICR6aW5kZXgtc3RpY2t5O1xuICAgIH1cblxuICAgIC5zdGlja3kjeyRpbmZpeH0tYm90dG9tIHtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICBib3R0b206IDA7XG4gICAgICB6LWluZGV4OiAkemluZGV4LXN0aWNreTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHNjc3MtZG9jcy1zdGFydCBzdGFja3Ncbi5oc3RhY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xufVxuXG4udnN0YWNrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMSAxIGF1dG87XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG4vLyBzY3NzLWRvY3MtZW5kIHN0YWNrc1xuIiwiQHVzZSBcIi4uL21peGlucy92aXN1YWxseS1oaWRkZW5cIiBhcyAqO1xuXG4vL1xuLy8gVmlzdWFsbHkgaGlkZGVuXG4vL1xuXG4udmlzdWFsbHktaGlkZGVuLFxuLnZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGU6bm90KDpmb2N1cyk6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gSGlkZSBjb250ZW50IHZpc3VhbGx5IHdoaWxlIGtlZXBpbmcgaXQgYWNjZXNzaWJsZSB0byBhc3Npc3RpdmUgdGVjaG5vbG9naWVzXG4vL1xuLy8gU2VlOiBodHRwczovL3d3dy5hMTF5cHJvamVjdC5jb20vcG9zdHMvMjAxMy0wMS0xMS1ob3ctdG8taGlkZS1jb250ZW50L1xuLy8gU2VlOiBodHRwczovL2tpdHR5Z2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5cbkBtaXhpbiB2aXN1YWxseS1oaWRkZW4oKSB7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IC0xcHggIWltcG9ydGFudDsgLy8gRml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1Njg2XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuXG4gIC8vIEZpeCBmb3IgcG9zaXRpb25lZCB0YWJsZSBjYXB0aW9uIHRoYXQgY291bGQgYmVjb21lIGFub255bW91cyBjZWxsc1xuICAmOm5vdChjYXB0aW9uKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBGaXggdG8gcHJldmVudCBvdmVyZmxvd2luZyBjaGlsZHJlbiB0byBiZWNvbWUgZm9jdXNhYmxlXG4gICoge1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyBVc2UgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQsIG9yIG9uZSBvZiBpdHMgY2hpbGQgZWxlbWVudHMgaXMgZm9jdXNlZFxuLy8gKGkuZS4gd2hlbiBmb2N1cyBpcyB3aXRoaW4gdGhlIGVsZW1lbnQvY29udGFpbmVyIHRoYXQgdGhlIGNsYXNzIHdhcyBhcHBsaWVkIHRvKVxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1dBSS9XQ0FHMjIvVGVjaG5pcXVlcy9nZW5lcmFsL0cxLmh0bWxcblxuQG1peGluIHZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGUoKSB7XG4gICY6bm90KDpmb2N1cyk6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgfVxufVxuIiwiQHVzZSBcIi4uL3ZhcmlhYmxlc1wiIGFzICo7XG5cbi8vXG4vLyBTdHJldGNoZWQgbGlua1xuLy9cblxuLnN0cmV0Y2hlZC1saW5rIHtcbiAgJjo6I3skc3RyZXRjaGVkLWxpbmstcHNldWRvLWVsZW1lbnR9IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRzdHJldGNoZWQtbGluay16LWluZGV4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cbiIsIkB1c2UgXCIuLi9taXhpbnMvdGV4dC10cnVuY2F0ZVwiIGFzICo7XG5cbi8vXG4vLyBUZXh0IHRydW5jYXRpb25cbi8vXG5cbi50ZXh0LXRydW5jYXRlIHtcbiAgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZSgpO1xufVxuIiwiLy8gVGV4dCB0cnVuY2F0ZVxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG5AbWl4aW4gdGV4dC10cnVuY2F0ZSgpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCJAdXNlIFwiLi4vdmFyaWFibGVzXCIgYXMgKjtcblxuLnZyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICB3aWR0aDogJHZyLWJvcmRlci13aWR0aDtcbiAgbWluLWhlaWdodDogMWVtO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIG9wYWNpdHk6ICRoci1vcGFjaXR5O1xufVxuIiwiQHVzZSBcInNhc3M6bGlzdFwiO1xuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwic2FzczptZXRhXCI7XG5AdXNlIFwic2FzczpzdHJpbmdcIjtcbkB1c2UgXCIuLi92YXJpYWJsZXNcIiBhcyAqO1xuQHVzZSBcIi4uL3ZlbmRvci9yZnNcIiBhcyAqO1xuQHVzZSBcImx0ci1ydGxcIiBhcyAqO1xuXG4vLyBHZW5lcmF0ZSBzZWxlY3RvcnMgZm9yIHRoZW1lIHZhcmlhbnRzXG5AZnVuY3Rpb24gdGhlbWUtcHJlZml4KCR0aGVtZSwgJHNlbGVjdG9yKSB7XG4gIEByZXR1cm4gI3tcIltkYXRhXCIgKyAkZGF0YS1pbmZpeCArIFwidGhlbWU9XCIkdGhlbWUgKyBcIl0gLlwiICsgJHRoZW1lICsgXCJcXFxcOlwiICsgJHNlbGVjdG9yICsgXCIsIFtkYXRhXCIgKyAkZGF0YS1pbmZpeCArIFwidGhlbWU9XCIkdGhlbWUgKyBcIl0gLlwiICsgJHRoZW1lICsgXCJcXFxcOlwiICsgJHNlbGVjdG9yICsgXCI6bm90KFtjbGFzcyo9JyN7JHRoZW1lfTonXSlcIn07XG59XG5cbi8vIFV0aWxpdHkgZ2VuZXJhdG9yXG4vLyBVc2VkIHRvIGdlbmVyYXRlIHV0aWxpdGllcyAmIHByaW50IHV0aWxpdGllc1xuQG1peGluIGdlbmVyYXRlLXV0aWxpdHkoJHV0aWxpdHksICRpbmZpeDogXCJcIiwgJGlzLXJmcy1tZWRpYS1xdWVyeTogZmFsc2UpIHtcbiAgJHZhbHVlczogbWFwLmdldCgkdXRpbGl0eSwgdmFsdWVzKTtcblxuICAvLyBJZiB0aGUgdmFsdWVzIGFyZSBhIGxpc3Qgb3Igc3RyaW5nLCBjb252ZXJ0IGl0IGludG8gYSBtYXBcbiAgQGlmIG1ldGEudHlwZS1vZigkdmFsdWVzKSA9PSBcInN0cmluZ1wiIG9yIG1ldGEudHlwZS1vZihsaXN0Lm50aCgkdmFsdWVzLCAxKSkgIT0gXCJsaXN0XCIge1xuICAgICR2YWx1ZXM6IGxpc3QuemlwKCR2YWx1ZXMsICR2YWx1ZXMpO1xuICB9XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICR2YWx1ZXMge1xuICAgICRwcm9wZXJ0aWVzOiBtYXAuZ2V0KCR1dGlsaXR5LCBwcm9wZXJ0eSk7XG5cbiAgICAvLyBNdWx0aXBsZSBwcm9wZXJ0aWVzIGFyZSBwb3NzaWJsZSwgZm9yIGV4YW1wbGUgd2l0aCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsIG1hcmdpbnMgb3IgcGFkZGluZ3NcbiAgICBAaWYgbWV0YS50eXBlLW9mKCRwcm9wZXJ0aWVzKSA9PSBcInN0cmluZ1wiIHtcbiAgICAgICRwcm9wZXJ0aWVzOiBsaXN0LmFwcGVuZCgoKSwgJHByb3BlcnRpZXMpO1xuICAgIH1cblxuICAgIC8vIFVzZSBjdXN0b20gY2xhc3MgaWYgcHJlc2VudFxuICAgICRwcm9wZXJ0eS1jbGFzczogaWYobWFwLmhhcy1rZXkoJHV0aWxpdHksIGNsYXNzKSwgbWFwLmdldCgkdXRpbGl0eSwgY2xhc3MpLCBsaXN0Lm50aCgkcHJvcGVydGllcywgMSkpO1xuICAgICRwcm9wZXJ0eS1jbGFzczogaWYoJHByb3BlcnR5LWNsYXNzID09IG51bGwsIFwiXCIsICRwcm9wZXJ0eS1jbGFzcyk7XG5cbiAgICAvLyBVc2UgY3VzdG9tIENTUyB2YXJpYWJsZSBuYW1lIGlmIHByZXNlbnQsIG90aGVyd2lzZSBkZWZhdWx0IHRvIGBjbGFzc2BcbiAgICAkY3NzLXZhcmlhYmxlLW5hbWU6IGlmKG1hcC5oYXMta2V5KCR1dGlsaXR5LCBjc3MtdmFyaWFibGUtbmFtZSksIG1hcC5nZXQoJHV0aWxpdHksIGNzcy12YXJpYWJsZS1uYW1lKSwgbWFwLmdldCgkdXRpbGl0eSwgY2xhc3MpKTtcblxuICAgIC8vIFN0YXRlIHBhcmFtcyB0byBnZW5lcmF0ZSBwc2V1ZG8tY2xhc3Nlc1xuICAgICRzdGF0ZTogaWYobWFwLmhhcy1rZXkoJHV0aWxpdHksIHN0YXRlKSwgbWFwLmdldCgkdXRpbGl0eSwgc3RhdGUpLCAoKSk7XG5cbiAgICAkaW5maXg6IGlmKCRwcm9wZXJ0eS1jbGFzcyA9PSBcIlwiIGFuZCBzdHJpbmcuc2xpY2UoJGluZml4LCAxLCAxKSA9PSBcIi1cIiwgc3RyaW5nLnNsaWNlKCRpbmZpeCwgMiksICRpbmZpeCk7XG5cbiAgICAvLyBEb24ndCBwcmVmaXggaWYgdmFsdWUga2V5IGlzIG51bGwgKGUuZy4gd2l0aCBzaGFkb3cgY2xhc3MpXG4gICAgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyOiBpZigka2V5LCBpZigkcHJvcGVydHktY2xhc3MgPT0gXCJcIiBhbmQgJGluZml4ID09IFwiXCIsIFwiXCIsIFwiLVwiKSArICRrZXksIFwiXCIpO1xuXG4gICAgQGlmIG1hcC5nZXQoJHV0aWxpdHksIHJmcykge1xuICAgICAgLy8gSW5zaWRlIHRoZSBtZWRpYSBxdWVyeVxuICAgICAgQGlmICRpcy1yZnMtbWVkaWEtcXVlcnkge1xuICAgICAgICAkdmFsOiByZnMtdmFsdWUoJHZhbHVlKTtcblxuICAgICAgICAvLyBEbyBub3QgcmVuZGVyIGFueXRoaW5nIGlmIGZsdWlkIGFuZCBub24gZmx1aWQgdmFsdWVzIGFyZSB0aGUgc2FtZVxuICAgICAgICAkdmFsdWU6IGlmKCR2YWwgPT0gcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZSksIG51bGwsICR2YWwpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkdmFsdWU6IHJmcy1mbHVpZC12YWx1ZSgkdmFsdWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICRpcy1jc3MtdmFyOiBtYXAuZ2V0KCR1dGlsaXR5LCBjc3MtdmFyKTtcbiAgICAkaXMtZGFyay1tb2RlOiBtYXAuZ2V0KCR1dGlsaXR5LCBkYXJrLW1vZGUpO1xuICAgICRpcy1sb2NhbC12YXJzOiBtYXAuZ2V0KCR1dGlsaXR5LCBsb2NhbC12YXJzKTtcbiAgICAkaXMtcnRsOiBtYXAuZ2V0KCR1dGlsaXR5LCBydGwpO1xuXG4gICAgQGlmICR2YWx1ZSAhPSBudWxsIHtcbiAgICAgIEBpZiAkaXMtcnRsID09IGZhbHNlIHtcbiAgICAgICAgLyogcnRsOmJlZ2luOnJlbW92ZSAqL1xuICAgICAgfVxuXG4gICAgICBAaWYgJGlzLWNzcy12YXIge1xuICAgICAgICBAaWYgJGVuYWJsZS1kYXJrLW1vZGUgYW5kICRpcy1kYXJrLW1vZGUge1xuICAgICAgICAgICN7dGhlbWUtcHJlZml4KFwiZGFya1wiLCBcIiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfVwiKX0sXG4gICAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfSB7XG4gICAgICAgICAgICAtLSN7JHByZWZpeH0jeyRjc3MtdmFyaWFibGUtbmFtZX06ICN7JHZhbHVlfTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0ge1xuICAgICAgICAgICAgLS0jeyRwcmVmaXh9I3skY3NzLXZhcmlhYmxlLW5hbWV9OiAjeyR2YWx1ZX07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJHBzZXVkbyBpbiAkc3RhdGUge1xuICAgICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0tI3skcHNldWRvfTojeyRwc2V1ZG99IHtcbiAgICAgICAgICAgIC0tI3skcHJlZml4fSN7JGNzcy12YXJpYWJsZS1uYW1lfTogI3skdmFsdWV9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpZiAkZW5hYmxlLWRhcmstbW9kZSBhbmQgJGlzLWRhcmstbW9kZSB7XG4gICAgICAgICAgI3t0aGVtZS1wcmVmaXgoXCJkYXJrXCIsIFwiI3skcHJvcGVydHktY2xhc3MgKyAkaW5maXggKyAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXJ9XCIpfSxcbiAgICAgICAgICAuI3skcHJvcGVydHktY2xhc3MgKyAkaW5maXggKyAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXJ9IHtcbiAgICAgICAgICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XG4gICAgICAgICAgICAgIEBpZiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgICAgQGVhY2ggJGxvY2FsLXZhciwgJHZhcmlhYmxlIGluICRpcy1sb2NhbC12YXJzIHtcbiAgICAgICAgICAgICAgICAgIC0tI3skcHJlZml4fSN7JGxvY2FsLXZhcn06ICN7JHZhcmlhYmxlfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWUgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0ge1xuICAgICAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcbiAgICAgICAgICAgICAgQGlmICRpcy1sb2NhbC12YXJzIHtcbiAgICAgICAgICAgICAgICBAZWFjaCAkbG9jYWwtdmFyLCAkdmFyaWFibGUgaW4gJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICAgICAgLS0jeyRwcmVmaXh9I3skbG9jYWwtdmFyfTogI3skdmFyaWFibGV9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAaWYgJGlzLXJ0bCA9PSB0cnVlIHtcbiAgICAgICAgICAgICAgICBAaWYgKG1ldGEudHlwZS1vZigkdmFsdWUpID09IFwibWFwXCIpIHtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGx0ci1ydGwoJHByb3BlcnR5LCBtYXAuZ2V0KCR2YWx1ZSwgXCJsdHJcIiksIG51bGwsIG1hcC5nZXQoJHZhbHVlLCBcInJ0bFwiKSwgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKSk7XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsdHItcnRsKCRwcm9wZXJ0eSwgJHZhbHVlLCBudWxsLCBudWxsLCBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkcHNldWRvIGluICRzdGF0ZSB7XG4gICAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfS0jeyRwc2V1ZG99OiN7JHBzZXVkb30ge1xuICAgICAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcbiAgICAgICAgICAgICAgQGlmICRpcy1sb2NhbC12YXJzIHtcbiAgICAgICAgICAgICAgICBAZWFjaCAkbG9jYWwtdmFyLCAkdmFyaWFibGUgaW4gJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICAgICAgLS0jeyRwcmVmaXh9I3skbG9jYWwtdmFyfTogI3skdmFyaWFibGV9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGlzLXJ0bCA9PSBmYWxzZSB7XG4gICAgICAgIC8qIHJ0bDplbmQ6cmVtb3ZlICovXG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCJzYXNzOm1ldGFcIjtcbkB1c2UgXCIuLi91dGlsaXRpZXNcIiBhcyAqO1xuQHVzZSBcIi4uL21peGlucy9icmVha3BvaW50c1wiIGFzICo7XG5AdXNlIFwiLi4vbWl4aW5zL3V0aWxpdGllc1wiIGFzICo7XG5AdXNlIFwiLi4vdmVuZG9yL3Jmc1wiIGFzICo7XG5AdXNlIFwiLi4vdmFyaWFibGVzXCIgYXMgKjtcblxuLy8gTG9vcCBvdmVyIGVhY2ggYnJlYWtwb2ludFxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLmtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcblxuICAvLyBHZW5lcmF0ZSBtZWRpYSBxdWVyeSBpZiBuZWVkZWRcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLy8gTG9vcCBvdmVyIGVhY2ggdXRpbGl0eSBwcm9wZXJ0eVxuICAgIEBlYWNoICRrZXksICR1dGlsaXR5IGluICR1dGlsaXRpZXMge1xuICAgICAgLy8gVGhlIHV0aWxpdHkgY2FuIGJlIGRpc2FibGVkIHdpdGggYGZhbHNlYCwgdGh1cyBjaGVjayBpZiB0aGUgdXRpbGl0eSBpcyBhIG1hcCBmaXJzdFxuICAgICAgLy8gT25seSBwcm9jZWVkIGlmIHJlc3BvbnNpdmUgbWVkaWEgcXVlcmllcyBhcmUgZW5hYmxlZCBvciBpZiBpdCdzIHRoZSBiYXNlIG1lZGlhIHF1ZXJ5XG4gICAgICBAaWYgbWV0YS50eXBlLW9mKCR1dGlsaXR5KSA9PSBcIm1hcFwiIGFuZCAobWFwLmdldCgkdXRpbGl0eSwgcmVzcG9uc2l2ZSkgb3IgJGluZml4ID09IFwiXCIpIHtcbiAgICAgICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgJGluZml4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gUkZTIHJlc2NhbGluZ1xuQG1lZGlhIChtaW4td2lkdGg6ICRyZnMtbXEtdmFsdWUpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLmtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBpZiAobWFwLmdldCgkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQpIDwgJHJmcy1icmVha3BvaW50KSB7XG4gICAgICAvLyBMb29wIG92ZXIgZWFjaCB1dGlsaXR5IHByb3BlcnR5XG4gICAgICBAZWFjaCAka2V5LCAkdXRpbGl0eSBpbiAkdXRpbGl0aWVzIHtcbiAgICAgICAgLy8gVGhlIHV0aWxpdHkgY2FuIGJlIGRpc2FibGVkIHdpdGggYGZhbHNlYCwgdGh1cyBjaGVjayBpZiB0aGUgdXRpbGl0eSBpcyBhIG1hcCBmaXJzdFxuICAgICAgICAvLyBPbmx5IHByb2NlZWQgaWYgcmVzcG9uc2l2ZSBtZWRpYSBxdWVyaWVzIGFyZSBlbmFibGVkIG9yIGlmIGl0J3MgdGhlIGJhc2UgbWVkaWEgcXVlcnlcbiAgICAgICAgQGlmIG1ldGEudHlwZS1vZigkdXRpbGl0eSkgPT0gXCJtYXBcIiBhbmQgbWFwLmdldCgkdXRpbGl0eSwgcmZzKSBhbmQgKG1hcC5nZXQoJHV0aWxpdHksIHJlc3BvbnNpdmUpIG9yICRpbmZpeCA9PSBcIlwiKSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgJGluZml4LCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFByaW50IHV0aWxpdGllc1xuQG1lZGlhIHByaW50IHtcbiAgQGVhY2ggJGtleSwgJHV0aWxpdHkgaW4gJHV0aWxpdGllcyB7XG4gICAgLy8gVGhlIHV0aWxpdHkgY2FuIGJlIGRpc2FibGVkIHdpdGggYGZhbHNlYCwgdGh1cyBjaGVjayBpZiB0aGUgdXRpbGl0eSBpcyBhIG1hcCBmaXJzdFxuICAgIC8vIFRoZW4gY2hlY2sgaWYgdGhlIHV0aWxpdHkgbmVlZHMgcHJpbnQgc3R5bGVzXG4gICAgQGlmIG1ldGEudHlwZS1vZigkdXRpbGl0eSkgPT0gXCJtYXBcIiBhbmQgbWFwLmdldCgkdXRpbGl0eSwgcHJpbnQpID09IHRydWUge1xuICAgICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgXCItcHJpbnRcIik7XG4gICAgfVxuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFyY2hpSHViIOKAlCBMb2dpbiBwYWdlXG4gICBQYWxldHRlIDogaXNzdWUgZGUgbGEgY2hhcnRlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuOnJvb3Qge1xuICAgIC0tYWgtY29sb3ItYmctZGFyazogIzE0MTQyMjtcbiAgICAtLWFoLWNvbG9yLXZpb2xldDogICM4OTAzODI7XG4gICAgLS1haC1jb2xvci1yb3NlOiAgICAjRjlGM0Y5O1xuICAgIC0tYWgtY29sb3Itcm91Z2U6ICAgI0UxMUQ1QjtcbiAgICAtLWFoLWNvbG9yLXJvdWdldjogICNENzE3MDA7XG4gICAgLS1haC1jb2xvci13aGl0ZTogICAjZmZmZmZmO1xuICAgIC0tYWgtY29sb3ItdGV4dDogICAgIzFFMUUxRTtcbiAgICAtLWFoLWNvbG9yLW11dGVkOiAgICM3MTcxNzE7XG5cbiAgICAvKiBEw6lncmFkw6kgZXhjbHVzaWYgKi9cbiAgICAtLWFoLWdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjODkwMzgyIDAlLCAjRTExRDVCIDQwJSwgI0Q3MTcwMCAxMDAlKTtcblxuICAgIC8qIFR5cG9zIOKAlCBJbnRlciBib2R5LCBETSBTYW5zIGhlYWRpbmdzLCBHb29kYmVyIGxvZ28gb25seSAqL1xuICAgIC0tYWgtZm9udC1kaXNwbGF5OiBcIkRNIFNhbnNcIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAtLWFoLWZvbnQtdGV4dDogICAgXCJJbnRlclwiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIC0tYWgtZm9udC1icmFuZDogICBcIkdvb2RiZXJcIiwgXCJETSBTYW5zXCIsIHN5c3RlbS11aSwgc2Fucy1zZXJpZjtcbn1cblxuLmFoLWxvZ2luIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1haC1jb2xvci1iZy1kYXJrKTtcbiAgICBjb2xvcjogdmFyKC0tYWgtY29sb3Itd2hpdGUpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1haC1mb250LXRleHQpO1xuXG4gICAgLyogcGF0dGVybiBsw6lnZXIgZmHDp29uIFwiZ3JpbGxlXCIgYXZlYyBvcGFjaXTDqSAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBpc29sYXRpb246IGlzb2xhdGU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICAgICAgcmFkaWFsLWdyYWRpZW50KDQwcmVtIDQwcmVtIGF0IC0xMCUgLTIwJSwgcmdiYSgxMzcsIDMsIDEzMCwgMC4zNSksIHRyYW5zcGFyZW50IDYwJSksXG4gICAgICAgICAgICByYWRpYWwtZ3JhZGllbnQoMzZyZW0gMzZyZW0gYXQgMTEwJSAxMjAlLCByZ2JhKDIyNSwgMjksIDkxLCAwLjI4KSwgdHJhbnNwYXJlbnQgNjAlKTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgfVxufVxuXG4uYWgtbG9naW5fX2hlcm8ge1xuICAgIHdpZHRoOiA2MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWgtY29sb3ItYmctZGFyayk7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KTtcblxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vcHVibGljL2ltYWdlcy9wYXR0ZXJuLWhlcm8ucG5nJyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBpc29sYXRpb246IGlzb2xhdGU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1haC1ncmFkaWVudCk7XG4gICAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbn1cblxuLmFoLWxvZ28geyBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAxMnB4IHJnYmEoMjI1LCAyOSwgOTEsIDAuMjUpKTsgfVxuLmFoLWJyYW5kbmFtZSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWFoLWZvbnQtYnJhbmQpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4zcHg7XG59XG5cbi5haC10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWFoLWZvbnQtZGlzcGxheSk7XG4gICAgZm9udC1zaXplOiBjbGFtcCgyOHB4LCA0dncsIDQwcHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbn1cblxuLmFoLXN1YnRpdGxlIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLmFoLWxvZ2luX19wYW5lbCB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyNTUsMjU1LDI1NSwwLjA0KSwgcmdiYSgyNTUsMjU1LDI1NSwwLjAyKSk7XG59XG5cbi5haC1jYXJkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6IHZhcigtLWFoLWNvbG9yLXRleHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuODc1cmVtO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsMCwwLC4wNiksIDAgMXB4IDNweCByZ2JhKDAsMCwwLC4wNCk7XG59XG5cbi8qIENhcmQgaGVhZGluZ3MgdXNlIGRpc3BsYXkgZm9udCAqL1xuLmFoLWNhcmQgaDEsIC5haC1jYXJkIGgyLCAuYWgtY2FyZCBoMywgLmFoLWNhcmQgaDQsXG4uYWgtY2FyZCAuaDEsIC5haC1jYXJkIC5oMiwgLmFoLWNhcmQgLmgzLCAuYWgtY2FyZCAuaDQge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1haC1mb250LWRpc3BsYXkpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5haC1saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tYWgtY29sb3ItdmlvbGV0KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAuMTVzIGVhc2UsIHRleHQtZGVjb3JhdGlvbi1jb2xvciAuMTVzIGVhc2U7XG59XG5cbi5haC1saW5rOmhvdmVyLFxuLmFoLWxpbms6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWFoLWdyYWRpZW50KTtcbiAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKiBCb3V0b24gcHJpbWFpcmUgYXV4IGNvdWxldXJzIEFyY2hpSHViICovXG4uYnRuLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWFoLWdyYWRpZW50KTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjA0cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2U7XG59XG4uYnRuLXByaW1hcnk6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICBib3gtc2hhZG93OiAwIDZweCAxOHB4IHJnYmEoMjI1LCAyOSwgOTEsIDAuMzUpO1xufVxuLmJ0bi1wcmltYXJ5OmFjdGl2ZSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4vKiBDaGFtcHMgKi9cbi5mb3JtLWxhYmVsIHsgZm9udC13ZWlnaHQ6IDUwMDsgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuLmZvcm0tY29udHJvbCB7XG4gICAgYm9yZGVyLXJhZGl1czogLjc1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogI2U0ZTRlYztcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgLjE1cyBlYXNlLCBib3gtc2hhZG93IC4xNXMgZWFzZTtcbn1cbi5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogI2M5YTVkMDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAuMnJlbSByZ2JhKDEzNywgMywgMTMwLCAuMTIpO1xufVxuXG4vKiBSZXNwb25zaXZlICovXG5AbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgICAuYWgtbG9naW5fX2hlcm8geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAuYWgtbG9naW5fX3BhbmVsIHsgcGFkZGluZzogMnJlbSAhaW1wb3J0YW50OyB9XG59XG5cbi8qIEluZGljYXRpb25zIGRlIHLDqGdsZXMgZHUgbW90IGRlIHBhc3NlICovXG4uYWgtcG9saWN5LWxpc3QgW2RhdGEtY2hlY2tdIHsgY29sb3I6IHZhcigtLWFoLWNvbG9yLXZpb2xldCk7IH1cbi5haC1wb2xpY3ktbGlzdCBbZGF0YS1jcm9zc10geyBjb2xvcjogI2IxYjFiNjsgfVxuXG4vKiBIYXJtb25pc2VyIGxlIG1ldGVyIGRlIGZvcmNlICovXG5tZXRlciB7XG4gICAgaGVpZ2h0OiAuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAuNXJlbTtcbn1cbm1ldGVyOjotd2Via2l0LW1ldGVyLWJhciB7XG4gICAgYmFja2dyb3VuZDogI2VlZTtcbiAgICBib3JkZXItcmFkaXVzOiAuNXJlbTtcbn1cbm1ldGVyOjotd2Via2l0LW1ldGVyLW9wdGltdW0tdmFsdWUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWFoLWNvbG9yLXZpb2xldCk7XG59XG5tZXRlcjo6LXdlYmtpdC1tZXRlci1zdWJvcHRpbXVtLXZhbHVlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjBiNmM3O1xufVxubWV0ZXI6Oi13ZWJraXQtbWV0ZXItZXZlbi1sZXNzLWdvb2QtdmFsdWUge1xuICAgIGJhY2tncm91bmQ6ICNmMmQyZDI7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExBWU9VVCDigJQgZnVsbC13aWR0aCBjb250YWluZXIgb3ZlcnJpZGVcbiAgIFJlbW92ZXMgQm9vdHN0cmFwJ3MgbWF4LXdpZHRoIGNhcCBvbiAuY29udGFpbmVyIGluc2lkZVxuICAgdGhlIGRhc2hib2FyZCB3cmFwcGVyIHNvIGNvbnRlbnQgZmlsbHMgdGhlIGF2YWlsYWJsZSBzcGFjZS5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLndyYXBwZXIgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExBWU9VVCBHTE9CQUwgJiBTSURFQkFSXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zaWRlYmFyIHtcbiAgICAtLWN1aS1zaWRlYmFyLXppbmRleDogMTAzNTtcbiAgICAtLWN1aS1zaWRlYmFyLXdpZHRoOiAxNnJlbTtcbiAgICAtLWN1aS1zaWRlYmFyLWJnOiB2YXIoLS1jdWktYm9keS1iZyk7XG4gICAgLS1jdWktc2lkZWJhci1wYWRkaW5nLXg6IDFyZW07XG4gICAgLS1jdWktc2lkZWJhci1wYWRkaW5nLXk6IDFyZW07XG4gICAgLS1jdWktc2lkZWJhci1jb2xvcjogdmFyKC0tY3VpLWJvZHktY29sb3IpO1xuICAgIC0tY3VpLXNpZGViYXItYnJhbmQtY29sb3I6IHZhcigtLWN1aS1ib2R5LWNvbG9yKTtcbiAgICAtLWN1aS1zaWRlYmFyLWJyYW5kLWJnOiByZ2JhKDgsIDEwLCAxMiwgMC4yKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAwIDAgdmFyKC0tY3VpLXNpZGViYXItd2lkdGgpO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgb3JkZXI6IC0xO1xuICAgIHdpZHRoOiB2YXIoLS1jdWktc2lkZWJhci13aWR0aCk7XG4gICAgY29sb3I6IHZhcigtLWN1aS1zaWRlYmFyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jdWktc2lkZWJhci1iZyk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMCwwLDAsLjA0KSwgMCAuMjVyZW0gLjVyZW0gcmdiYSgwLDAsMCwuMDQpO1xuICAgIHRyYW5zaXRpb246IG1hcmdpbi1sZWZ0IDAuMTVzLCBtYXJnaW4tcmlnaHQgMC4xNXMsIGJveC1zaGFkb3cgMC4wNzVzLFxuICAgIHRyYW5zZm9ybSAwLjE1cywgd2lkdGggMC4xNXMsIHotaW5kZXggMHMgZWFzZSAwLjE1cztcbn1cblxuLnNpZGViYXItZml4ZWQsXG4uc2lkZWJhci1uYXJyb3ctdW5mb2xkYWJsZSxcbi5zaWRlYmFyLW92ZXJsYWlkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiB2YXIoLS1jdWktc2lkZWJhci16aW5kZXgpO1xufVxuXG4uc2lkZWJhci1maXhlZDpub3QoLnNpZGViYXItZW5kKSxcbi5zaWRlYmFyLW5hcnJvdy11bmZvbGRhYmxlOm5vdCguc2lkZWJhci1lbmQpLFxuLnNpZGViYXItb3ZlcmxhaWQ6bm90KC5zaWRlYmFyLWVuZCkge1xuICAgIGluc2V0LWlubGluZS1zdGFydDogMDtcbn1cblxuLnNpZGViYXI6bm90KC5oaWRlKTpub3QoLnNpZGViYXItbmFycm93KTpub3QoLnNpZGViYXItbmFycm93LXVuZm9sZGFibGU6bm90KDpob3ZlcikpXG46bm90KC5zaWRlYmFyLW5hcnJvdy11bmZvbGRhYmxlKTpub3QoLnNpZGViYXItb3ZlcmxhaWQpOm5vdCguc2lkZWJhci1lbmQpIH4gKiB7XG4gICAgLS1jdWktc2lkZWJhci1vY2N1cHktc3RhcnQ6IDE2cmVtO1xufVxuXG4uc2lkZWJhcl9faW5uZXIgeyBoZWlnaHQ6IDEwMHZoOyBvdmVyZmxvdy15OiBhdXRvOyB9XG4uYWgtdG9wYmFyIHsgcG9zaXRpb246IHN0aWNreTsgdG9wOiAwOyB6LWluZGV4OiAxMDIwOyB9XG5cbi5haC1zZWN0aW9uIHsgbGV0dGVyLXNwYWNpbmc6IC4wOGVtOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAgIC5zaWRlYmFyIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkOyBsZWZ0OiAwOyB0b3A6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgZWFzZTsgei1pbmRleDogMTAzMDtcbiAgICB9XG4gICAgaHRtbDpub3QoLnNpZGViYXItY29sbGFwc2VkKSAuc2lkZWJhciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgICBodG1sLnNpZGViYXItY29sbGFwc2VkIC5zaWRlYmFyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gICAgLyogQ29yZVVJIHRvZ2dsZSBhZGRzIC5zaG93IGNsYXNzIOKAlCBuZWVkcyBoaWdoZXIgc3BlY2lmaWNpdHkgdGhhbiBodG1sOm5vdCguc2lkZWJhci1jb2xsYXBzZWQpIC5zaWRlYmFyICovXG4gICAgaHRtbDpub3QoLnNpZGViYXItY29sbGFwc2VkKSAuc2lkZWJhci5zaG93IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbiAgICAvKiBCYWNrZHJvcCBzaG93biB3aGVuIG1vYmlsZSBzaWRlYmFyIGlzIG9wZW4gKi9cbiAgICAuYWgtc2lkZWJhci1iYWNrZHJvcCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjM1KTtcbiAgICAgICAgei1pbmRleDogMTAyOTtcbiAgICB9XG4gICAgLnNpZGViYXIuc2hvdyB+IC5haC1zaWRlYmFyLWJhY2tkcm9wLFxuICAgIC5zaWRlYmFyLnNob3cgKyAuYWgtc2lkZWJhci1iYWNrZHJvcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5haC1zaWRlYmFyLWJhY2tkcm9wIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG59XG5cbi8qIFRpZ2h0ZXIgcGFnZSBndXR0ZXJzIG9uIHNtYWxsIHBob25lcyAoQm9vdHN0cmFwIHB4LTQgaXMgMS41cmVtKSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XG4gICAgLmJvZHkgLmNvbnRhaW5lci1mbHVpZC5weC00IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmJvZHkgLmNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC8qIFNpbXBsZSBzaWRlYmFyIHRvZ2dsZTogLnNpZGViYXItbmFycm93ID0gaWNvbi1vbmx5ICovXG4gICAgLnNpZGViYXIuc2lkZWJhci1uYXJyb3cge1xuICAgICAgICB3aWR0aDogNHJlbTtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIHRyYW5zaXRpb246IHdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtcbiAgICB9XG4gICAgLnNpZGViYXIuc2lkZWJhci1uYXJyb3cgfiAqIHtcbiAgICAgICAgLS1jdWktc2lkZWJhci1vY2N1cHktc3RhcnQ6IDRyZW07XG4gICAgfVxuICAgIC5zaWRlYmFyLnNpZGViYXItbmFycm93IC5zaWRlYmFyLWJyYW5kLWZ1bGwge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5zaWRlYmFyLnNpZGViYXItbmFycm93IC5zaWRlYmFyLWJyYW5kLW5hcnJvdyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5zaWRlYmFyLnNpZGViYXItbmFycm93IC5uYXYtZ3JvdXAgPiBhID4gc3BhbixcbiAgICAuc2lkZWJhci5zaWRlYmFyLW5hcnJvdyAubmF2LWxpbmsgPiBzcGFuLFxuICAgIC5zaWRlYmFyLnNpZGViYXItbmFycm93IC5uYXYtdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuc2lkZWJhci5zaWRlYmFyLW5hcnJvdyAubmF2LWxpbmsge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgICAuc2lkZWJhci5zaWRlYmFyLW5hcnJvdyAubmF2LWxpbmsgLm5hdi1pY29uIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbn1cblxuLmhlYWRlciB7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbi5oZWFkZXIgPiAuY29udGFpbmVyLWZsdWlkLCAuc2lkZWJhci1oZWFkZXIgeyBtaW4taGVpZ2h0OiAzLjVyZW07IH1cblxuLndyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1jdWktc2lkZWJhci1vY2N1cHktc3RhcnQsIDApIHZhcigtLWN1aS1zaWRlYmFyLW9jY3VweS1lbmQsIDApO1xuICAgIHdpbGwtY2hhbmdlOiBhdXRvO1xuICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMC4xNXM7XG59XG5cbi5oZWFkZXItbmF2IHsgZ2FwOiAwLjVyZW07IH1cbi5ib2R5IHsgcGFkZGluZy10b3A6IDFyZW07IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTVUdHRVNUSU9OUyBTSVJFTkVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnNpcmVuZS1zdWdnZXN0aW9uc3tcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDA7IHJpZ2h0OiAwOyB6LWluZGV4OiAxMDUwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyNSk7XG4gICAgYm9yZGVyLXJhZGl1czogLjVyZW07IG1hcmdpbi10b3A6IC4yNXJlbTtcbiAgICBib3gtc2hhZG93OiAwIDZweCAyNHB4IHJnYmEoMCwwLDAsLjA4KTsgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5zaXJlbmUtaXRlbXtcbiAgICBkaXNwbGF5OiBmbGV4OyBnYXA6IC43NXJlbTsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgcGFkZGluZzogLjZyZW0gLjc1cmVtOyBjdXJzb3I6IHBvaW50ZXI7XG59XG4uc2lyZW5lLWl0ZW06aG92ZXIsIC5zaXJlbmUtaXRlbS5hY3RpdmUgeyBiYWNrZ3JvdW5kOiAjZjZmN2ZiOyB9XG4uc2lyZW5lLWljb257IGZsZXg6IDAgMCBhdXRvOyB3aWR0aDogMjBweDsgdGV4dC1hbGlnbjogY2VudGVyOyBvcGFjaXR5OiAuNzsgfVxuLnNpcmVuZS10ZXh0eyBsaW5lLWhlaWdodDogMS4yOyB9XG4uc2lyZW5lLXRpdGxleyBmb250LXdlaWdodDogNjAwOyB9XG4uc2lyZW5lLXN1YnsgY29sb3I6ICM2Yzc1N2Q7IGZvbnQtc2l6ZTogLjg3NXJlbTsgbWFyZ2luLXRvcDogLjE1cmVtOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ0hBVCDigJMgU0hFTEwgJiBDT0xPTk5FU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY2hhdC1zaGVsbHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxNjJweCk7XG4gICAgbWluLWhlaWdodDogNDIwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmNhcmQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4uY2hhdC1zaGVsbCA+IFtjbGFzcyo94oCdY29sLeKAnV17IG1pbi1oZWlnaHQ6IDA7IH1cblxuLyogLS0tIEFzaWRlIC0tLSAqL1xuLmNoYXQtYXNpZGV7XG4gICAgZGlzcGxheTpmbGV4OyBmbGV4LWRpcmVjdGlvbjpjb2x1bW47IGhlaWdodDoxMDAlOyBvdmVyZmxvdzpoaWRkZW47XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgwLDAsMCwuMDYpO1xuICAgIC5jb252LWxpc3R7IGZsZXg6MSAxIGF1dG87IG1pbi1oZWlnaHQ6MDsgb3ZlcmZsb3c6YXV0bzsgfVxuICAgIC5saXN0LWdyb3VweyBvdmVyZmxvdzphdXRvOyB9XG59XG5cbi8qIEFzaWRlIGhlYWRlciAqL1xuLmNoYXQtYXNpZGVfX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nOiAuODc1cmVtIDFyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA2KTtcbn1cbi5jaGF0LWFzaWRlX190aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGNvbG9yOiAjMWUxZTFlO1xufVxuLmNoYXQtYXNpZGVfX2hlYWRlciAuYnRuIHtcbiAgICB3aWR0aDogMnJlbTsgaGVpZ2h0OiAycmVtOyBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IC42MjVyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4wNik7XG4gICAgY29sb3I6ICM3MTcxNzE7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGFsbCAuMTVzIGVhc2U7XG59XG4uY2hhdC1hc2lkZV9faGVhZGVyIC5idG46aG92ZXIge1xuICAgIGNvbG9yOiAjODkwMzgyO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LDMsMTMwLC4wNCk7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDEzNywzLDEzMCwuMTUpO1xufVxuXG4vKiBTZWFyY2ggYmFyICovXG4uY2hhdC1zZWFyY2gtd3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmNoYXQtc2VhcmNoLXdyYXAgLmNoYXQtc2VhcmNoLWljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAuNzVyZW07IHRvcDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgY29sb3I6ICNhMGEwYTg7IGZvbnQtc2l6ZTogLjg3NXJlbTsgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uY2hhdC1zZWFyY2gtd3JhcCAuZm9ybS1jb250cm9sIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIuMjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogI2Y2ZjdmYjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBoZWlnaHQ6IDIuMjVyZW07XG4gICAgZm9udC1zaXplOiAuODEyNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2U7XG59XG4uY2hhdC1zZWFyY2gtd3JhcCAuZm9ybS1jb250cm9sOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxMzcsMywxMzAsLjI1KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgxMzcsMywxMzAsLjA4KTtcbn1cblxuLyogQ29udmVyc2F0aW9uIGxpc3QgaXRlbXMgKi9cbi5jaGF0LWFzaWRlIC5jb252LWxpc3QgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBwYWRkaW5nOiAuNzVyZW0gMXJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjE1cyBlYXNlO1xuICAgIGdhcDogLjc1cmVtO1xufVxuLmNoYXQtYXNpZGUgLmNvbnYtbGlzdCAubGlzdC1ncm91cC1pdGVtOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNywzLDEzMCwuMDMpO1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDEzNywzLDEzMCwuMTUpO1xufVxuLmNoYXQtYXNpZGUgLmNvbnYtbGlzdCAubGlzdC1ncm91cC1pdGVtLmlzLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMzcsMywxMzAsLjA2KTtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogIzg5MDM4Mjtcbn1cbi5jb252LXNuaXBwZXQge1xuICAgIGZvbnQtc2l6ZTogLjgxMjVyZW07XG4gICAgY29sb3I6ICM3MTcxNzE7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xufVxuLmNvbnYtdGltZSB7XG4gICAgZm9udC1zaXplOiAuNjg3NXJlbTtcbiAgICBjb2xvcjogI2EwYTBhODtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4vKiAtLS0gTWFpbiAtLS0gKi9cbi5jaGF0LW1haW57XG4gICAgZGlzcGxheTpmbGV4OyBmbGV4LWRpcmVjdGlvbjpjb2x1bW47IG1pbi1oZWlnaHQ6MDsgaGVpZ2h0OjEwMCU7IG92ZXJmbG93OmhpZGRlbjsgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmNoYXQtbWFpbi1ib2R5e1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmciBhdXRvO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIENoYXQgaGVhZGVyIOKAkyByaWNoZXIsIG1vZGVybiBsb29rICovXG4uY2hhdC1oZWFkZXIge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDAsMCwwLC4wNiksIDAgMCAxcHggcmdiYSgwLDAsMCwuMDQpO1xuICAgIHBhZGRpbmc6IC42MjVyZW0gMS4yNXJlbTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiAzLjc1cmVtO1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IC43NXJlbTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cbi8qIEF2YXRhciBpbiBoZWFkZXIg4oCTIGxhcmdlciAmIHN0YXR1cyBkb3QgKi9cbi5jaGF0LWhlYWRlciBbZGF0YS1jaGF0LWhlYWRlci1hdmF0YXJdIC5hdmF0YXIge1xuICAgIHdpZHRoOiAyLjc1cmVtOyBoZWlnaHQ6IDIuNzVyZW07IGZvbnQtc2l6ZTogLjg3NXJlbTtcbn1cbi5jaGF0LWhlYWRlciAuc3RhdHVzLWRvdCB7XG4gICAgd2lkdGg6IDEwcHg7IGhlaWdodDogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwOyByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiAjYzVjN2NjO1xufVxuLmNoYXQtaGVhZGVyIC5zdGF0dXMtZG90Lm9ubGluZSB7XG4gICAgYmFja2dyb3VuZDogIzIyYzU1ZTtcbn1cbi8qIE5hbWUgKyBzdWJ0aXRsZSAqL1xuLmNoYXQtaGVhZGVyIC5mdy1zZW1pYm9sZCB7XG4gICAgZm9udC1zaXplOiAuOTM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBjb2xvcjogIzFlMWUxZTtcbn1cbi5jaGF0LWhlYWRlciAuY2hhdC1oZWFkZXItc3ViIHtcbiAgICBmb250LXNpemU6IC43NXJlbTtcbiAgICBjb2xvcjogI2EwYTBhODtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC4zNzVyZW07XG59XG4uY2hhdC1oZWFkZXIgLmNoYXQtaGVhZGVyLXN1YiAuc3RhdHVzLXRleHQge1xuICAgIGNvbG9yOiAjMjJjNTVlO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4uY2hhdC1oZWFkZXIgLmNoYXQtaGVhZGVyLXN1YiAuc3RhdHVzLXRleHQub2ZmbGluZSB7XG4gICAgY29sb3I6ICNhMGEwYTg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi8qIEFjdGlvbiBidXR0b25zIGdyb3VwICovXG4uY2hhdC1oZWFkZXItYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjM3NXJlbTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cbi5jaGF0LWhlYWRlci1hY3Rpb25zIC5idG4ge1xuICAgIHdpZHRoOiAyLjI1cmVtOyBoZWlnaHQ6IDIuMjVyZW07IHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogLjYyNXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4wNSk7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgY29sb3I6ICM3MTcxNzE7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGFsbCAuMTVzIGVhc2U7XG59XG4uY2hhdC1oZWFkZXItYWN0aW9ucyAuYnRuOmhvdmVyIHtcbiAgICBjb2xvcjogIzg5MDM4MjsgYmFja2dyb3VuZDogcmdiYSgxMzcsMywxMzAsLjA2KTsgYm9yZGVyLWNvbG9yOiByZ2JhKDEzNywzLDEzMCwuMTIpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENIQVQg4oCTIFpPTkUgTUVTU0FHRVMgKFNDUk9MTCkgKyBCT1VUT04gU1RJQ0tZXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jaGF0LW1lc3NhZ2VzLXdyYXB7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgZ3JpZC1yb3c6IDE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZjlmOWZjOyAgLyogc3VidGxlIGxpbGFjLWdyZXkgaW5zdGVhZCBvZiB3aGl0ZSAqL1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5jaGF0LW1lc3NhZ2Vze1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qIEJvdXRvbiDigJxOb3V2ZWF1eCBtZXNzYWdlcyDihpPigJ0gKi9cbi5jaGF0LXNjcm9sbC1ib3R0b217XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICBib3R0b206IDFyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgIG1hcmdpbjogMCAxcmVtIDAgYXV0bztcbiAgICB6LWluZGV4OiAxMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMjRweCByZ2JhKDAsMCwwLC4xMiksIDAgMnB4IDZweCByZ2JhKDAsMCwwLC4wOCk7XG4gICAgbGVmdDogYXV0bzsgcmlnaHQ6IGF1dG87XG4gICAgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50O1xufVxuLmNoYXQtc2Nyb2xsLWJvdHRvbSBpeyBmb250LXNpemU6IDEuMXJlbTsgbGluZS1oZWlnaHQ6IDE7IH1cblxuLyogLS0tIENvbXBvc2VyIC0tLSAqL1xuLmNoYXQtY29tcG9zZXJ7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7XG4gICAgZ3JpZC1yb3c6IDI7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMDQpO1xuICAgIHBhZGRpbmc6IC43NXJlbSAxcmVtO1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCA0cHggcmdiYSgwLDAsMCwuMDIpO1xufVxuLmNoYXQtY29tcG9zZXIgLmlucHV0LWdyb3VwIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjZmN2ZiO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA2KTtcbiAgICBwYWRkaW5nOiAuMjVyZW07XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC4ycyBlYXNlLCBib3gtc2hhZG93IC4ycyBlYXNlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4uY2hhdC1jb21wb3NlciAuaW5wdXQtZ3JvdXA6Zm9jdXMtd2l0aGluIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTM3LDMsMTMwLC4yNSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMTM3LDMsMTMwLC4wNik7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbn1cbi5jaGF0LWNvbXBvc2VyIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogMnJlbTtcbiAgICBwYWRkaW5nOiAuMzc1cmVtIC43NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHJlc2l6ZTogbm9uZTtcbiAgICBmb250LXNpemU6IC44NzVyZW07XG59XG4uY2hhdC1jb21wb3NlciAuaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLyogQXR0YWNoIGJ1dHRvbiAqL1xuLmNoYXQtY29tcG9zZXIgLmlucHV0LWdyb3VwIC5idG4tb3V0bGluZS1zZWNvbmRhcnkge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzcxNzE3MTtcbiAgICB3aWR0aDogMnJlbTsgaGVpZ2h0OiAycmVtOyBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4xNXMgZWFzZTtcbn1cbi5jaGF0LWNvbXBvc2VyIC5pbnB1dC1ncm91cCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmhvdmVyIHtcbiAgICBjb2xvcjogIzg5MDM4MjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNywzLDEzMCwuMDYpO1xufVxuLyogU2VuZCBidXR0b24g4oCTIGdyYWRpZW50IHBpbGwgKi9cbi5jaGF0LWNvbXBvc2VyIC5pbnB1dC1ncm91cCAuYnRuLXByaW1hcnkge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1haC1ncmFkaWVudCk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgd2lkdGg6IDJyZW07IGhlaWdodDogMnJlbTsgcGFkZGluZzogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDEzNywzLDEzMCwuMik7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4xNXMgZWFzZTtcbn1cbi5jaGF0LWNvbXBvc2VyIC5pbnB1dC1ncm91cCAuYnRuLXByaW1hcnk6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKDEzNywzLDEzMCwuMyk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQVZBVEFSUyAmIMOJVEFUU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYXZhdGFyIHsgYm9yZGVyLXJhZGl1czogNTAlOyBkaXNwbGF5OmlubGluZS1mbGV4OyBhbGlnbi1pdGVtczpjZW50ZXI7IGp1c3RpZnktY29udGVudDpjZW50ZXI7IH1cbi5hdmF0YXIgaW1nIHsgd2lkdGg6MTAwJTsgaGVpZ2h0OjEwMCU7IG9iamVjdC1maXQ6Y292ZXI7IGRpc3BsYXk6YmxvY2s7IGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuLmF2YXRhci0yOCB7IHdpZHRoOiAyOHB4OyBoZWlnaHQ6IDI4cHg7IGZvbnQtc2l6ZTogLjdyZW07IGNvbG9yOiAjZmZmOyBmb250LXdlaWdodDogNjAwOyB9XG4uYXZhdGFyLTM2IHsgd2lkdGg6IDM2cHg7IGhlaWdodDogMzZweDsgZm9udC1zaXplOiAuODVyZW07IGNvbG9yOiAjZmZmOyBmb250LXdlaWdodDogNjAwOyB9XG4uYXZhdGFyLTQwIHsgd2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAuOXJlbTsgY29sb3I6ICNmZmY7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cbi5hdmF0YXItZmFsbGJhY2sgeyBiYWNrZ3JvdW5kOiAjZThkNWYwOyBjb2xvcjogIzVhMmQ2YTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uc3RhdHVzLWRvdDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IOKAnOKAnTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTogMDsgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwcHg7IGhlaWdodDogMTBweDsgYm9yZGVyLXJhZGl1czogNTAlOyBib3JkZXI6IDFweCBzb2xpZCAjZjNmNGY3O1xufVxuLnN0YXR1cy1kb3Qub25saW5lOjphZnRlciAgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMTBiOTgxOyB9XG4uc3RhdHVzLWRvdC5vZmZsaW5lOjphZnRlciB7IGJhY2tncm91bmQtY29sb3I6ICM5Y2EzYWY7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNRVNTQUdFUyAoYnVsbGVzICYgbGlnbmVzKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY2hhdC1yb3cge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA0OHB4IDFmciA0OHB4O1xuICAgIGdhcDogLjVyZW0gLjc1cmVtO1xuICAgIGFsaWduLWl0ZW1zOiBlbmQ7XG4gICAgbWFyZ2luLWJvdHRvbTogLjI1cmVtO1xufVxuLyogUmVkdWNlIHNwYWNpbmcgd2l0aGluIHNhbWUgZ3JvdXAgKi9cbi5jaGF0LXJvdy5pcy1jb250aW51YXRpb24geyBtYXJnaW4tYm90dG9tOiAuMTI1cmVtOyB9XG5cbi5jaGF0LWxlZnQgLmNoYXQtYXZhdGFyLXdyYXAgeyBncmlkLWNvbHVtbjogMTsganVzdGlmeS1zZWxmOiBzdGFydDsgfVxuLmNoYXQtbGVmdCAuY2hhdC1idWJibGUgICAgICB7IGdyaWQtY29sdW1uOiAyOyBqdXN0aWZ5LXNlbGY6IHN0YXJ0OyB9XG4uY2hhdC1sZWZ0IC5jaGF0LXNwYWNlciAgICAgIHsgZ3JpZC1jb2x1bW46IDM7IH1cblxuLmNoYXQtcmlnaHQgLmNoYXQtc3BhY2VyICAgICB7IGdyaWQtY29sdW1uOiAxOyB9XG4uY2hhdC1yaWdodCAuY2hhdC1idWJibGUgICAgIHsgZ3JpZC1jb2x1bW46IDI7IGp1c3RpZnktc2VsZjogZW5kOyB9XG4uY2hhdC1yaWdodCAuY2hhdC1hdmF0YXItd3JhcHsgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBIaWRlIGF2YXRhciBvbiBjb250aW51YXRpb24gbWVzc2FnZXMgKi9cbi5jaGF0LXJvdy5pcy1jb250aW51YXRpb24gLmNoYXQtYXZhdGFyLXdyYXAgeyB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLmNoYXQtYnViYmxle1xuICAgIGJhY2tncm91bmQ6ICNlZWYwZjQ7XG4gICAgY29sb3I6ICMxZTFlMWU7XG4gICAgcGFkZGluZzogLjVyZW0gLjc1cmVtO1xuICAgIG1heC13aWR0aDogNzAlO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsMCwwLC4wMyk7XG59XG5cbi5jaGF0LWJ1YmJsZS1tZXtcbiAgICBiYWNrZ3JvdW5kOiAjZWRlMGYzO1xuICAgIGNvbG9yOiAjMWUxZTFlO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDEzNywzLDEzMCwuMDYpO1xufVxuXG4vKiBDb2lucyBhc3ltw6l0cmlxdWVzICovXG4uY2hhdC1idWJibGUtcGVlci1yb3VuZGVkeyBib3JkZXItcmFkaXVzOiAxNHB4IDE0cHggMTRweCA0cHg7IH1cbi5jaGF0LWJ1YmJsZS1tZS1yb3VuZGVkICB7IGJvcmRlci1yYWRpdXM6IDE0cHggMTRweCA0cHggMTRweDsgfVxuXG4uY2hhdC10ZXh0e1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4uY2hhdC1tZXRhIHsgZm9udC1zaXplOiAuNzVyZW07IG9wYWNpdHk6IC43NTsgbWFyZ2luLXRvcDogLjI1cmVtOyB9XG5cbi8qIE1pbmlhdHVyZXMgbcOpZGlhcyBkYW5zIGJ1bGxlcyAqL1xuLmNoYXQtaW1hZ2UtdGh1bWJ7XG4gICAgbWF4LXdpZHRoOjI2MHB4OyBib3JkZXItcmFkaXVzOi41cmVtOyBjdXJzb3I6cG9pbnRlcjtcbn1cblxuLyogTGlnaHRib3ggKi9cbiNjaGF0TGlnaHRib3ggLm1vZGFsLWNvbnRlbnR7IGJhY2tncm91bmQ6IzAwMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBSRVZJRVcgUEogKGNhcnLDqSwgY292ZXIsIG11bHRpKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY2hhdC1wcmV2aWV3IHsgbWFyZ2luLWJvdHRvbTogLjVyZW07IH1cbi5jaGF0LXByZXZpZXcgLmNoYXQtcHJldmlldy1ncmlkeyBkaXNwbGF5OmZsZXg7IGZsZXgtd3JhcDp3cmFwOyBnYXA6LjVyZW07IH1cblxuLmNoYXQtcHJldmlldyAuY2hhdC1wcmV2aWV3LWl0ZW17XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA4MHB4OyBoZWlnaHQ6IDgwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogLjZyZW07IG92ZXJmbG93OiBoaWRkZW47IGJhY2tncm91bmQ6ICNmM2Y0ZjY7XG4gICAgZGlzcGxheTpmbGV4OyBhbGlnbi1pdGVtczpjZW50ZXI7IGp1c3RpZnktY29udGVudDpjZW50ZXI7XG59XG4uY2hhdC1wcmV2aWV3IC5jaGF0LXByZXZpZXctaXRlbSBpbWcsXG4uY2hhdC1wcmV2aWV3IC5jaGF0LXByZXZpZXctaXRlbSB2aWRlb3tcbiAgICB3aWR0aDoxMDAlOyBoZWlnaHQ6MTAwJTsgb2JqZWN0LWZpdDpjb3Zlcjsgb2JqZWN0LXBvc2l0aW9uOmNlbnRlcjsgZGlzcGxheTpibG9jaztcbn1cbi5jaGF0LXByZXZpZXcgLmNoYXQtcHJldmlldy1pdGVtLmZpbGV7XG4gICAgYmFja2dyb3VuZDojZWVmMmZmOyBjb2xvcjojMzczMGEzOyBmb250LXNpemU6Ljc1cmVtOyBmb250LXdlaWdodDo2MDA7XG59XG4uY2hhdC1wcmV2aWV3IC5jaGF0LXByZXZpZXctaXRlbS5maWxlIGl7IGZvbnQtc2l6ZToxLjI1cmVtOyBtYXJnaW4tYm90dG9tOi4ycmVtOyB9XG4uY2hhdC1wcmV2aWV3IC5jaGF0LXByZXZpZXctaXRlbSAuZmlsZS1uYW1le1xuICAgIG1heC13aWR0aDo3NnB4OyB0ZXh0LWFsaWduOmNlbnRlcjsgd2hpdGUtc3BhY2U6bm93cmFwOyBvdmVyZmxvdzpoaWRkZW47IHRleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7XG59XG4uY2hhdC1wcmV2aWV3IC5jaGF0LXByZXZpZXctaXRlbSAuYnRuLWNsb3Nle1xuICAgIHBvc2l0aW9uOmFic29sdXRlOyB0b3A6LjJyZW07IHJpZ2h0Oi4ycmVtOyBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjUpO1xuICAgIGJvcmRlci1yYWRpdXM6NTAlOyBmaWx0ZXI6aW52ZXJ0KDEpOyBvcGFjaXR5Oi45O1xufVxuLmNoYXQtcHJldmlldyAuY2hhdC1wcmV2aWV3LWl0ZW0gLmJ0bi1jbG9zZTpob3Zlcnsgb3BhY2l0eToxOyB9XG5cbi5jaGF0LW1haW4tYm9keS5kcm9wLWFjdGl2ZSB7XG4gICAgb3V0bGluZTogMnB4IGRhc2hlZCByZ2JhKDc5LDcwLDIyOSwuNik7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC4yNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDc5LDcwLDIyOSwuMDQpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEdST1VQRVMgJiBFTi1Uw4pURVMgROKAmUhFVVJFIOKAkyBjZW50ZXJlZCBwaWxsc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY2hhdC1ncm91cCB7IG1hcmdpbi10b3A6IC41cmVtOyB9XG5cbi5jaGF0LWdyb3VwLXJvd3tcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAuNzVyZW0gMCAuNXJlbTtcbn1cblxuLmNoYXQtZ3JvdXAtaGVhZGVye1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsLjA0KTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBwYWRkaW5nOiAuMjVyZW0gLjc1cmVtO1xuICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICM3MTcxNzE7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1heC13aWR0aDogbWF4LWNvbnRlbnQ7XG59XG4uY2hhdC1ncm91cC1oZWFkZXIuaXMtbGVmdCxcbi5jaGF0LWdyb3VwLWhlYWRlci5pcy1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJBREdFUyDigJMgVU5SRUFEIChUb3BiYXIgKyBsaXN0ZSlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmNoYXQtdW5yZWFkLWJhZGdle1xuICAgIGRpc3BsYXk6aW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOmNlbnRlcjsganVzdGlmeS1jb250ZW50OmNlbnRlcjtcbiAgICBtaW4td2lkdGg6IDEuMTVyZW07IGhlaWdodDogMS4xNXJlbTtcbiAgICBwYWRkaW5nOiAuMXJlbSAuNHJlbTtcbiAgICBmb250LXNpemU6LjcycmVtOyBmb250LXdlaWdodDo3MDA7IGxpbmUtaGVpZ2h0OjE7XG4gICAgYm9yZGVyLXJhZGl1czo5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiAjODkwMzgyO1xuICAgIGNvbG9yOiNmZmY7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMTM3LDMsMTMwLC4yNSk7XG59XG5cbi5saXN0LWdyb3VwIC5jaGF0LXVucmVhZC1iYWRnZXtcbiAgICBtaW4td2lkdGg6IDEuMjVyZW07IGhlaWdodDogMS4yNXJlbTsgcGFkZGluZzogLjE1cmVtIC41cmVtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFVUSUxJVEFJUkVTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jaGF0LWF2YXRhciB7IGJvcmRlci1yYWRpdXM6IDUwJTsgb2JqZWN0LWZpdDogY292ZXI7IH1cbi5jaGF0LWluaXRpYWxzIHtcbiAgICB3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4O1xuICAgIGZvbnQtc2l6ZTogMC45cmVtOyBsZXR0ZXItc3BhY2luZzogMC4wMmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEVNUFRZIFNUQVRFIChubyBjb252ZXJzYXRpb24gc2VsZWN0ZWQpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jaGF0LWVtcHR5LXN0YXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAuNXJlbTtcbiAgICBwYWRkaW5nOiAycmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB6LWluZGV4OiA1O1xufVxuLmNoYXQtZW1wdHktc3RhdGVfX2ljb24ge1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICBjb2xvcjogcmdiYSgxMzcsMywxMzAsLjE1KTtcbn1cbi5jaGF0LWVtcHR5LXN0YXRlX190ZXh0IHtcbiAgICBmb250LXNpemU6IC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICM3MTcxNzE7XG59XG4uY2hhdC1lbXB0eS1zdGF0ZV9fc3ViIHtcbiAgICBmb250LXNpemU6IC44MTI1cmVtO1xuICAgIGNvbG9yOiAjYTBhMGE4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE5FVyBDSEFUIE1PREFMXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiNuZXdDaGF0TW9kYWwgLm1vZGFsLWNvbnRlbnQge1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMDYpO1xuICAgIGJveC1zaGFkb3c6IDAgMTJweCAyOHB4IHJnYmEoMCwwLDAsLjA2KSwgMCA0cHggMTBweCByZ2JhKDAsMCwwLC4wMyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbiNuZXdDaGF0TW9kYWwgLm1vZGFsLWhlYWRlciB7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4wNik7IHBhZGRpbmc6IDFyZW0gMS4yNXJlbTsgfVxuI25ld0NoYXRNb2RhbCAubW9kYWwtdGl0bGUgIHsgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zaXplOiAxcmVtOyB9XG4jbmV3Q2hhdE1vZGFsIC5tb2RhbC1mb290ZXIgeyBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMDYpOyBwYWRkaW5nOiAuNzVyZW0gMS4yNXJlbTsgfVxuXG4vKiA9PT0gRHJhd2VyIGludGVybmUgZHUgY2hhdCAocHVzaCBsYXlvdXQpID09PSAqL1xuOnJvb3QgeyAtLWNoYXQtZHJhd2VyLXc6IDM0MHB4OyB9XG5cbi5jaGF0LWRyYXdlcntcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4wNik7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggLjI1cyBlYXNlO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uY2hhdC1kcmF3ZXIuaXMtb3BlbiB7IHdpZHRoOiB2YXIoLS1jaGF0LWRyYXdlci13KTsgfVxuXG4uY2hhdC1kcmF3ZXItaGVhZGVyIHsgZmxleDogMCAwIGF1dG87IHBhZGRpbmc6IC43NXJlbSAxcmVtOyB9XG4uY2hhdC1kcmF3ZXItYm9keSAgIHsgZmxleDogMSAxIGF1dG87IG92ZXJmbG93OiBhdXRvOyBwYWRkaW5nOiAxcmVtOyB9XG5cbi5jaGF0LWRyYXdlci1iYWNrZHJvcHsgZGlzcGxheTpub25lOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PSBNb2JpbGUgb3ZlcmxheSBiZWhhdmlvciA9PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAgIC5jaGF0LW1haW4tYm9keSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4gICAgLmNoYXQtZHJhd2Vye1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDsgcmlnaHQ6IDA7IGJvdHRvbTogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjI1cyBlYXNlO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogMCA2cHggMjRweCByZ2JhKDAsMCwwLC4xMik7XG4gICAgfVxuICAgIC5jaGF0LWRyYXdlci5pcy1vcGVuIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbiAgICAuY2hhdC1kcmF3ZXItYmFja2Ryb3B7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC4xMik7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgIH1cbiAgICAuY2hhdC1kcmF3ZXItYmFja2Ryb3AuaXMtb3BlbntcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgfVxufVxuXG4vKiBGaWxlcyBsaXN0IGluIGRyYXdlciAqL1xuLmZpbGVzLWNoYXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IC41cmVtO1xuXG4gICAgLmZpbGUtaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogLjc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAuNnJlbSAuNzVyZW07XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA3KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogLjZyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG5cbiAgICAgICAgLmZpbGUtaWNvbiB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAuNXJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmM2Y0ZjY7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZpbGUtbWV0YSB7IGZsZXg6IDEgMSBhdXRvOyBtaW4td2lkdGg6IDA7IH1cbiAgICAgICAgLmZpbGUtbmFtZSB7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgICAgLmZpbGUtc3ViICB7IGZvbnQtc2l6ZTogLjgxMjVyZW07IH1cblxuICAgICAgICAuZmlsZS1hY3Rpb25zIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGdhcDogLjRyZW07XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGVhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIC5maWxlLWFjdGlvbnMge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUSU1FTElORSBDT01QT05FTlQgKHJldXNhYmxlKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYWgtdGltZWxpbmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG59XG4uYWgtdGltZWxpbmUtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtO1xufVxuLmFoLXRpbWVsaW5lLWl0ZW06bm90KDpsYXN0LWNoaWxkKTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTEuMzc1cmVtO1xuICAgIHRvcDogMTBweDtcbiAgICB3aWR0aDogMnB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZWNlY2YzO1xufVxuLmFoLXRpbWVsaW5lLWRvdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC0xLjYyNXJlbTtcbiAgICB0b3A6IDJweDtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuLmFoLXRpbWVsaW5lLWNvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBJTkZPIExBQkVMICh1cHBlcmNhc2UgbXV0ZWQgc21hbGwpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5haC1pbmZvLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgY29sb3I6ICM3MTcxNzE7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGT1JNIFNFQ1RJT04g4oCUIFN0ZXBwZWQgZm9ybSBwYW5lbHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmFoLWZvcm0tc2VjdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4wNSk7XG4gICAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMCwwLDAsLjAyKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgLjJzIGVhc2U7XG59XG4uYWgtZm9ybS1zZWN0aW9uOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNnB4IHJnYmEoMCwwLDAsLjA0KTtcbn1cbi5haC1mb3JtLXNlY3Rpb25fX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjc1cmVtO1xuICAgIHBhZGRpbmc6IDFyZW0gMS41cmVtO1xuICAgIGJhY2tncm91bmQ6ICNmYWY4ZmI7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTM3LDMsMTMwLC4wNik7XG59XG4uYWgtZm9ybS1zZWN0aW9uX19pY29uIHtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgICBjb2xvcjogIzg5MDM4MjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNywzLDEzMCwuMDgpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuLmFoLWZvcm0tc2VjdGlvbl9fdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkRNIFNhbnNcIiwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAuODc1cmVtO1xuICAgIGNvbG9yOiAjMWUxZTFlO1xufVxuLmFoLWZvcm0tc2VjdGlvbl9fc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xuICAgIGNvbG9yOiAjYTBhMGE4O1xuICAgIG1hcmdpbi10b3A6IC4wNXJlbTtcbn1cbi5haC1mb3JtLXNlY3Rpb25fX2JvZHkge1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XG4gICAgLmFoLWZvcm0tc2VjdGlvbl9faGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogLjc1cmVtIDFyZW07XG4gICAgICAgIGdhcDogLjVyZW07XG4gICAgfVxuICAgIC5haC1mb3JtLXNlY3Rpb25fX2hlYWRlciAuYnRuIHtcbiAgICAgICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgICAgIHBhZGRpbmc6IC4ycmVtIC41cmVtO1xuICAgIH1cbiAgICAuYWgtZm9ybS1zZWN0aW9uX19ib2R5IHtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICB9XG4gICAgLmFoLWZvcm0tc2VjdGlvbl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IC44MTI1cmVtO1xuICAgIH1cbiAgICAuYWgtZm9ybS1zZWN0aW9uX19zdWJ0aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjY4NzVyZW07XG4gICAgfVxufVxuLyogTnVtYmVyZWQgc3RlcCBpbmRpY2F0b3IgKi9cbi5haC1mb3JtLXNlY3Rpb25fX3N0ZXAge1xuICAgIHdpZHRoOiAxLjc1cmVtO1xuICAgIGhlaWdodDogMS43NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogLjdyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjODkwMzgyIDAlLCAjYjA0MGE4IDEwMCUpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuLyogQ29sbGFwc2libGUgdG9nZ2xlICovXG4uYWgtZm9ybS1zZWN0aW9uX190b2dnbGUge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiAjYTBhMGE4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiAuMjVyZW07XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBlYXNlO1xuICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbn1cbi5haC1mb3JtLXNlY3Rpb25fX3RvZ2dsZVthcmlhLWV4cGFuZGVkPVwiZmFsc2VcIl0ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG59XG5cbi8qIFNpZGViYXIgc3RpY2t5IGNhcmQgKi9cbi5haC1zaWRlYmFyLWNhcmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMDUpO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDAsMCwwLC4wMik7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5haC1zaWRlYmFyLWNhcmRfX2FjY2VudCB7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjODkwMzgyIDAlLCAjRTExRDVCIDUwJSwgI0Q3MTcwMCAxMDAlKTtcbn1cbi5haC1zaWRlYmFyLWNhcmRfX2JvZHkge1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG59XG5cbi8qIEZvcm0gZm9vdGVyIHN0aWNreSAqL1xuLmFoLWZvcm0tZm9vdGVyIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4wNik7XG4gICAgcGFkZGluZzogMXJlbSAxLjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDFyZW0gMXJlbTtcbiAgICBib3gtc2hhZG93OiAwIC00cHggMTJweCByZ2JhKDAsMCwwLC4wMyk7XG4gICAgei1pbmRleDogNTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuNzVyZW07XG59XG5cbi8qIEFkZHJlc3Mgc2VhcmNoIOKAlCBzdHlsZWQgaW5wdXQgd2l0aCBpY29uICovXG4uYWgtYWRkcmVzcy1zZWFyY2gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5haC1hZGRyZXNzLXNlYXJjaF9faW5wdXQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIHBhZGRpbmc6IC41cmVtIC43NXJlbSAuNXJlbSAyLjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogLjYyNXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4xKTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBjb2xvcjogIzFlMWUxZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgLjE1cyBlYXNlLCBib3gtc2hhZG93IC4xNXMgZWFzZTtcbn1cbi5haC1hZGRyZXNzLXNlYXJjaF9faW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI2EwYTBhODtcbn1cbi5haC1hZGRyZXNzLXNlYXJjaF9faW5wdXQ6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxMzcsMywxMzAsLjQpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDEzNywzLDEzMCwuMDgpO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG4uYWgtYWRkcmVzcy1zZWFyY2hfX2ljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAuNzVyZW07XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGNvbG9yOiAjYTBhMGE4O1xuICAgIGZvbnQtc2l6ZTogLjlyZW07XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgLjE1cyBlYXNlO1xufVxuLmFoLWFkZHJlc3Mtc2VhcmNoOmZvY3VzLXdpdGhpbiAuYWgtYWRkcmVzcy1zZWFyY2hfX2ljb24ge1xuICAgIGNvbG9yOiAjODkwMzgyO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBST0pFQ1QgQ0FSRCAoZmljaGUgY2xpZW50LCBjYXJ0ZSBhdmVjIGRvdCBzdGF0dXMpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5haC1wcm9qZWN0LWNhcmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiAuODc1cmVtO1xuICAgIHBhZGRpbmc6IDFyZW0gMS4yNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA2KTtcbiAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLDAsMCwuMDMpO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4uYWgtcHJvamVjdC1jYXJkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTM3LDMsMTMwLC4xMik7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMjRweCByZ2JhKDEzNywzLDEzMCwuMDgpLCAwIDJweCA2cHggcmdiYSgwLDAsMCwuMDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbn1cbi8qIFN0YXR1cyBkb3QgaW5kaWNhdG9yICovXG4uYWgtcHJvamVjdC1jYXJkX19kb3Qge1xuICAgIHdpZHRoOiA4cHg7IGhlaWdodDogOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYWgtcHJvamVjdC1jYXJkX19kb3Q6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IC0zcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG9wYWNpdHk6IC4zO1xufVxuLmFoLXByb2plY3QtY2FyZF9fZG90LS1kcmFmdCAgICAgeyBiYWNrZ3JvdW5kOiAjOWNhM2FmOyB9XG4uYWgtcHJvamVjdC1jYXJkX19kb3QtLWRyYWZ0OjphZnRlciB7IGJhY2tncm91bmQ6ICM5Y2EzYWY7IH1cbi5haC1wcm9qZWN0LWNhcmRfX2RvdC0tcHJvZ3Jlc3MgIHsgYmFja2dyb3VuZDogIzEwYjk4MTsgfVxuLmFoLXByb2plY3QtY2FyZF9fZG90LS1wcm9ncmVzczo6YWZ0ZXIgeyBiYWNrZ3JvdW5kOiAjMTBiOTgxOyB9XG4uYWgtcHJvamVjdC1jYXJkX19kb3QtLXdhaXRpbmcgICB7IGJhY2tncm91bmQ6ICNmNTllMGI7IH1cbi5haC1wcm9qZWN0LWNhcmRfX2RvdC0td2FpdGluZzo6YWZ0ZXIgeyBiYWNrZ3JvdW5kOiAjZjU5ZTBiOyB9XG4uYWgtcHJvamVjdC1jYXJkX19kb3QtLWNvbXBsZXRlZCB7IGJhY2tncm91bmQ6ICM4OTAzODI7IH1cbi5haC1wcm9qZWN0LWNhcmRfX2RvdC0tY29tcGxldGVkOjphZnRlciB7IGJhY2tncm91bmQ6ICM4OTAzODI7IH1cbi5haC1wcm9qZWN0LWNhcmRfX2RvdC0tY2FuY2VsbGVkIHsgYmFja2dyb3VuZDogI0UxMUQ1QjsgfVxuLmFoLXByb2plY3QtY2FyZF9fZG90LS1jYW5jZWxsZWQ6OmFmdGVyIHsgYmFja2dyb3VuZDogI0UxMUQ1QjsgfVxuLyogQ2hldnJvbiBhcnJvdyAqL1xuLmFoLXByb2plY3QtY2FyZF9fYXJyb3cge1xuICAgIGNvbG9yOiAjY2NjO1xuICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzIGVhc2UsIGNvbG9yIC4ycyBlYXNlO1xufVxuLmFoLXByb2plY3QtY2FyZDpob3ZlciAuYWgtcHJvamVjdC1jYXJkX19hcnJvdyB7XG4gICAgY29sb3I6ICM4OTAzODI7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG59XG4vKiBNZXRhIGluZm8gcm93ICovXG4uYWgtcHJvamVjdC1jYXJkX19tZXRhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuNzVyZW07XG4gICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgY29sb3I6ICNhMGEwYTg7XG4gICAgbWFyZ2luLXRvcDogLjM3NXJlbTtcbn1cbi5haC1wcm9qZWN0LWNhcmRfX21ldGEgaSB7IGZvbnQtc2l6ZTogLjdyZW07IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBRVUlDSyBBQ1RJT04gQlVUVE9OIChzaWRlYmFyIGZpY2hlIGNsaWVudClcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmFoLXF1aWNrLWFjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC43NXJlbTtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gICAgY29sb3I6ICMxZTFlMWU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMTVzIGVhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IC44MTI1cmVtO1xufVxuLmFoLXF1aWNrLWFjdGlvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMzcsMywxMzAsLjA0KTtcbiAgICBjb2xvcjogIzg5MDM4Mjtcbn1cbi5haC1xdWljay1hY3Rpb24gaSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHdpZHRoOiAxLjc1cmVtO1xuICAgIGhlaWdodDogMS43NXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuMDMpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuLmFoLXF1aWNrLWFjdGlvbjpob3ZlciBpIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNywzLDEzMCwuMDgpO1xuICAgIGNvbG9yOiAjODkwMzgyO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENSTSBQUk9GSUxFIEhFQURFUiDigJQgQ29tcGFjdCBoZXJvIGNhcmQgKHNpbmdsZSByb3cpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5haC1wcm9maWxlLWhlcm8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMDQpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4uYWgtcHJvZmlsZS1oZXJvX19ncmFkaWVudCB7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjODkwMzgyIDAlLCAjRTExRDVCIDUwJSwgI0Q3MTcwMCAxMDAlKTtcbn1cbi8qIFNpbmdsZS1yb3cgYm9keTogYXZhdGFyICsgaW5mbyArIGJhZGdlcyArIGFjdGlvbnMgaW5saW5lICovXG4uYWgtcHJvZmlsZS1oZXJvX19ib2R5IHtcbiAgICBwYWRkaW5nOiAuNzVyZW0gMS4yNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxcmVtO1xufVxuLmFoLXByb2ZpbGUtaGVyb19fYXZhdGFyIHtcbiAgICB3aWR0aDogNDRweDsgaGVpZ2h0OiA0NHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IC43NXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogNzAwOyBmb250LXNpemU6IC45NXJlbTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjODkwMzgyIDAlLCAjYjA0MGE4IDEwMCUpO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDEzNywzLDEzMCwuMTIpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuLmFoLXByb2ZpbGUtaGVyb19faW5mbyB7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjYyNXJlbTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG4uYWgtcHJvZmlsZS1oZXJvX19uYW1lIHtcbiAgICBmb250LWZhbWlseTogXCJETSBTYW5zXCIsIHN5c3RlbS11aSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS4wNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGNvbG9yOiAjMWUxZTFlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uYWgtcHJvZmlsZS1oZXJvX19zdWIge1xuICAgIGZvbnQtc2l6ZTogLjhyZW07XG4gICAgY29sb3I6ICM3MTcxNzE7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5haC1wcm9maWxlLWhlcm9fX2JhZGdlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjM3NXJlbTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cbi5haC1wcm9maWxlLWhlcm9fX2FjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC4zNzVyZW07XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi8qIFJlc3BvbnNpdmUgaGVybyDigJQgc3RhY2sgb24gc21hbGwgc2NyZWVucyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAgLmFoLXByb2ZpbGUtaGVyb19fYm9keSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgcGFkZGluZzogLjc1cmVtIDFyZW07XG4gICAgICAgIGdhcDogLjYyNXJlbTtcbiAgICB9XG4gICAgLmFoLXByb2ZpbGUtaGVyb19fYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICAgIGhlaWdodDogMzZweDtcbiAgICAgICAgZm9udC1zaXplOiAuOHJlbTtcbiAgICB9XG4gICAgLmFoLXByb2ZpbGUtaGVyb19faW5mbyB7XG4gICAgICAgIGZsZXg6IDEgMSAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBnYXA6IC4zNzVyZW07XG4gICAgfVxuICAgIC5haC1wcm9maWxlLWhlcm9fX25hbWUge1xuICAgICAgICBmb250LXNpemU6IC45cmVtO1xuICAgIH1cbiAgICAuYWgtcHJvZmlsZS1oZXJvX19iYWRnZXMge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgICBnYXA6IC4yNXJlbTtcbiAgICB9XG4gICAgLmFoLXByb2ZpbGUtaGVyb19fYmFkZ2VzIC5haC1iYWRnZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjZyZW07XG4gICAgfVxuICAgIC5haC1wcm9maWxlLWhlcm9fX2FjdGlvbnMge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuICAgIC5haC1wcm9maWxlLWhlcm9fX2FjdGlvbnMgLmJ0biB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAuMjVyZW0gLjVyZW07XG4gICAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XG4gICAgLmFoLXByb2ZpbGUtaGVyb19fYm9keSB7XG4gICAgICAgIHBhZGRpbmc6IC42MjVyZW0gLjc1cmVtO1xuICAgICAgICBnYXA6IC41cmVtO1xuICAgIH1cbiAgICAuYWgtcHJvZmlsZS1oZXJvX19pbmZvIHtcbiAgICAgICAgZmxleC1iYXNpczogY2FsYygxMDAlIC0gMzZweCAtIC41cmVtKTtcbiAgICB9XG4gICAgLmFoLXByb2ZpbGUtaGVyb19fYmFkZ2VzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgICAuYWgtcHJvZmlsZS1oZXJvX19hY3Rpb25zIHtcbiAgICAgICAgb3JkZXI6IDA7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENSTSBDT05UQUNUIEZJRUxEIOKAlCBJY29uICsgdmFsdWUgaW5saW5lXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5haC1maWVsZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IC43NXJlbTtcbiAgICBwYWRkaW5nOiAuNjI1cmVtIDA7XG59XG4uYWgtZmllbGQgKyAuYWgtZmllbGQge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4wNCk7XG59XG4uYWgtZmllbGRfX2ljb24ge1xuICAgIHdpZHRoOiAycmVtOyBoZWlnaHQ6IDJyZW07XG4gICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gICAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAuODc1cmVtO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LDMsMTMwLC4wNSk7XG4gICAgY29sb3I6ICM4OTAzODI7XG59XG4uYWgtZmllbGRfX2NvbnRlbnQge1xuICAgIGZsZXg6IDE7IG1pbi13aWR0aDogMDtcbn1cbi5haC1maWVsZF9fbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogLjY4NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDVlbTtcbiAgICBjb2xvcjogI2EwYTBhODtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tYm90dG9tOiAuMjVyZW07XG59XG4uYWgtZmllbGRfX3ZhbHVlIHtcbiAgICBmb250LXNpemU6IC44NzVyZW07XG4gICAgY29sb3I6ICMxZTFlMWU7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cbi5haC1maWVsZF9fdmFsdWUgYSB7XG4gICAgY29sb3I6ICMxZTFlMWU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmFoLWZpZWxkX192YWx1ZSBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzg5MDM4Mjtcbn1cbi5haC1maWVsZF9fdmFsdWUtLW11dGVkIHtcbiAgICBjb2xvcjogI2EwYTBhODtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1zaXplOiAuODEyNXJlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDUk0gU0VDVElPTiBIRUFERVIg4oCUIE1pbmltYWwgc2VjdGlvbiBkaXZpZGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5haC1zZWN0aW9uLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLjc1cmVtO1xuICAgIGZvbnQtc2l6ZTogLjdyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDZlbTtcbiAgICBjb2xvcjogI2EwYTBhODtcbn1cbi5haC1zZWN0aW9uLWhlYWRlcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGZsZXg6IDE7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuMDYpO1xufVxuLmFoLXNlY3Rpb24taGVhZGVyLS1uby1saW5lOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDUk0gQ09OVEFDVCBDQVJEIOKAlCBDb21wYWN0IGNhcmQgZm9yIGFkZGl0aW9uYWwgY29udGFjdHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmFoLWNvbnRhY3QtY2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjc1cmVtO1xuICAgIHBhZGRpbmc6IC43NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAuNzVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMDQpO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMTVzIGVhc2U7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbn1cbi5haC1jb250YWN0LWNhcmQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxMzcsMywxMzAsLjEpO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDEzNywzLDEzMCwuMDYpO1xufVxuLmFoLWNvbnRhY3QtY2FyZF9fYXZhdGFyIHtcbiAgICB3aWR0aDogMzZweDsgaGVpZ2h0OiAzNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IC42MjVyZW07XG4gICAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zaXplOiAuN3JlbTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjNzE3MTcxLCAjOTk5KTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cbi5haC1jb250YWN0LWNhcmRfX2luZm8geyBmbGV4OiAxOyBtaW4td2lkdGg6IDA7IH1cbi5haC1jb250YWN0LWNhcmRfX25hbWUge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAuODEyNXJlbTtcbiAgICBjb2xvcjogIzFlMWUxZTtcbn1cbi5haC1jb250YWN0LWNhcmRfX21ldGEge1xuICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xuICAgIGNvbG9yOiAjNzE3MTcxO1xufVxuLmFoLWNvbnRhY3QtY2FyZF9fYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IC4yNXJlbTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlO1xufVxuLmFoLWNvbnRhY3QtY2FyZDpob3ZlciAuYWgtY29udGFjdC1jYXJkX19hY3Rpb25zIHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhFUk8gQUNUSU9OUyBEUk9QRE9XTiDigJQgUXVpY2sgYWN0aW9ucyBtZW51IGluIHByb2ZpbGUgaGVyb1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYWgtaGVyby1kcm9wZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmFoLWhlcm8tZHJvcGRvd25fX3RvZ2dsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMi4yNXJlbTtcbiAgICBoZWlnaHQ6IDIuMjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMDgpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjYpO1xuICAgIGNvbG9yOiAjNzE3MTcxO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2U7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHBhZGRpbmc6IDA7XG59XG4uYWgtaGVyby1kcm9wZG93bl9fdG9nZ2xlOmhvdmVyLFxuLmFoLWhlcm8tZHJvcGRvd25fX3RvZ2dsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMzcsMywxMzAsLjA2KTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTM3LDMsMTMwLC4xNSk7XG4gICAgY29sb3I6ICM4OTAzODI7XG59XG4uYWgtaGVyby1kcm9wZG93bl9fbWVudSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDEwNTA7XG4gICAgbWluLXdpZHRoOiAyMjBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA2KTtcbiAgICBib3JkZXItcmFkaXVzOiAuNzVyZW07XG4gICAgYm94LXNoYWRvdzogMCAxMnB4IDMycHggcmdiYSgwLDAsMCwuMSksIDAgNHB4IDEycHggcmdiYSgwLDAsMCwuMDQpO1xuICAgIHBhZGRpbmc6IC4zNzVyZW07XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpIHNjYWxlKC45OCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4xOHMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7XG59XG4uYWgtaGVyby1kcm9wZG93bl9fbWVudS5pcy1vcGVuIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpO1xufVxuLmFoLWhlcm8tZHJvcGRvd25fX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC42MjVyZW07XG4gICAgcGFkZGluZzogLjVyZW0gLjc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IC41cmVtO1xuICAgIGNvbG9yOiAjMWUxZTFlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4xMnMgZWFzZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uYWgtaGVyby1kcm9wZG93bl9faXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMzcsMywxMzAsLjA1KTtcbiAgICBjb2xvcjogIzg5MDM4Mjtcbn1cbi5haC1oZXJvLWRyb3Bkb3duX19pdGVtIGkge1xuICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogIzg5MDM4MjtcbiAgICBvcGFjaXR5OiAuNztcbn1cbi5haC1oZXJvLWRyb3Bkb3duX19pdGVtOmhvdmVyIGkgeyBvcGFjaXR5OiAxOyB9XG4uYWgtaGVyby1kcm9wZG93bl9fZGl2aWRlciB7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuMDYpO1xuICAgIG1hcmdpbjogLjI1cmVtIC41cmVtO1xufVxuLmFoLWhlcm8tZHJvcGRvd25fX2l0ZW0tLWRhbmdlciB7IGNvbG9yOiAjRTExRDVCOyB9XG4uYWgtaGVyby1kcm9wZG93bl9faXRlbS0tZGFuZ2VyIGkgeyBjb2xvcjogI0UxMUQ1QjsgfVxuLmFoLWhlcm8tZHJvcGRvd25fX2l0ZW0tLWRhbmdlcjpob3ZlciB7IGJhY2tncm91bmQ6IHJnYmEoMjI1LDI5LDkxLC4wNSk7IGNvbG9yOiAjYmUxMjNjOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTUlDUk8gQU5JTUFUSU9OUyDigJQgU3RhZ2dlciBmYWRlLWluLCBob3ZlciBlZmZlY3RzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFN0YWdnZXIgZW50cmFuY2UgZm9yIGNhcmRzIGFuZCBsaXN0IGl0ZW1zICovXG5Aa2V5ZnJhbWVzIGFoLWZhZGUtdXAge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTJweCk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cbi5haC1hbmltYXRlLWluIHtcbiAgICBhbmltYXRpb246IGFoLWZhZGUtdXAgLjRzIGN1YmljLWJlemllciguNCwwLC4yLDEpIGJhY2t3YXJkcztcbn1cbi8qIFN0YWdnZXIgZGVsYXlzIGZvciBjaGlsZHJlbiAqL1xuLmFoLXN0YWdnZXIgPiAqOm50aC1jaGlsZCgxKSAgeyBhbmltYXRpb24tZGVsYXk6IDBtczsgfVxuLmFoLXN0YWdnZXIgPiAqOm50aC1jaGlsZCgyKSAgeyBhbmltYXRpb24tZGVsYXk6IDUwbXM7IH1cbi5haC1zdGFnZ2VyID4gKjpudGgtY2hpbGQoMykgIHsgYW5pbWF0aW9uLWRlbGF5OiAxMDBtczsgfVxuLmFoLXN0YWdnZXIgPiAqOm50aC1jaGlsZCg0KSAgeyBhbmltYXRpb24tZGVsYXk6IDE1MG1zOyB9XG4uYWgtc3RhZ2dlciA+ICo6bnRoLWNoaWxkKDUpICB7IGFuaW1hdGlvbi1kZWxheTogMjAwbXM7IH1cbi5haC1zdGFnZ2VyID4gKjpudGgtY2hpbGQoNikgIHsgYW5pbWF0aW9uLWRlbGF5OiAyNTBtczsgfVxuLmFoLXN0YWdnZXIgPiAqOm50aC1jaGlsZCg3KSAgeyBhbmltYXRpb24tZGVsYXk6IDMwMG1zOyB9XG4uYWgtc3RhZ2dlciA+ICo6bnRoLWNoaWxkKDgpICB7IGFuaW1hdGlvbi1kZWxheTogMzUwbXM7IH1cbi5haC1zdGFnZ2VyID4gKjpudGgtY2hpbGQoOSkgIHsgYW5pbWF0aW9uLWRlbGF5OiA0MDBtczsgfVxuLmFoLXN0YWdnZXIgPiAqOm50aC1jaGlsZCgxMCkgeyBhbmltYXRpb24tZGVsYXk6IDQ1MG1zOyB9XG5cbi8qIEhlcm8gZW50cmFuY2UgKi9cbkBrZXlmcmFtZXMgYWgtaGVyby1pbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuLmFoLWhlcm8tYW5pbWF0ZSB7XG4gICAgYW5pbWF0aW9uOiBhaC1oZXJvLWluIC4zNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkgYmFja3dhcmRzO1xufVxuXG4vKiBTdWJ0bGUgcHVsc2UgZm9yIGxpdmUgc3RhdHVzIGRvdHMgKi9cbkBrZXlmcmFtZXMgYWgtcHVsc2UtZG90IHtcbiAgICAwJSwgMTAwJSB7IGJveC1zaGFkb3c6IDAgMCAwIDAgY3VycmVudENvbG9yOyB9XG4gICAgNTAlIHsgYm94LXNoYWRvdzogMCAwIDAgNHB4IHRyYW5zcGFyZW50OyB9XG59XG4uYWgtcHJvamVjdC1jYXJkX19kb3QtLXByb2dyZXNzIHtcbiAgICBhbmltYXRpb246IGFoLXB1bHNlLWRvdCAyLjVzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgIGNvbG9yOiAjMTBiOTgxO1xufVxuLmFoLXByb2plY3QtY2FyZF9fZG90LS13YWl0aW5nIHtcbiAgICBhbmltYXRpb246IGFoLXB1bHNlLWRvdCAyLjVzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgIGNvbG9yOiAjZjU5ZTBiO1xufVxuXG4vKiBDb2x1bW4gZW50cmFuY2UgKi9cbkBrZXlmcmFtZXMgYWgtc2xpZGUtaW4tbGVmdCB7XG4gICAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTZweCk7IH1cbiAgICB0byAgIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG59XG5Aa2V5ZnJhbWVzIGFoLXNsaWRlLWluLXJpZ2h0IHtcbiAgICBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE2cHgpOyB9XG4gICAgdG8gICB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxufVxuLmFoLWNvbC1sZWZ0IHtcbiAgICBhbmltYXRpb246IGFoLXNsaWRlLWluLWxlZnQgLjRzIGN1YmljLWJlemllciguNCwwLC4yLDEpIC4xcyBiYWNrd2FyZHM7XG59XG4uYWgtY29sLXJpZ2h0IHtcbiAgICBhbmltYXRpb246IGFoLXNsaWRlLWluLXJpZ2h0IC40cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSAuMTVzIGJhY2t3YXJkcztcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQUk9KRUNUIFNIT1cg4oCUIFN0YXR1cyBzdGVwcGVyLCBpbmZvIGdyaWQsIG5hdiBwaWxsc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFN0YXR1cyBzdGVwcGVyIOKAlCBob3Jpem9udGFsIHRpbWVsaW5lICovXG4uYWgtc3RhdHVzLXN0ZXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwO1xufVxuLmFoLXN0YXR1cy1zdGVwIHtcbiAgICBmbGV4OiAxIDEgMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qIE5vIHotaW5kZXggaGVyZSDigJQgYXZvaWRzIGlzb2xhdGVkIHN0YWNraW5nIGNvbnRleHRzIHNvIGRvdHNcbiAgICAgICAoei1pbmRleDoyKSBhbHdheXMgcGFpbnQgYWJvdmUgY29ubmVjdG9ycyAoei1pbmRleDowKSAqL1xuICAgIG1pbi13aWR0aDogMDtcbn1cbi5haC1zdGF0dXMtc3RlcF9fZG90IHtcbiAgICB3aWR0aDogMS43NXJlbTtcbiAgICBoZWlnaHQ6IDEuNzVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IC42NXJlbTtcbiAgICBjb2xvcjogI2EwYTBhODtcbiAgICBiYWNrZ3JvdW5kOiAjZjBmMGY1O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNlMGUwZTQ7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG59XG4uYWgtc3RhdHVzLXN0ZXAtLWFjdGl2ZSAuYWgtc3RhdHVzLXN0ZXBfX2RvdCB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDE2LDE4NSwxMjksLjIpO1xufVxuLmFoLXN0YXR1cy1zdGVwLS1kb25lIC5haC1zdGF0dXMtc3RlcF9fZG90IHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAjMTBiOTgxO1xuICAgIGJvcmRlci1jb2xvcjogIzEwYjk4MTtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7XG59XG4uYWgtc3RhdHVzLXN0ZXBfX2xhYmVsIHtcbiAgICBmb250LXNpemU6IC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogI2EwYTBhODtcbiAgICBtYXJnaW4tdG9wOiAuMzc1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLmFoLXN0YXR1cy1zdGVwLS1hY3RpdmUgLmFoLXN0YXR1cy1zdGVwX19sYWJlbCB7XG4gICAgY29sb3I6ICMxZTFlMWU7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi5haC1zdGF0dXMtc3RlcC0tZG9uZSAuYWgtc3RhdHVzLXN0ZXBfX2xhYmVsIHtcbiAgICBjb2xvcjogIzEwYjk4MTtcbn1cbi8qIENvbm5lY3RvciBsaW5lIGJldHdlZW4gc3RlcHMg4oCUIGNlbnRlci10by1jZW50ZXIgYmVoaW5kIGRvdHMgKi9cbi5haC1zdGF0dXMtc3RlcCArIC5haC1zdGF0dXMtc3RlcDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKC44NzVyZW0gLSAxcHgpO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGxlZnQ6IC01MCU7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZTBlMGU0O1xuICAgIHotaW5kZXg6IDA7XG59XG4uYWgtc3RhdHVzLXN0ZXAtLWRvbmUgKyAuYWgtc3RhdHVzLXN0ZXA6OmJlZm9yZSxcbi5haC1zdGF0dXMtc3RlcC0tYWN0aXZlOjpiZWZvcmUgeyBiYWNrZ3JvdW5kOiAjMTBiOTgxOyB9XG5cbi8qIFN0YXR1cyBjb2xvcnMgZm9yIGFjdGl2ZSBkb3Qg4oCUIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3ggcHJldmVudHNcbiAgIHRoZSBncmFkaWVudCBmcm9tIGJsZWVkaW5nIHRocm91Z2ggdGhlIHRyYW5zcGFyZW50IGJvcmRlciBhcmVhICovXG4uYWgtc3RhdHVzLXN0ZXAtLWRyYWZ0IC5haC1zdGF0dXMtc3RlcF9fZG90ICAgIHsgYmFja2dyb3VuZDogIzljYTNhZjsgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsgfVxuLmFoLXN0YXR1cy1zdGVwLS1wcm9ncmVzcyAuYWgtc3RhdHVzLXN0ZXBfX2RvdCB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMxMGI5ODEsICMwNTk2NjkpOyBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94OyB9XG4uYWgtc3RhdHVzLXN0ZXAtLXdhaXRpbmcgLmFoLXN0YXR1cy1zdGVwX19kb3QgIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2Y1OWUwYiwgI2Q5NzcwNik7IGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7IH1cbi5haC1zdGF0dXMtc3RlcC0tY29tcGxldGVkIC5haC1zdGF0dXMtc3RlcF9fZG90eyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjODkwMzgyLCAjYjA0MGE4KTsgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsgfVxuLmFoLXN0YXR1cy1zdGVwLS1jYW5jZWxsZWQgLmFoLXN0YXR1cy1zdGVwX19kb3R7IGJhY2tncm91bmQ6ICNFMTFENUI7IGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7IH1cblxuLyogU3RhdHVzIHBpY2tlciDigJQgY3VycmVudCBzdGF0dXMgKyBkcm9wZG93biBtZW51ICovXG4uYWgtc3RhdHVzLXBpY2tlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmFoLXN0YXR1cy1waWNrZXIgZm9ybSB7XG4gICAgbWFyZ2luOiAwO1xufVxuLmFoLXN0YXR1cy1waWNrZXJfX2N1cnJlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC41cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IC41cmVtIC43NXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4wOCk7XG4gICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBmb250LXNpemU6IC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMxZTFlMWU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMTVzIGVhc2U7XG59XG4uYWgtc3RhdHVzLXBpY2tlcl9fY3VycmVudDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4xNCk7XG4gICAgYm94LXNoYWRvdzogMCAycHggNnB4IHJnYmEoMCwwLDAsLjA2KTtcbn1cbi5haC1zdGF0dXMtcGlja2VyX19jdXJyZW50W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTM3LDMsMTMwLC4yKTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgxMzcsMywxMzAsLjA4KTtcbn1cbi5haC1zdGF0dXMtcGlja2VyX19jdXJyZW50W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIC5haC1zdGF0dXMtcGlja2VyX19jaGV2cm9uIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuLmFoLXN0YXR1cy1waWNrZXJfX2NoZXZyb24ge1xuICAgIGZvbnQtc2l6ZTogLjYyNXJlbTtcbiAgICBjb2xvcjogI2EwYTBhODtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzIGVhc2U7XG59XG4uYWgtc3RhdHVzLXBpY2tlcl9fZG90IHtcbiAgICB3aWR0aDogLjVyZW07XG4gICAgaGVpZ2h0OiAuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZG90LWNvbG9yKTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWRvdC1jb2xvcikgMjAlLCB0cmFuc3BhcmVudCk7XG59XG4uYWgtc3RhdHVzLXBpY2tlcl9fbGFiZWwge1xuICAgIGZsZXg6IDE7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi8qIERyb3Bkb3duIG1lbnUgKi9cbi5haC1zdGF0dXMtcGlja2VyX19tZW51IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogMTA1MDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA2KTtcbiAgICBib3JkZXItcmFkaXVzOiAuNzVyZW07XG4gICAgYm94LXNoYWRvdzogMCA4cHggMjRweCByZ2JhKDAsMCwwLC4xKSwgMCAycHggOHB4IHJnYmEoMCwwLDAsLjA0KTtcbiAgICBwYWRkaW5nOiAuMjVyZW07XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMTVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO1xufVxuLmFoLXN0YXR1cy1waWNrZXJfX21lbnUuaXMtb3BlbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cbi5haC1zdGF0dXMtcGlja2VyX19pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuNXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAuNDM3NXJlbSAuNzVyZW07XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IC4zNzVyZW07XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgZm9udC1zaXplOiAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjNTU1O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjEycyBlYXNlO1xufVxuLmFoLXN0YXR1cy1waWNrZXJfX2l0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmOGY4ZmE7XG4gICAgY29sb3I6ICMxZTFlMWU7XG59XG4uYWgtc3RhdHVzLXBpY2tlcl9faXRlbSAuYWgtc3RhdHVzLXBpY2tlcl9fZG90IHtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuLmFoLXN0YXR1cy1waWNrZXJfX2l0ZW0tLWRhbmdlciB7XG4gICAgY29sb3I6ICNhMGEwYTg7XG59XG4uYWgtc3RhdHVzLXBpY2tlcl9faXRlbS0tZGFuZ2VyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIyNSwyOSw5MSwuMDQpO1xuICAgIGNvbG9yOiAjRTExRDVCO1xufVxuXG4vKiBTdGF0dXMgcmFkaW8g4oCUIGVkaXQgcGFnZSBzdGF0dXMgc2VsZWN0b3IgKi9cbi5haC1zdGF0dXMtcmFkaW8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC42MjVyZW07XG4gICAgcGFkZGluZzogLjYyNXJlbSAuNzVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMDYpO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMTVzIGVhc2U7XG59XG4uYWgtc3RhdHVzLXJhZGlvIC5mb3JtLWNoZWNrIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5haC1zdGF0dXMtcmFkaW86aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLDAsMCwuMTIpO1xuICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7XG59XG4uYWgtc3RhdHVzLXJhZGlvLS1hY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXN0YXR1cy1jb2xvcikgMzAlLCB0cmFuc3BhcmVudCk7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXN0YXR1cy1jb2xvcikgNCUsIHRyYW5zcGFyZW50KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXN0YXR1cy1jb2xvcikgOCUsIHRyYW5zcGFyZW50KTtcbn1cbi5haC1zdGF0dXMtcmFkaW9fX2RvdCB7XG4gICAgd2lkdGg6IC41cmVtO1xuICAgIGhlaWdodDogLjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXN0YXR1cy1jb2xvcik7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAuMTVzIGVhc2U7XG59XG4uYWgtc3RhdHVzLXJhZGlvLS1hY3RpdmUgLmFoLXN0YXR1cy1yYWRpb19fZG90IHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXN0YXR1cy1jb2xvcikgMjAlLCB0cmFuc3BhcmVudCk7XG59XG4uYWgtc3RhdHVzLXJhZGlvX19sYWJlbCB7XG4gICAgZm9udC1zaXplOiAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjNGE0YTRhO1xufVxuLmFoLXN0YXR1cy1yYWRpby0tYWN0aXZlIC5haC1zdGF0dXMtcmFkaW9fX2xhYmVsIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMWUxZTFlO1xufVxuXG4vKiBJbmZvIGdyaWQg4oCUIGtleS12YWx1ZSBwYWlycyAqL1xuLmFoLWluZm8tZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxODBweCwgMWZyKSk7XG4gICAgZ2FwOiAxcmVtO1xufVxuLmFoLWluZm8taXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogLjI1cmVtO1xufVxuLmFoLWluZm8taXRlbV9fbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogLjY4NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDRlbTtcbiAgICBjb2xvcjogI2EwYTBhODtcbn1cbi5haC1pbmZvLWl0ZW1fX3ZhbHVlIHtcbiAgICBmb250LXNpemU6IC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzFlMWUxZTtcbn1cblxuLyogTmF2IHBpbGxzIGZvciBwcm9qZWN0IHNlY3Rpb25zICovXG4uYWgtbmF2LXBpbGxzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogLjI1cmVtO1xuICAgIHBhZGRpbmc6IC4yNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZjZmN2ZiO1xuICAgIGJvcmRlci1yYWRpdXM6IC43NXJlbTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xufVxuLmFoLW5hdi1waWxsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjM3NXJlbTtcbiAgICBwYWRkaW5nOiAuNXJlbSAxcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IC41cmVtO1xuICAgIGZvbnQtc2l6ZTogLjgxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzcxNzE3MTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5haC1uYXYtcGlsbDpob3ZlciB7XG4gICAgY29sb3I6ICMxZTFlMWU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuNyk7XG59XG4uYWgtbmF2LXBpbGwuYWN0aXZlIHtcbiAgICBjb2xvcjogIzg5MDM4MjtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsMCwwLC4wNik7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi5haC1uYXYtcGlsbF9fYmFkZ2Uge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LDMsMTMwLC4xKTtcbiAgICBjb2xvcjogIzg5MDM4MjtcbiAgICBmb250LXNpemU6IC42ODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcGFkZGluZzogLjFyZW0gLjRyZW07XG4gICAgYm9yZGVyLXJhZGl1czogLjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4vKiBDb250YWN0IGNhcmQgaW5saW5lICovXG4uYWgtY29udGFjdC1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC43NXJlbTtcbiAgICBwYWRkaW5nOiAuNzVyZW0gMXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAuNzVyZW07XG4gICAgYmFja2dyb3VuZDogI2ZhZjhmYjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEzNywzLDEzMCwuMDYpO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZTtcbn1cbi5haC1jb250YWN0LWlubGluZTpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDEzNywzLDEzMCwuMTIpO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDEzNywzLDEzMCwuMDYpO1xufVxuLmFoLWNvbnRhY3QtaW5saW5lX19hdmF0YXIge1xuICAgIHdpZHRoOiAyLjVyZW07XG4gICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogLjYyNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IC43NXJlbTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1haC1ncmFkaWVudCk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG4uYWgtY29udGFjdC1pbmxpbmVfX2luZm8ge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuLmFoLWNvbnRhY3QtaW5saW5lX19uYW1lIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogLjgxMjVyZW07XG4gICAgY29sb3I6ICMxZTFlMWU7XG59XG4uYWgtY29udGFjdC1pbmxpbmVfX2RldGFpbCB7XG4gICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgY29sb3I6ICNhMGEwYTg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4vKiBQaG90byBncmlkIGZvciBwcm9qZWN0ICovXG4uYWgtcGhvdG8tZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyMDBweCwgMWZyKSk7XG4gICAgZ2FwOiAuNzVyZW07XG59XG4uYWgtcGhvdG8tY2FyZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6IC43NXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGFzcGVjdC1yYXRpbzogNC8zO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4wNik7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4yNXMgZWFzZTtcbn1cbi5haC1waG90by1jYXJkOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEoMCwwLDAsLjEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbn1cbi5haC1waG90by1jYXJkIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgZWFzZTtcbn1cbi5haC1waG90by1jYXJkOmhvdmVyIGltZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbn1cbi5haC1waG90by1jYXJkX19vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLDAsMCwuNSkgMCUsIHRyYW5zcGFyZW50IDUwJSk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMgZWFzZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBwYWRkaW5nOiAuNzVyZW07XG59XG4uYWgtcGhvdG8tY2FyZDpob3ZlciAuYWgtcGhvdG8tY2FyZF9fb3ZlcmxheSB7XG4gICAgb3BhY2l0eTogMTtcbn1cbi5haC1waG90by1jYXJkX19uYW1lIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLDAsMCwuMyk7XG59XG4uYWgtcGhvdG8tY2FyZF9fc2hhcmVkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAuNXJlbTtcbiAgICBsZWZ0OiAuNXJlbTtcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IC40cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAjMTZhMzRhO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogLjdyZW07XG4gICAgei1pbmRleDogMjtcbiAgICBib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSgwLDAsMCwuMik7XG59XG5cbi8qIFF1aWNrIGFjdGlvbiBidXR0b24gc3R5bGUgKi9cbi5haC1hY3Rpb24tYnRuIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuNzVyZW07XG4gICAgcGFkZGluZzogLjc1cmVtIDFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogLjc1cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA2KTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGNvbG9yOiAjMWUxZTFlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZTtcbiAgICB3aWR0aDogMTAwJTtcbn1cbi5haC1hY3Rpb24tYnRuOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTM3LDMsMTMwLC4xNSk7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMTM3LDMsMTMwLC4wNik7XG4gICAgY29sb3I6ICM4OTAzODI7XG59XG4uYWgtYWN0aW9uLWJ0bl9faWNvbiB7XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IC41cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IC44NzVyZW07XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG4uYWgtYWN0aW9uLWJ0bjpkaXNhYmxlZCxcbi5haC1hY3Rpb24tYnRuW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogLjQ1O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmFoLWFjdGlvbi1idG4tLXNtIHtcbiAgICBwYWRkaW5nOiAuNXJlbSAuNzVyZW07XG4gICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgZ2FwOiAuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAuNXJlbTtcbn1cbi5haC1hY3Rpb24tYnRuLS1zbSAuYWgtYWN0aW9uLWJ0bl9faWNvbiB7XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICBmb250LXNpemU6IC43cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IC4zNzVyZW07XG59XG5cbi8qIENvbnRhY3QgZW50cnkg4oCUIHN0YWNrZWQgbGF5b3V0OiBjb250YWN0LWlubGluZSArIGFjdGlvbiBidXR0b25zICovXG4uYWgtY29udGFjdC1lbnRyeSB7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAuNzVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMDQpO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC4xNXMgZWFzZSwgYm94LXNoYWRvdyAuMTVzIGVhc2U7XG59XG4uYWgtY29udGFjdC1lbnRyeTpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDEzNywzLDEzMCwuMDgpO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDEzNywzLDEzMCwuMDQpO1xufVxuLmFoLWNvbnRhY3QtZW50cnkgLmFoLWNvbnRhY3QtaW5saW5lIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5haC1jb250YWN0LWVudHJ5IC5haC1jb250YWN0LWlubGluZTpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4vKiBNb2JpbGUgcmVzcG9uc2l2ZSDigJQgYWN0aW9uIGJ1dHRvbnMgKyBjb250YWN0IGVudHJpZXMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xuICAgIC5haC1hY3Rpb24tYnRuIHtcbiAgICAgICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgICAgIHBhZGRpbmc6IC41cmVtIC43NXJlbTtcbiAgICAgICAgZ2FwOiAuNXJlbTtcbiAgICB9XG4gICAgLmFoLWFjdGlvbi1idG5fX2ljb24ge1xuICAgICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAuN3JlbTtcbiAgICB9XG4gICAgLmFoLWNvbnRhY3QtZW50cnkge1xuICAgICAgICBwYWRkaW5nOiAuNzVyZW07XG4gICAgfVxufVxuXG4vKiBEZXNjcmlwdGlvbiBibG9jayAqL1xuLmFoLWRlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nOiAxcmVtIDEuMjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogLjc1cmVtO1xuICAgIGJhY2tncm91bmQ6ICNmYWY4ZmI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMzcsMywxMzAsLjA0KTtcbiAgICBmb250LXNpemU6IC44NzVyZW07XG4gICAgY29sb3I6ICMzYTNhM2E7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cbi5haC1kZXNjcmlwdGlvbjplbXB0eTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnQXVjdW5lIGRlc2NyaXB0aW9uJztcbiAgICBjb2xvcjogI2EwYTBhODtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qIEFkZHJlc3MgYmxvY2sgKi9cbi5haC1hZGRyZXNzLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogLjc1cmVtO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogLjc1cmVtO1xuICAgIGJhY2tncm91bmQ6ICNmYWY4ZmI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMzcsMywxMzAsLjA0KTtcbn1cbi5haC1hZGRyZXNzLWJsb2NrX19pY29uIHtcbiAgICB3aWR0aDogMi4yNXJlbTtcbiAgICBoZWlnaHQ6IDIuMjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTQsMTY1LDIzMywuMDgpO1xuICAgIGNvbG9yOiAjMGVhNWU5O1xuICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cbi5haC1hZGRyZXNzLWJsb2NrIGFkZHJlc3Mge1xuICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgY29sb3I6ICMxZTFlMWU7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qIENhZGFzdHJhbCBiYWRnZXMgKi9cbi5haC1jYWRhc3RyYWwtcmVmIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjVyZW07XG4gICAgcGFkZGluZzogLjVyZW0gMXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAuNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE0LDE2NSwyMzMsLjA2KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE0LDE2NSwyMzMsLjEyKTtcbiAgICBjb2xvcjogIzAzNjlhMTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xufVxuLmFoLWNhZGFzdHJhbC10YWcge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuMzc1cmVtO1xuICAgIHBhZGRpbmc6IC4zNzVyZW0gLjc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IC41cmVtO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTQsMTY1LDIzMywuMDQpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTQsMTY1LDIzMywuMSk7XG4gICAgZm9udC1zaXplOiAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjMGM0YTZlO1xufVxuLmFoLWNhZGFzdHJhbC10YWdfX2xhYmVsIHtcbiAgICBmb250LXNpemU6IC42ODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogLjA0ZW07XG4gICAgY29sb3I6ICMwZWE1ZTk7XG59XG4uYWgtY2FkYXN0cmFsLXRhZ19fdmFsdWUge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQSE9UT1MgTU9EQUwg4oCUIE1vZGVybiB1cGxvYWQgJiBnYWxsZXJ5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5haC1waG90b3MtbW9kYWwge1xuICAgIGJvcmRlci1yYWRpdXM6IDEuMjVyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMCAyNXB4IDYwcHggcmdiYSgwLDAsMCwuMTUpLCAwIDhweCAyMHB4IHJnYmEoMCwwLDAsLjA4KTtcbn1cbi5haC1waG90b3MtbW9kYWxfX2hlYWRlciB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMDYpO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xufVxuLmFoLXBob3Rvcy1tb2RhbF9faGVhZGVyIC5tb2RhbC10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiRE0gU2Fuc1wiLCBzeXN0ZW0tdWksIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6ICMxZTFlMWU7XG4gICAgbWFyZ2luOiAwO1xufVxuLmFoLXBob3Rvcy1tb2RhbF9faWNvbiB7XG4gICAgd2lkdGg6IDIuNXJlbTtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAuNzVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjb2xvcjogIzBlYTVlOTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE0LDE2NSwyMzMsLjA4KTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cbi5haC1waG90b3MtbW9kYWxfX2NvdW50IHtcbiAgICBmb250LXNpemU6IC43NXJlbTtcbiAgICBjb2xvcjogI2EwYTBhODtcbiAgICBtYXJnaW4tdG9wOiAuMTI1cmVtO1xufVxuLmFoLXBob3Rvcy1tb2RhbF9fYm9keSB7XG4gICAgcGFkZGluZzogMS41cmVtO1xuICAgIGJhY2tncm91bmQ6ICNmOGY5ZmI7XG59XG4uYWgtcGhvdG9zLW1vZGFsX19mb290ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA2KTtcbiAgICBwYWRkaW5nOiAuNzVyZW0gMS41cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4uYWgtcGhvdG9zLW1vZGFsX19mb290ZXItaW5mbyB7XG4gICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgY29sb3I6ICNhMGEwYTg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjM3NXJlbTtcbn1cblxuLyogRHJvcHpvbmUgKi9cbi5haC1waG90b3MtZHJvcHpvbmUge1xuICAgIGJvcmRlcjogMnB4IGRhc2hlZCByZ2JhKDEzNywzLDEzMCwuMTUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuNyk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cbi5haC1waG90b3MtZHJvcHpvbmU6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxMzcsMywxMzAsLjMpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LDMsMTMwLC4wMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgxMzcsMywxMzAsLjA2KTtcbn1cbi5haC1waG90b3MtZHJvcHpvbmUuZHJhZy1hY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogIzg5MDM4MjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNywzLDEzMCwuMDQpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoMTM3LDMsMTMwLC4wOCk7XG59XG4uYWgtcGhvdG9zLWRyb3B6b25lX19pbm5lciB7XG4gICAgcGFkZGluZzogMnJlbSAxLjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuNzVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmFoLXBob3Rvcy1kcm9wem9uZV9faWNvbiB7XG4gICAgd2lkdGg6IDMuNXJlbTtcbiAgICBoZWlnaHQ6IDMuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBjb2xvcjogIzg5MDM4MjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNywzLDEzMCwuMDYpO1xufVxuLmFoLXBob3Rvcy1kcm9wem9uZV9fdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkRNIFNhbnNcIiwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAuODc1cmVtO1xuICAgIGNvbG9yOiAjMWUxZTFlO1xufVxuLmFoLXBob3Rvcy1kcm9wem9uZV9fc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogLjgxMjVyZW07XG4gICAgY29sb3I6ICNhMGEwYTg7XG59XG4uYWgtcGhvdG9zLWRyb3B6b25lX19mb3JtYXRzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuMzc1cmVtO1xuICAgIG1hcmdpbi10b3A6IC4yNXJlbTtcbn1cbi5haC1waG90b3MtZHJvcHpvbmVfX2xpbWl0IHtcbiAgICBmb250LXNpemU6IC42ODc1cmVtO1xuICAgIGNvbG9yOiAjYTBhMGE4O1xuICAgIG1hcmdpbi1sZWZ0OiAuMjVyZW07XG59XG5cbi8qIEdhbGxlcnkgZ3JpZCAqL1xuLmFoLXBob3Rvcy1nYWxsZXJ5IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDE4MHB4LCAxZnIpKTtcbiAgICBnYXA6IC43NXJlbTtcbn1cbi5haC1waG90b3MtZ2FsbGVyeV9faXRlbSB7XG4gICAgLyogd3JhcHBlciBmb3IgSlMgcmVtb3ZhbCAqL1xufVxuLmFoLXBob3Rvcy1nYWxsZXJ5X19jYXJkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXJhZGl1czogLjc1cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYXNwZWN0LXJhdGlvOiA0LzM7XG4gICAgYmFja2dyb3VuZDogI2U4ZThlYztcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4wNik7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7XG59XG4uYWgtcGhvdG9zLWdhbGxlcnlfX2NhcmQ6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgwLDAsMCwuMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xufVxuLmFoLXBob3Rvcy1nYWxsZXJ5X19jYXJkIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2U7XG59XG4uYWgtcGhvdG9zLWdhbGxlcnlfX2NhcmQ6aG92ZXIgaW1nIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xufVxuLyogT3ZlcmxheSDigJQgdmlzaWJsZSBvbiBob3ZlciAqL1xuLmFoLXBob3Rvcy1nYWxsZXJ5X19vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgcGFkZGluZzogLjYyNXJlbSAuNzVyZW07XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLDAsMCwuNikgMCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMjVzIGVhc2U7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uYWgtcGhvdG9zLWdhbGxlcnlfX2NhcmQ6aG92ZXIgLmFoLXBob3Rvcy1nYWxsZXJ5X19vdmVybGF5IHtcbiAgICBvcGFjaXR5OiAxO1xufVxuLmFoLXBob3Rvcy1nYWxsZXJ5X19uYW1lIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IC42ODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuLmFoLXBob3Rvcy1nYWxsZXJ5X19tZXRhIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNyk7XG4gICAgZm9udC1zaXplOiAuNjI1cmVtO1xuICAgIG1hcmdpbi10b3A6IC4xMjVyZW07XG59XG4vKiBEZWxldGUgYnV0dG9uICovXG4uYWgtcGhvdG9zLWdhbGxlcnlfX2RlbGV0ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLjVyZW07XG4gICAgcmlnaHQ6IC41cmVtO1xuICAgIHdpZHRoOiAxLjc1cmVtO1xuICAgIGhlaWdodDogMS43NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAuNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuNSk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDRweCk7XG4gICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlO1xufVxuLmFoLXBob3Rvcy1nYWxsZXJ5X19jYXJkOmhvdmVyIC5haC1waG90b3MtZ2FsbGVyeV9fZGVsZXRlIHtcbiAgICBvcGFjaXR5OiAxO1xufVxuLmFoLXBob3Rvcy1nYWxsZXJ5X19kZWxldGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNFMTFENUI7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuXG4vKiBWaXNpYmlsaXR5IHRvZ2dsZSAoY2xpZW50KSDigJQgYWx3YXlzIHZpc2libGUgc28gaXQncyBkaXNjb3ZlcmFibGUgKGluY2wuIHRvdWNoKSAqL1xuLmFoLXBob3Rvcy1nYWxsZXJ5X192aXNpYmlsaXR5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAuNXJlbTtcbiAgICBsZWZ0OiAuNXJlbTtcbiAgICB6LWluZGV4OiAzO1xuICAgIGhlaWdodDogMS43NXJlbTtcbiAgICBwYWRkaW5nOiAwIC41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IC41cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuMjVyZW07XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuNTUpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig0cHgpO1xuICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDRweCk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogLjdyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3BhY2l0eTogLjkyO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZTtcbn1cbi5haC1waG90b3MtZ2FsbGVyeV9fdmlzaWJpbGl0eSAuYWgtcGhvdG9zLWdhbGxlcnlfX3Zpc2liaWxpdHktbGFiZWwge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uYWgtcGhvdG9zLWdhbGxlcnlfX2NhcmQ6aG92ZXIgLmFoLXBob3Rvcy1nYWxsZXJ5X192aXNpYmlsaXR5IHtcbiAgICBvcGFjaXR5OiAxO1xufVxuLmFoLXBob3Rvcy1nYWxsZXJ5X192aXNpYmlsaXR5OmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xufVxuLyogU3RheXMgdmlzaWJsZSAoYW5kIGdyZWVuKSB3aGVuIHRoZSBwaG90byBpcyBzaGFyZWQgd2l0aCB0aGUgY2xpZW50ICovXG4uYWgtcGhvdG9zLWdhbGxlcnlfX3Zpc2liaWxpdHkuaXMtdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBiYWNrZ3JvdW5kOiAjMTZhMzRhO1xufVxuLmFoLXBob3Rvcy1nYWxsZXJ5X192aXNpYmlsaXR5LmlzLXZpc2libGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICMxNTgwM2Q7XG59XG4uYWgtcGhvdG9zLWdhbGxlcnlfX3Zpc2liaWxpdHk6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IC42O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyogRW1wdHkgc3RhdGUgKi9cbi5haC1waG90b3MtZW1wdHkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAzcmVtIDFyZW07XG59XG4uYWgtcGhvdG9zLWVtcHR5X19pY29uIHtcbiAgICB3aWR0aDogMy41cmVtO1xuICAgIGhlaWdodDogMy41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBjb2xvcjogI2EwYTBhODtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC4wNCk7XG4gICAgbWFyZ2luLWJvdHRvbTogLjc1cmVtO1xufVxuLmFoLXBob3Rvcy1lbXB0eV9fdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkRNIFNhbnNcIiwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAuODc1cmVtO1xuICAgIGNvbG9yOiAjNzE3MTcxO1xufVxuLmFoLXBob3Rvcy1lbXB0eV9fdGV4dCB7XG4gICAgZm9udC1zaXplOiAuODEyNXJlbTtcbiAgICBjb2xvcjogI2EwYTBhODtcbiAgICBtYXJnaW4tdG9wOiAuMjVyZW07XG59XG5cbi8qIFVwbG9hZCBwcmV2aWV3IGNhcmQgKEpTLWdlbmVyYXRlZCkgKi9cbi5haC1waG90b3MtZ2FsbGVyeV9fY2FyZC0tdXBsb2FkaW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYWgtcGhvdG9zLWdhbGxlcnlfX2NhcmQtLXVwbG9hZGluZzo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC40KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMnB4KTtcbiAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigycHgpO1xufVxuLmFoLXBob3Rvcy1nYWxsZXJ5X19wcm9ncmVzcyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogM3B4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsLjEpO1xuICAgIHotaW5kZXg6IDI7XG59XG4uYWgtcGhvdG9zLWdhbGxlcnlfX3Byb2dyZXNzLWJhciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzg5MDM4MiwgI0UxMUQ1Qik7XG4gICAgYm9yZGVyLXJhZGl1czogMCAycHggMnB4IDA7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggLjNzIGVhc2U7XG59XG4uYWgtcGhvdG9zLWdhbGxlcnlfX3NwaW5uZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgei1pbmRleDogMjtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgxMzcsMywxMzAsLjE1KTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjODkwMzgyO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBhbmltYXRpb246IGFoLXNwaW4gLjZzIGxpbmVhciBpbmZpbml0ZTtcbn1cbkBrZXlmcmFtZXMgYWgtc3BpbiB7XG4gICAgdG8geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoMzYwZGVnKTsgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFSVElDTEUgQ0FURUdPUlkgVFJFRSDigJQgU3RhciBkZWZhdWx0ICsgZXhwYW5kL2NvbGxhcHNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5haC1kZWZhdWx0LWNhdC1zdGFyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNkMGQwZDA7XG4gICAgZm9udC1zaXplOiAuODc1cmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAuMjVyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIC4xNXMgZWFzZTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cbi5haC1kZWZhdWx0LWNhdC1zdGFyOmhvdmVyIHtcbiAgICBjb2xvcjogI2Y1OWUwYjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0NSwxNTgsMTEsLjA2KTtcbn1cbi5haC1kZWZhdWx0LWNhdC1zdGFyLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmNTllMGI7XG59XG4uYWgtZGVmYXVsdC1jYXQtc3Rhci5hY3RpdmUgLmJpLXN0YXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4uYWgtZGVmYXVsdC1jYXQtc3RhciAuYmktc3Rhci1maWxsIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLmFoLWRlZmF1bHQtY2F0LXN0YXIuYWN0aXZlIC5iaS1zdGFyLWZpbGwge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbn1cbi8qIENhdGVnb3J5IHRyZWUgY2hldnJvbiB0b2dnbGUgKi9cbi5haC1jYXQtdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2EwYTBhODtcbiAgICBmb250LXNpemU6IC42MjVyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IC4yNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjE1cyBlYXNlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuLmFoLWNhdC10b2dnbGU6aG92ZXIge1xuICAgIGNvbG9yOiAjODkwMzgyO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LDMsMTMwLC4wNik7XG59XG4vKiBDYXRlZ29yeSB0cmVlIGluZGVudGVkIGNoaWxkcmVuICovXG4uYWgtY2F0LWNoaWxkcmVuIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbn1cbi8qIENhdGVnb3J5IGl0ZW0gcm93ICovXG4uYWgtY2F0LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC4zNzVyZW07XG4gICAgcGFkZGluZzogLjI1cmVtIDA7XG59XG4uYWgtY2F0LWl0ZW0gbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogLjgxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzFlMWUxZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERBU0hCT0FSRCBLUEkg4oCUIFN0YXQgY2FyZHMsIGNoYXJ0cywgcGlwZWxpbmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmRhc2gtc3RhdC1jYXJkIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtcbn1cbi5kYXNoLXN0YXQtY2FyZDpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgwLDAsMCwuMDYpICFpbXBvcnRhbnQ7XG59XG4uZGFzaC1zdGF0LWljb24ge1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIGhlaWdodDogNDhweDtcbiAgICBib3JkZXItcmFkaXVzOiAuNzVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cbi5kYXNoLXN0YXQtdmFsdWUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkRNIFNhbnNcIiwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xufVxuLmRhc2gtc3RhdC1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAuODEyNXJlbTtcbn1cblxuLyogTWluaSBpY29uIGZvciBzaWRlYmFyIGNvdW50ZXJzICovXG4uZGFzaC1taW5pLWljb24ge1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAuNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAuODc1cmVtO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4vKiBQaXBlbGluZSBiYXJzIGZvciBxdW90ZXMgKi9cbi5kYXNoLXBpcGVsaW5lLWJhciB7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsLjA0KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmRhc2gtcGlwZWxpbmUtYmFyX19maWxsIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIHRyYW5zaXRpb246IHdpZHRoIC40cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtcbn1cblxuLyogT3ZlcmR1ZSBpbnZvaWNlIHN0eWxpbmcgKi9cbi5kYXNoLW92ZXJkdWUtY2FyZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjZGMzNTQ1ICFpbXBvcnRhbnQ7XG59XG4uZGFzaC1vdmVyZHVlLXJvdyB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMjAsNTMsNjksLjAyKTtcbn1cbi5kYXNoLW92ZXJkdWUtcm93OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIyMCw1Myw2OSwuMDUpICFpbXBvcnRhbnQ7XG59XG5cbi8qIFF1aWNrIGFjdGlvbnMgYmFyICovXG4uZGFzaC1xdWljay1hY3Rpb25zIC5idG4ge1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAuODEyNXJlbTtcbiAgICBwYWRkaW5nOiAuNHJlbSAuODc1cmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZTtcbn1cbi5kYXNoLXF1aWNrLWFjdGlvbnMgLmJ0bjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsMCwwLC4wOCk7XG59XG5cbi8qIFJlc3BvbnNpdmUgc3RhdCB2YWx1ZSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XG4gICAgLmRhc2gtc3RhdC12YWx1ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgfVxuICAgIC5kYXNoLXN0YXQtaWNvbiB7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG4gICAgLmRhc2gtcXVpY2stYWN0aW9ucyAuYnRuIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuZGFzaC1xdWljay1hY3Rpb25zIC5idG4ge1xuICAgICAgICBwYWRkaW5nOiAuNHJlbSAuNnJlbTtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQVJUSUNMRSBQSE9UT1Mg4oCUIFRodW1ibmFpbCBpbiB0YWJsZSArIG1haW4gcGhvdG8gYmFkZ2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBUaHVtYm5haWwgaW4gYXJ0aWNsZXMgdGFibGUgKi9cbi5haC1hcnRpY2xlLXRodW1iIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4xNXMgZWFzZTtcbn1cbmE6aG92ZXIgLmFoLWFydGljbGUtdGh1bWIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wOCk7XG59XG4uYWgtYXJ0aWNsZS10aHVtYi0tcGxhY2Vob2xkZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsLjA0KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY29sb3I6ICNhMGEwYTg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4vKiBQaG90byBjYXJkIG1haW4gc3RhdGUgKi9cbi5haC1hcnRpY2xlLXBob3RvLS1tYWluIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggIzg5MDM4MjtcbiAgICBib3JkZXItcmFkaXVzOiAuNzVyZW07XG59XG5cbi8qIFN0YXIgYnV0dG9uIOKAlCBzZXQgYXMgbWFpbiAqL1xuLmFoLWFydGljbGUtcGhvdG8tc3RhciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLjVyZW07XG4gICAgbGVmdDogLjVyZW07XG4gICAgd2lkdGg6IDI4cHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuNSk7XG4gICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjYpO1xuICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjE1cyBlYXNlO1xuICAgIHotaW5kZXg6IDI7XG59XG4uYWgtcGhvdG9zLWdhbGxlcnlfX2NhcmQ6aG92ZXIgLmFoLWFydGljbGUtcGhvdG8tc3RhciB7XG4gICAgb3BhY2l0eTogMTtcbn1cbi5haC1hcnRpY2xlLXBob3RvLXN0YXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LDMsMTMwLC44NSk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuLmFoLWFydGljbGUtcGhvdG8tc3Rhci0tYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogIzg5MDM4MjtcbiAgICBjb2xvcjogI2ZiYmYyNDtcbn1cbi5haC1hcnRpY2xlLXBob3RvLXN0YXItLWFjdGl2ZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzg5MDM4MjtcbiAgICBjb2xvcjogI2ZiYmYyNDtcbn1cbiIsIi8vIOKUgOKUgCBEYXNoYm9hcmQgR3JpZFN0YWNrIGN1c3RvbWl6YXRpb24g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi8vIEltcG9ydCBHcmlkU3RhY2sgY29yZSBDU1NcbkBpbXBvcnQgXCJ+Z3JpZHN0YWNrL2Rpc3QvZ3JpZHN0YWNrLm1pbi5jc3NcIjtcblxuLy8gQ29udGFpbmVyXG4uZ3JpZC1zdGFjayB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi8vIEVhY2ggd2lkZ2V0IHRha2VzIGZ1bGwgaGVpZ2h0IGFuZCBkaXNwbGF5cyBpdHMgY29udGVudCBjbGVhbmx5XG4uZ3JpZC1zdGFjayA+IC5ncmlkLXN0YWNrLWl0ZW0gPiAuZ3JpZC1zdGFjay1pdGVtLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJvcmRlci1yYWRpdXM6IC43NXJlbTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IC4ycyBlYXNlLCB0cmFuc2Zvcm0gLjJzIGVhc2U7XG5cbiAgICA+IC5jYXJkLFxuICAgID4gLnJvdyB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICB9XG5cbiAgICA+IC5kYXNoLXF1aWNrLWFjdGlvbnMge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG59XG5cbi8vIENhcmQgaW5zaWRlIGdyaWQtc3RhY2staXRlbVxuLmdyaWQtc3RhY2staXRlbS1jb250ZW50IC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogLjc1cmVtO1xufVxuXG4uZ3JpZC1zdGFjay1pdGVtLWNvbnRlbnQgLmNhcmQtYm9keS5vdmVyZmxvdy1hdXRvIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xufVxuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIEVESVQgTU9ERVxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4uZGFzaC1ncmlkLS1lZGl0aW5nIHtcblxuICAgIC8vIFN1YnRsZSBhbmltYXRlZCBiYWNrZ3JvdW5kIHB1bHNlXG4gICAgYmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudChcbiAgICAgICAgNDVkZWcsXG4gICAgICAgIHRyYW5zcGFyZW50LFxuICAgICAgICB0cmFuc3BhcmVudCAxMnB4LFxuICAgICAgICByZ2JhKDEzNywgMywgMTMwLCAuMDI1KSAxMnB4LFxuICAgICAgICByZ2JhKDEzNywgMywgMTMwLCAuMDI1KSAyNHB4XG4gICAgKTtcbiAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgIHBhZGRpbmc6IC41cmVtO1xuICAgIG1hcmdpbjogLS41cmVtO1xuXG4gICAgLmdyaWQtc3RhY2staXRlbSB7XG4gICAgICAgIGN1cnNvcjogZ3JhYjtcblxuICAgICAgICAmOmFjdGl2ZSB7IGN1cnNvcjogZ3JhYmJpbmc7IH1cblxuICAgICAgICAuZ3JpZC1zdGFjay1pdGVtLWNvbnRlbnQge1xuICAgICAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAgICAgICAwIDAgMCAycHggcmdiYSgxMzcsIDMsIDEzMCwgLjM1KSxcbiAgICAgICAgICAgICAgICAwIDRweCAxMnB4IHJnYmEoMTM3LCAzLCAxMzAsIC4xMik7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAuNzVyZW07XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IC4ycyBlYXNlLCB0cmFuc2Zvcm0gLjE1cyBlYXNlO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OlxuICAgICAgICAgICAgICAgICAgICAwIDAgMCAycHggIzg5MDM4MixcbiAgICAgICAgICAgICAgICAgICAgMCA4cHggMjRweCByZ2JhKDEzNywgMywgMTMwLCAuMjUpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERyYWcgZ3JpcCBhdCB0b3AtbGVmdCBjb3JuZXJcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgICBsZWZ0OiA4cHg7XG4gICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4OTAzODI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzE0JyBoZWlnaHQ9JzE0JyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J3doaXRlJyUzRSUzQ2NpcmNsZSBjeD0nNCcgY3k9JzMnIHI9JzEuMicvJTNFJTNDY2lyY2xlIGN4PSc4JyBjeT0nMycgcj0nMS4yJy8lM0UlM0NjaXJjbGUgY3g9JzEyJyBjeT0nMycgcj0nMS4yJy8lM0UlM0NjaXJjbGUgY3g9JzQnIGN5PSc4JyByPScxLjInLyUzRSUzQ2NpcmNsZSBjeD0nOCcgY3k9JzgnIHI9JzEuMicvJTNFJTNDY2lyY2xlIGN4PScxMicgY3k9JzgnIHI9JzEuMicvJTNFJTNDY2lyY2xlIGN4PSc0JyBjeT0nMTMnIHI9JzEuMicvJTNFJTNDY2lyY2xlIGN4PSc4JyBjeT0nMTMnIHI9JzEuMicvJTNFJTNDY2lyY2xlIGN4PScxMicgY3k9JzEzJyByPScxLjInLyUzRSUzQy9zdmclM0VcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC43KTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2UsIHRyYW5zZm9ybSAuMnMgZWFzZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDEzNywgMywgMTMwLCAuNCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gREVMRVRFIFdJREdFVCBCVVRUT04gKHRvcC1yaWdodCBjb3JuZXIsIGVkaXQgbW9kZSBvbmx5KVxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4uZGFzaC13aWRnZXQtcmVtb3ZlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtOHB4O1xuICAgIHJpZ2h0OiAtOHB4O1xuICAgIHdpZHRoOiAyNnB4O1xuICAgIGhlaWdodDogMjZweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAjZGMzNTQ1O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgei1pbmRleDogMjA7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMjIwLCA1MywgNjksIC40KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjUpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2UsIHRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4zNCwgMS41NiwgLjY0LCAxKSwgYmFja2dyb3VuZCAuMTVzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNiMDJhMzc7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICB9XG59XG5cbi5kYXNoLWdyaWQtLWVkaXRpbmcgLmdyaWQtc3RhY2staXRlbTpob3ZlciAuZGFzaC13aWRnZXQtcmVtb3ZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG5cbi8vIEhpZGRlbiBwb29sIOKAlCBjb21wbGV0ZWx5IG91dCBvZiB2aWV3XG4uZGFzaC13aWRnZXQtcG9vbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vLyBBZGQgd2lkZ2V0IGRyb3Bkb3duIHN0eWxpbmdcbltkYXRhLWRhc2hib2FyZC1ncmlkLXRhcmdldD1cImFkZE1lbnVcIl0ge1xuICAgIG1pbi13aWR0aDogMjQwcHg7XG4gICAgbWF4LWhlaWdodDogMzIwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC5kcm9wZG93bi1pdGVtIHtcbiAgICAgICAgcGFkZGluZzogLjVyZW0gLjg1cmVtO1xuICAgICAgICBmb250LXNpemU6IC44NzVyZW07XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNywgMywgMTMwLCAuMDYpO1xuICAgICAgICB9XG5cbiAgICAgICAgaS5iaS1wbHVzLWNpcmNsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gUExBQ0VIT0xERVIgKGdob3N0IHdoaWxlIGRyYWdnaW5nKVxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4uZ3JpZC1zdGFjay1wbGFjZWhvbGRlciA+IC5wbGFjZWhvbGRlci1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDEzNywgMywgMTMwLCAuMDgpLCByZ2JhKDIyNSwgMjksIDkxLCAuMDgpKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMnB4IGRhc2hlZCAjODkwMzgyICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogLjc1cmVtICFpbXBvcnRhbnQ7XG4gICAgYW5pbWF0aW9uOiBhaC1wbGFjZWhvbGRlci1wdWxzZSAxLjJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIGFoLXBsYWNlaG9sZGVyLXB1bHNlIHtcbiAgICAwJSwgMTAwJSB7IG9wYWNpdHk6IC43OyB9XG4gICAgNTAlIHsgb3BhY2l0eTogMTsgfVxufVxuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFJFU0laRSBIQU5ETEVTXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLy8gSGlkZSBkZWZhdWx0IEdyaWRTdGFjayBoYW5kbGVzXG4uZ3JpZC1zdGFjay1pdGVtID4gLnVpLXJlc2l6YWJsZS1oYW5kbGUge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi8vIEJvdHRvbS1yaWdodCBjb3JuZXIgaGFuZGxlIOKAlCByb3VuZGVkIGNpcmN1bGFyIGJ1dHRvbiB3aXRoIGRpYWdvbmFsIGNoZXZyb25zXG4uZ3JpZC1zdGFjay1pdGVtID4gLnVpLXJlc2l6YWJsZS1zZSB7XG4gICAgYm90dG9tOiA4cHg7XG4gICAgcmlnaHQ6IDhweDtcbiAgICB3aWR0aDogMjZweDtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjODkwMzgyLCAjYjA0MGE4KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgxMzcsIDMsIDEzMCwgLjM1KSwgMCAwIDAgM3B4IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjkpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC41KTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLCB0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMzQsIDEuNTYsIC42NCwgMSk7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIEljb25zOiBhcnJvd3MtYW5nbGUtZXhwYW5kICjihpjihpYpIOKAlCBjbGFzc2ljIHJlc2l6ZSBzeW1ib2xcbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMTRhXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImJvb3RzdHJhcC1pY29uc1wiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoLjUpIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2UsIHRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4zNCwgMS41NiwgLjY0LCAxKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxufVxuXG4uZGFzaC1ncmlkLS1lZGl0aW5nIC5ncmlkLXN0YWNrLWl0ZW0gPiAudWktcmVzaXphYmxlLXNlOjpiZWZvcmUge1xuICAgIG9wYWNpdHk6IC43NTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC44NSk7XG59XG4uZGFzaC1ncmlkLS1lZGl0aW5nIC5ncmlkLXN0YWNrLWl0ZW0gPiAudWktcmVzaXphYmxlLXNlOjphZnRlciB7XG4gICAgb3BhY2l0eTogLjk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoLjg1KSByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuLmRhc2gtZ3JpZC0tZWRpdGluZyAuZ3JpZC1zdGFjay1pdGVtOmhvdmVyID4gLnVpLXJlc2l6YWJsZS1zZTo6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDEzNywgMywgMTMwLCAuNSksIDAgMCAwIDNweCByZ2JhKDI1NSwgMjU1LCAyNTUsIC45NSk7XG59XG4uZGFzaC1ncmlkLS1lZGl0aW5nIC5ncmlkLXN0YWNrLWl0ZW06aG92ZXIgPiAudWktcmVzaXphYmxlLXNlOjphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKSByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuLy8gUmlnaHQgZWRnZSBoYW5kbGUgKHZlcnRpY2FsIGxpbmUpXG4uZ3JpZC1zdGFjay1pdGVtID4gLnVpLXJlc2l6YWJsZS1lIHtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogNnB4O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHJpZ2h0OiAycHg7XG4gICAgICAgIHdpZHRoOiAzcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgYmFja2dyb3VuZDogIzg5MDM4MjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2U7XG4gICAgfVxufVxuXG4uZGFzaC1ncmlkLS1lZGl0aW5nIC5ncmlkLXN0YWNrLWl0ZW06aG92ZXIgPiAudWktcmVzaXphYmxlLWU6OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogLjU7XG59XG5cbi5kYXNoLWdyaWQtLWVkaXRpbmcgLmdyaWQtc3RhY2staXRlbSA+IC51aS1yZXNpemFibGUtZTpob3Zlcjo6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4vLyBCb3R0b20gZWRnZSBoYW5kbGUgKGhvcml6b250YWwgbGluZSlcbi5ncmlkLXN0YWNrLWl0ZW0gPiAudWktcmVzaXphYmxlLXMge1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDZweDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMnB4O1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgYmFja2dyb3VuZDogIzg5MDM4MjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2U7XG4gICAgfVxufVxuXG4uZGFzaC1ncmlkLS1lZGl0aW5nIC5ncmlkLXN0YWNrLWl0ZW06aG92ZXIgPiAudWktcmVzaXphYmxlLXM6OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogLjU7XG59XG5cbi5kYXNoLWdyaWQtLWVkaXRpbmcgLmdyaWQtc3RhY2staXRlbSA+IC51aS1yZXNpemFibGUtczpob3Zlcjo6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIEVESVQgTU9ERSBCQURHRSAoZmxvYXRpbmcpXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi5kYXNoLWVkaXQtYmFkZ2Uge1xuICAgIGFuaW1hdGlvbjogYWgtYmFkZ2UtcHVsc2UgMS44cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBhaC1iYWRnZS1wdWxzZSB7XG4gICAgMCUsIDEwMCUgeyBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMjQ1LCAxNTgsIDExLCAuNCk7IH1cbiAgICA1MCUgICAgICB7IGJveC1zaGFkb3c6IDAgMCAwIDhweCByZ2JhKDI0NSwgMTU4LCAxMSwgMCk7IH1cbn1cblxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBEQVJLIE1PREVcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuW2RhdGEtY29yZXVpLXRoZW1lPVwiZGFya1wiXSB7XG4gICAgLmRhc2gtZ3JpZC0tZWRpdGluZyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICA0NWRlZyxcbiAgICAgICAgICAgIHRyYW5zcGFyZW50LFxuICAgICAgICAgICAgdHJhbnNwYXJlbnQgMTJweCxcbiAgICAgICAgICAgIHJnYmEoMTc2LCA2NCwgMTY4LCAuMDQpIDEycHgsXG4gICAgICAgICAgICByZ2JhKDE3NiwgNjQsIDE2OCwgLjA0KSAyNHB4XG4gICAgICAgICk7XG5cbiAgICAgICAgLmdyaWQtc3RhY2staXRlbSB7XG4gICAgICAgICAgICAuZ3JpZC1zdGFjay1pdGVtLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6XG4gICAgICAgICAgICAgICAgICAgIDAgMCAwIDJweCByZ2JhKDE3NiwgNjQsIDE2OCwgLjUpLFxuICAgICAgICAgICAgICAgICAgICAwIDRweCAxMnB4IHJnYmEoMTc2LCA2NCwgMTY4LCAuMik7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAgICAgICAgICAgICAgIDAgMCAwIDJweCAjYjA0MGE4LFxuICAgICAgICAgICAgICAgICAgICAgICAgMCA4cHggMjRweCByZ2JhKDE3NiwgNjQsIDE2OCwgLjM1KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2IwNDBhODtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgxNzYsIDY0LCAxNjgsIC41KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ncmlkLXN0YWNrLXBsYWNlaG9sZGVyID4gLnBsYWNlaG9sZGVyLWNvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDE3NiwgNjQsIDE2OCwgLjE1KSwgcmdiYSgyMjUsIDI5LCA5MSwgLjEpKSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItY29sb3I6ICNiMDQwYTggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZ3JpZC1zdGFjay1pdGVtID4gLnVpLXJlc2l6YWJsZS1zZTo6YmVmb3JlIHtcbiAgICAgICAgZmlsdGVyOiBodWUtcm90YXRlKDEwZGVnKSBicmlnaHRuZXNzKDEuMyk7XG4gICAgfVxuXG4gICAgLmdyaWQtc3RhY2staXRlbSA+IC51aS1yZXNpemFibGUtZTo6YmVmb3JlLFxuICAgIC5ncmlkLXN0YWNrLWl0ZW0gPiAudWktcmVzaXphYmxlLXM6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNiMDQwYTg7XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUT1BCQVIgVVNFUiBUUklHR0VSIOKAlCBhdmF0YXIgKyBuYW1lICsgY2FyZXRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRvcGJhci11c2VyIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5haC11c2VyLXRyaWdnZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICBwYWRkaW5nOiAwLjEyNXJlbSAwLjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMC42MjVyZW07XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMTVzIGVhc2U7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbn1cbi8qIE92ZXJyaWRlIENvcmVVSSAubmF2LWxpbmsgcGFkZGluZyAqL1xuLmhlYWRlci1uYXYgLmFoLXVzZXItdHJpZ2dlci5uYXYtbGluayB7XG4gICAgcGFkZGluZzogMC4xMjVyZW0gMC41cmVtO1xufVxuLmFoLXVzZXItdHJpZ2dlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuMDQpO1xufVxuXG4uYWgtdHJpZ2dlci1hdmF0YXIge1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBtaW4td2lkdGg6IDMycHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDEzNywzLDEzMCwuMTUpO1xufVxuLmFoLXRyaWdnZXItYXZhdGFyIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuLmFoLXRyaWdnZXItYXZhdGFyLS1mYWxsYmFjayB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzg5MDM4MiAwJSwgI2IwNDBhOCAxMDAlKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uYWgtdHJpZ2dlci1uYW1lIHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjMWUxZTFlO1xuICAgIG1heC13aWR0aDogMTgwcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4uYWgtdHJpZ2dlci1jYXJldCB7XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICBjb2xvcjogIzcxNzE3MTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjE1cyBlYXNlO1xufVxuLnRvcGJhci11c2VyLnNob3cgLmFoLXRyaWdnZXItY2FyZXQge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVVNFUiBEUk9QRE9XTiDigJQgY2xlYW4gY2FyZFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYWgtdXNlci1kcm9wZG93biB7XG4gICAgbWluLXdpZHRoOiAyNjBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA2KTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgwLDAsMCwuMSksIDAgMnB4IDhweCByZ2JhKDAsMCwwLC4wNCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBhbmltYXRpb246IGFoLWRyb3Bkb3duLWluIC4xMnMgZWFzZS1vdXQgYm90aDtcbn1cblxuQGtleWZyYW1lcyBhaC1kcm9wZG93bi1pbiB7XG4gICAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTsgfVxuICAgIHRvICAgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbn1cblxuLyogSGVhZGVyIOKAlCB1c2VyIGlkZW50aXR5ICovXG4uYWgtdXNlci1kcm9wZG93bl9faGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjc1cmVtO1xuICAgIHBhZGRpbmc6IDFyZW0gMXJlbSAwLjc1cmVtO1xufVxuLmFoLXVzZXItZHJvcGRvd25fX2F2YXRhciB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIG1pbi13aWR0aDogNDBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uYWgtdXNlci1kcm9wZG93bl9fYXZhdGFyIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuLmFoLXVzZXItZHJvcGRvd25fX2F2YXRhci0tZmFsbGJhY2sge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM4OTAzODIgMCUsICNiMDQwYTggMTAwJSk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuLmFoLXVzZXItZHJvcGRvd25fX2luZm8ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBmbGV4OiAxO1xufVxuLmFoLXVzZXItZHJvcGRvd25fX25hbWUge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBjb2xvcjogIzFlMWUxZTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xufVxuLmFoLXVzZXItZHJvcGRvd25fX3JvbGUge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBjb2xvcjogIzcxNzE3MTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xufVxuLmFoLXVzZXItZHJvcGRvd25fX2VtYWlsIHtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBjb2xvcjogI2EwYTBhODtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgbWFyZ2luLXRvcDogMC4xMjVyZW07XG59XG5cbi8qIERpdmlkZXIgKi9cbi5haC11c2VyLWRyb3Bkb3duX19kaXZpZGVyIHtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC4wNik7XG4gICAgbWFyZ2luOiAwIDAuNzVyZW07XG59XG5cbi8qIE1lbnUgaXRlbXMgKi9cbi5haC11c2VyLWRyb3Bkb3duX19tZW51IHtcbiAgICBwYWRkaW5nOiAwLjI1cmVtO1xufVxuLmFoLXVzZXItZHJvcGRvd25fX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjM2EzYTNhO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjEycyBlYXNlO1xufVxuLmFoLXVzZXItZHJvcGRvd25fX2l0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsLjA0KTtcbiAgICBjb2xvcjogIzFlMWUxZTtcbn1cbi5haC11c2VyLWRyb3Bkb3duX19pdGVtIGkge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjb2xvcjogIzcxNzE3MTtcbiAgICB3aWR0aDogMS4yNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYWgtdXNlci1kcm9wZG93bl9faXRlbTpob3ZlciBpIHtcbiAgICBjb2xvcjogIzg5MDM4Mjtcbn1cblxuLyogRGFuZ2VyIHZhcmlhbnQgKGxvZ291dCkgKi9cbi5haC11c2VyLWRyb3Bkb3duX19pdGVtLS1kYW5nZXIge1xuICAgIGNvbG9yOiAjNzE3MTcxO1xufVxuLmFoLXVzZXItZHJvcGRvd25fX2l0ZW0tLWRhbmdlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMjUsMjksOTEsLjA0KTtcbiAgICBjb2xvcjogI0UxMUQ1Qjtcbn1cbi5haC11c2VyLWRyb3Bkb3duX19pdGVtLS1kYW5nZXI6aG92ZXIgaSB7XG4gICAgY29sb3I6ICNFMTFENUI7XG59XG5cbi8qIERlc2t0b3Ag4oCUIHBvc2l0aW9uaW5nICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAudG9wYmFyLXVzZXIgPiAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB0b3A6IGNhbGMoMTAwJSArIDRweCkgIWltcG9ydGFudDtcbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFdFQVRIRVIgV0lER0VUIOKAlCBUb3BiYXIgdHJpZ2dlciArIHBvcHVwXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogLS0tIFBvcHVwIGNvbnRhaW5lciAtLS0gKi9cbi5haC13ZWF0aGVyX19wb3B1cCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYygxMDAlICsgNnB4KTtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAxMDUwO1xuICAgIG1pbi13aWR0aDogMzAwcHg7XG4gICAgbWF4LXdpZHRoOiAzNDBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA2KTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgwLDAsMCwuMSksIDAgMnB4IDhweCByZ2JhKDAsMCwwLC4wNCk7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLyogSGlkZGVuIGJ5IGRlZmF1bHQgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAmLnNob3cge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgYW5pbWF0aW9uOiBhaC13ZWF0aGVyLWluIC4xNXMgZWFzZS1vdXQgYm90aDtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgYWgtd2VhdGhlci1pbiB7XG4gICAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTsgfVxuICAgIHRvICAgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbn1cblxuLyogLS0tIEhlYWRlcjogY2l0eSArIGhlcm8gdGVtcCArIGNvbmRpdGlvbnMgLS0tICovXG4uYWgtd2VhdGhlcl9faGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBwYWRkaW5nOiAxcmVtIDFyZW0gMC43NXJlbTtcbn1cblxuLmFoLXdlYXRoZXJfX2NpdHkge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgY29sb3I6ICM3MTcxNzE7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uYWgtd2VhdGhlcl9fdGVtcCB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBjb2xvcjogIzFlMWUxZTtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xufVxuXG4uYWgtd2VhdGhlcl9fY29uZGl0aW9ucyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBnYXA6IDAuMjVyZW07XG4gICAgcGFkZGluZy10b3A6IDAuMTI1cmVtO1xufVxuXG4uYWgtd2VhdGhlcl9fY29uZGl0aW9ucy1pY29uIHtcbiAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgY29sb3I6ICM4OTAzODI7XG59XG5cbi5haC13ZWF0aGVyX19kZXNjIHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjMWUxZTFlO1xufVxuXG4uYWgtd2VhdGhlcl9fcmFuZ2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAwLjYyNXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmFoLXdlYXRoZXJfX3JhbmdlLWhpZ2gge1xuICAgIGNvbG9yOiAjRTExRDVCO1xufVxuXG4uYWgtd2VhdGhlcl9fcmFuZ2UtbG93IHtcbiAgICBjb2xvcjogIzBlYTVlOTtcbn1cblxuLyogLS0tIERpdmlkZXIgLS0tICovXG4uYWgtd2VhdGhlcl9fZGl2aWRlciB7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuMDYpO1xuICAgIG1hcmdpbjogMCAxcmVtO1xufVxuXG4vKiAtLS0gNS1ob3VyIGZvcmVjYXN0IHJvdyAtLS0gKi9cbi5haC13ZWF0aGVyX19mb3JlY2FzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogMC43NXJlbSAwLjVyZW07XG4gICAgZ2FwOiAwO1xufVxuXG4uYWgtd2VhdGhlcl9faG91ciB7XG4gICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuM3JlbTtcbiAgICBwYWRkaW5nOiAwLjM3NXJlbSAwLjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcblxuICAgIC8qIFN1YnRsZSBzZXBhcmF0b3IgYmV0d2VlbiBob3VycyAqL1xuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA0KTtcbiAgICB9XG59XG5cbi5haC13ZWF0aGVyX19ob3VyLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjNzE3MTcxO1xufVxuXG4uYWgtd2VhdGhlcl9faG91ci1pY29uIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgY29sb3I6ICMzYTNhM2E7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5haC13ZWF0aGVyX19yYWluIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjJyZW07XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMGVhNWU5O1xuICAgIG1pbi1oZWlnaHQ6IDFyZW07XG5cbiAgICAmLS1ub25lIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cblxuLmFoLXdlYXRoZXJfX3JhaW4tYmFyIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxNCwgMTY1LCAyMzMsIC4xNSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZDogIzBlYTVlOTtcbiAgICAgICAgd2lkdGg6IHZhcigtLXJhaW4sIDAlKTtcbiAgICB9XG59XG5cbi5haC13ZWF0aGVyX19ob3VyLXRlbXAge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMxZTFlMWU7XG59XG5cbi8qIC0tLSA3LWRheSBkYWlseSBmb3JlY2FzdCAtLS0gKi9cbi5haC13ZWF0aGVyX19kYWlseSB7XG4gICAgcGFkZGluZzogMC43NXJlbSAxcmVtO1xufVxuXG4uYWgtd2VhdGhlcl9fZGF5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjVyZW07XG4gICAgcGFkZGluZzogMC4zNzVyZW0gMDtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4wNCk7XG4gICAgfVxufVxuXG4uYWgtd2VhdGhlcl9fZGF5LWxhYmVsIHtcbiAgICB3aWR0aDogMi4yNXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzcxNzE3MTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmFoLXdlYXRoZXJfX2RheS1pY29uIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6ICMzYTNhM2E7XG4gICAgd2lkdGg6IDEuMjVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uYWgtd2VhdGhlcl9fZGF5LXJhaW4ge1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzBlYTVlOTtcbiAgICB3aWR0aDogMi43NXJlbTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjE1cmVtO1xuXG4gICAgaSB7IGZvbnQtc2l6ZTogMC41cmVtOyB9XG5cbiAgICAmLS1ub25lIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cblxuLmFoLXdlYXRoZXJfX2RheS10ZW1wcyB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLyogLS0tIEljb24gYW5pbWF0aW9ucyAobW92ZWQgZnJvbSBhcHAuc2NzcykgLS0tICovXG4ud2VhdGhlci1pY29uIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGVhc2UtaW4tb3V0O1xufVxuXG4ud2VhdGhlci1pY29uLXN0YXRpYyB7XG4gICAgZmlsdGVyOiBub25lO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi53ZWF0aGVyLXN1biAgICAgIHsgYW5pbWF0aW9uOiBhaC13ZWF0aGVyLXNwaW4gMTBzIGxpbmVhciBpbmZpbml0ZTsgfVxuLndlYXRoZXItY2xvdWRzdW4geyBhbmltYXRpb246IGFoLXdlYXRoZXItZmxvYXQgNHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7IH1cbi53ZWF0aGVyLWNsb3VkICAgIHsgYW5pbWF0aW9uOiBhaC13ZWF0aGVyLWRyaWZ0IDhzIGVhc2UtaW4tb3V0IGluZmluaXRlOyB9XG4ud2VhdGhlci1yYWluICAgICB7IGFuaW1hdGlvbjogYWgtd2VhdGhlci1kcml6emxlIDEuOHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7IH1cbi53ZWF0aGVyLXN0b3JtICAgIHsgYW5pbWF0aW9uOiBhaC13ZWF0aGVyLWZsYXNoIDNzIGxpbmVhciBpbmZpbml0ZTsgfVxuLndlYXRoZXItaWNvbi5lcnJvciB7IGFuaW1hdGlvbjogYWgtd2VhdGhlci1wdWxzZSAxLjVzIGVhc2UtaW4tb3V0IGluZmluaXRlOyB9XG5cbkBrZXlmcmFtZXMgYWgtd2VhdGhlci1zcGluIHtcbiAgICBmcm9tIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgICB0byAgIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxufVxuQGtleWZyYW1lcyBhaC13ZWF0aGVyLWZsb2F0IHtcbiAgICAwJSwgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAgIDUwJSAgICAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOyB9XG59XG5Aa2V5ZnJhbWVzIGFoLXdlYXRoZXItZHJpZnQge1xuICAgIDAlLCAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gICAgNTAlICAgICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTsgfVxufVxuQGtleWZyYW1lcyBhaC13ZWF0aGVyLWRyaXp6bGUge1xuICAgIDAlLCAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgNTAlICAgICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMS41cHgpOyB9XG59XG5Aa2V5ZnJhbWVzIGFoLXdlYXRoZXItZmxhc2gge1xuICAgIDAlLCA4NSUsIDEwMCUgeyBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpOyB9XG4gICAgOTAlICAgICAgICAgICB7IGZpbHRlcjogYnJpZ2h0bmVzcygxLjUpIGludmVydCgxKTsgfVxuICAgIDk1JSAgICAgICAgICAgeyBmaWx0ZXI6IGJyaWdodG5lc3MoMikgaW52ZXJ0KDEpOyB9XG59XG5Aa2V5ZnJhbWVzIGFoLXdlYXRoZXItcHVsc2Uge1xuICAgIDAlLCAxMDAlIHsgb3BhY2l0eTogMTsgfVxuICAgIDUwJSAgICAgIHsgb3BhY2l0eTogMC42OyB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUFJPSkVDVCBMSVNUIOKAlCBJbmxpbmUgd2VhdGhlciBiYWRnZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5haC1wcm9qZWN0LXdlYXRoZXItaW5saW5lIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmFoLXByb2plY3Qtd2VhdGhlci1iYWRnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC4yNXJlbTtcbiAgICBmb250LXNpemU6IC43cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICM5NGEzYjg7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3M7XG5cbiAgICAmLS1sb2FkZWQge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBjb2xvcjogIzQ3NTU2OTtcbiAgICB9XG5cbiAgICBpIHtcbiAgICAgICAgZm9udC1zaXplOiAuOHJlbTtcbiAgICB9XG59XG5cbi5haC1wcm9qZWN0LXdlYXRoZXItcG9wdXAge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgdG9wOiBjYWxjKDEwMCUgKyA4cHgpO1xufVxuXG4vKiAtLS0gRGFpbHkgZm9yZWNhc3QgbGlzdCAoMyBkYXlzKSAtLS0gKi9cbi5haC13ZWF0aGVyX19kYWlseS1saXN0IHtcbiAgICBwYWRkaW5nOiAuNXJlbSAuNzVyZW07XG59XG5cbi5haC13ZWF0aGVyX19kYWlseS1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC41cmVtO1xuICAgIHBhZGRpbmc6IC40cmVtIDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMWY1Zjk7XG4gICAgZm9udC1zaXplOiAuNzhyZW07XG5cbiAgICAmOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiBub25lOyB9XG59XG5cbi5haC13ZWF0aGVyX19kYWlseS1sYWJlbCB7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzMzNDE1NTtcbiAgICBmb250LXNpemU6IC43MnJlbTtcbn1cblxuLmFoLXdlYXRoZXJfX2RhaWx5LWljb24ge1xuICAgIGZvbnQtc2l6ZTogLjg1cmVtO1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmFoLXdlYXRoZXJfX2RhaWx5LXJhaW4ge1xuICAgIHdpZHRoOiA0MnB4O1xuICAgIGZvbnQtc2l6ZTogLjY1cmVtO1xuICAgIGNvbG9yOiAjM2I4MmY2O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBpIHsgZm9udC1zaXplOiAuNTVyZW07IG1hcmdpbi1yaWdodDogMXB4OyB9XG59XG5cbi5haC13ZWF0aGVyX19kYWlseS10ZW1wcyB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IC40cmVtO1xuICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5haC13ZWF0aGVyX19kYWlseS10bWluIHtcbiAgICBjb2xvcjogIzk0YTNiODtcbn1cblxuLmFoLXdlYXRoZXJfX2RhaWx5LXRtYXgge1xuICAgIGNvbG9yOiAjMWUyOTNiO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBST0pFQ1QgV0VBVEhFUiDigJQgU2lkZWJhciBjYXJkIGNvbnRleHQgb3ZlcnJpZGVzXG4gICB3ZWF0aGVyLnNjc3MgaGFuZGxlcyA5NSUgb2Ygc3R5bGVzIHZpYSBhaC13ZWF0aGVyX18qIGNsYXNzZXMuXG4gICBUaGlzIGZpbGUgb25seSB0d2Vha3Mgc3BhY2luZy9zaXplcyBmb3IgdGhlIHNpZGViYXIgY2FyZC5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYWgtcHJvamVjdC13ZWF0aGVyIHtcblxuICAgIC8qIEhlYWRlcjogdGlnaHRlciBwYWRkaW5nIGluc2lkZSBzaWRlYmFyIGNhcmQgKi9cbiAgICAuYWgtd2VhdGhlcl9faGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMCAwIC43NXJlbTtcbiAgICB9XG5cbiAgICAvKiBIZXJvIHRlbXA6IHNsaWdodGx5IHNtYWxsZXIgZm9yIHNpZGViYXIgKi9cbiAgICAuYWgtd2VhdGhlcl9fdGVtcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICB9XG5cbiAgICAvKiBEaXZpZGVyOiBmdWxsLXdpZHRoIGluIGNhcmQgKG5vIGhvcml6b250YWwgbWFyZ2luKSAqL1xuICAgIC5haC13ZWF0aGVyX19kaXZpZGVyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8qIEZvcmVjYXN0IHJvdzogdGlnaHQgdG9wIHBhZGRpbmcgKi9cbiAgICAuYWgtd2VhdGhlcl9fZm9yZWNhc3Qge1xuICAgICAgICBwYWRkaW5nOiAuNzVyZW0gMCAwO1xuICAgIH1cblxuICAgIC8qIENvbmRpdGlvbnMgaWNvbjogc2xpZ2h0bHkgc21hbGxlciAqL1xuICAgIC5haC13ZWF0aGVyX19jb25kaXRpb25zLWljb24ge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICB9XG5cbiAgICAvKiBEYWlseSBmb3JlY2FzdDogdGlnaHQgdG9wIHBhZGRpbmcgKi9cbiAgICAuYWgtd2VhdGhlcl9fZGFpbHkge1xuICAgICAgICBwYWRkaW5nOiAuNzVyZW0gMCAwO1xuICAgIH1cbn1cblxuLyogTG9hZGluZyBzcGlubmVyIGZvciBpbml0aWFsIGZldGNoICovXG4uYWgtd2VhdGhlci1sb2FkaW5nIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMS41cmVtIDA7XG4gICAgY29sb3I6ICNhMGEwYTg7XG4gICAgZm9udC1zaXplOiAuODEyNXJlbTtcbiAgICBnYXA6IC41cmVtO1xuXG4gICAgaSB7XG4gICAgICAgIGFuaW1hdGlvbjogYWgtd2VhdGhlci1sb2FkaW5nLXNwaW4gMXMgbGluZWFyIGluZmluaXRlO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGFoLXdlYXRoZXItbG9hZGluZy1zcGluIHtcbiAgICBmcm9tIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgICB0byAgIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxufVxuIiwiLyogVXBsb2FkIGQnaW1hZ2VzIC0gRHJhZyAmIERyb3AgKi9cbi5pbWFnZS11cGxvYWQtY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDIwcHggMDtcbn1cblxuLmltYWdlLWRyb3B6b25lIHtcbiAgICBib3JkZXI6IDJweCBkYXNoZWQgI2QxYjNkODtcbiAgICBib3JkZXItcmFkaXVzOiAwLjg3NXJlbTtcbiAgICBwYWRkaW5nOiA0MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmltYWdlLWRyb3B6b25lOmhvdmVyOm5vdCguZGlzYWJsZWQpIHtcbiAgICBib3JkZXItY29sb3I6ICNjOWE1ZDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjNmOTtcbn1cblxuLmltYWdlLWRyb3B6b25lLmRyYWdvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM4OTAzODI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZWFmNjtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xufVxuXG4uaW1hZ2UtZHJvcHpvbmUuZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGYyZjc7XG59XG5cbi5kcm9wem9uZS1pY29uIHtcbiAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgY29sb3I6ICNhMGFlYzA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbn1cblxuLmRyb3B6b25lLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogIzRhNTU2ODtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5kcm9wem9uZS1oaW50IHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICM3MTgwOTY7XG59XG5cbi5pbWFnZS1wcmV2aWV3LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxNTBweCwgMWZyKSk7XG4gICAgZ2FwOiAxNnB4O1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5pbWFnZS1wcmV2aWV3LWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnM7XG59XG5cbi5pbWFnZS1wcmV2aWV3LWl0ZW06aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwwLDAsMC4xKTtcbn1cblxuLmltYWdlLXByZXZpZXctaXRlbSBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTUwcHg7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5pbWFnZS1wcmV2aWV3LW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbn1cblxuLmltYWdlLXByZXZpZXctaXRlbTpob3ZlciAuaW1hZ2UtcHJldmlldy1vdmVybGF5IHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4uaW1hZ2UtcHJldmlldy1pbmZvIHtcbiAgICBwYWRkaW5nOiA4cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMnB4O1xufVxuXG4uaW1hZ2UtcHJldmlldy1pbmZvIHNtYWxsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5pbWFnZS11cGxvYWQtZXJyb3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY1ZjU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZlYjJiMjtcbiAgICBjb2xvcjogI2M1MzAzMDtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEFuaW1hdGlvbnMgKi9cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxufVxuXG4uaW1hZ2UtcHJldmlldy1pdGVtIHtcbiAgICBhbmltYXRpb246IGZhZGVJbiAwLjNzIGVhc2U7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUFJPSkVDVCBTSE9XIC0gU1RZTEUgQ09SRVVJIEhBUk1PTklTw4lcbiAgIENvbXBhdGlibGUgYXZlYyBAY29yZXVpL2NvcmV1aS9zY3NzL2NvcmV1aVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFZBUklBQkxFUyBDT1JFVUkgKHV0aWxpc2VyIGxlcyBleGlzdGFudGVzKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFBhcyBkZSByZWTDqWZpbml0aW9uIGRlIGNvdWxldXJzLCBvbiB1dGlsaXNlIGxlcyB2YXJpYWJsZXMgQ29yZVVJIGV4aXN0YW50ZXMgOlxuICAgLSB2YXIoLS1jdWktcHJpbWFyeSlcbiAgIC0gdmFyKC0tY3VpLXNlY29uZGFyeSlcbiAgIC0gdmFyKC0tY3VpLXN1Y2Nlc3MpXG4gICAtIHZhcigtLWN1aS1kYW5nZXIpXG4gICAtIHZhcigtLWN1aS1ib2R5LWJnKSA9ICNmNmY3ZmJcbiAgIC0gdmFyKC0tY3VpLWJvcmRlci1jb2xvcilcbiovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCT1VUT05TIC0gU3R5bGUgQ29yZVVJXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBPbiB1dGlsaXNlIGxlcyBjbGFzc2VzIENvcmVVSSBleGlzdGFudGVzIG1haXMgb24gcGV1dCBsZXMgw6l0ZW5kcmUgKi9cblxuLyogQm91dG9uIGF2ZWMgc3R5bGUgQ29yZVVJIHBhciBkw6lmYXV0ICovXG4uYnRuLXByb2plY3Qge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuXG4vKiBQb3VyIGhhcm1vbmlzZXIgYXZlYyBsZXMgZHJvcGRvd25zIENvcmVVSSAqL1xuLmRyb3Bkb3duLW1lbnUtcHJvamVjdCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3VpLWJvcmRlci1jb2xvciwgcmdiYSgwLDAsMCwuMTI1KSk7XG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDI0cHggcmdiYSgwLDAsMCwuMDgpO1xufVxuXG4uZHJvcGRvd24taXRlbS1wcm9qZWN0IHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuXG4uZHJvcGRvd24taXRlbS1wcm9qZWN0OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jdWktYm9keS1iZywgI2Y2ZjdmYik7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDQVJURVMgLSBTdHlsZSBDb3JlVUlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jYXJkLXByb2plY3Qge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDAsMCwwLC4wNCksIDAgLjI1cmVtIC41cmVtIHJnYmEoMCwwLDAsLjA0KTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcbn1cblxuLmNhcmQtcHJvamVjdDpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMCwwLDAsLjA2KSwgMCAuNXJlbSAxcmVtIHJnYmEoMCwwLDAsLjA4KTtcbn1cblxuLmNhcmQtcHJvamVjdC1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWN1aS1ib2R5LWJnLCAjZjZmN2ZiKTtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMDQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbSAwLjVyZW0gMCAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQUNUSU9OUyBSQVBJREVTIC0gU3R5bGUgQ29yZVVJXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucHJvamVjdC1hY3Rpb25zLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3VpLXByaW1hcnkpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjVyZW0gMC41cmVtIDAgMDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG59XG5cbi5wcm9qZWN0LWFjdGlvbi1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWN1aS1ib3JkZXItY29sb3IsIHJnYmEoMCwwLDAsLjEyNSkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jdWktYm9keS1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLWluLW91dDtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG4ucHJvamVjdC1hY3Rpb24taXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3VpLWJvZHktYmcsICNmNmY3ZmIpO1xuICAgIGNvbG9yOiB2YXIoLS1jdWktYm9keS1jb2xvcik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jdWktcHJpbWFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ucHJvamVjdC1hY3Rpb24taXRlbTpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5wcm9qZWN0LWFjdGlvbi1pdGVtIGkge1xuICAgIG9wYWNpdHk6IDAuNztcbn1cblxuLnByb2plY3QtYWN0aW9uLWl0ZW06aG92ZXIgaSB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJBREdFUyAtIFN0eWxlIENvcmVVSSBoYXJtb25pc8OpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYmFkZ2UtcHJvamVjdCB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBwYWRkaW5nOiAwLjM1cmVtIDAuNzVyZW07XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbn1cblxuLyogQmFkZ2UgY29tcHRldXIgLSBzdHlsZSBDb3JlVUkgY2hhdCAqL1xuLmJhZGdlLXByb2plY3QtY291bnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiAxLjI1cmVtO1xuICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICBwYWRkaW5nOiAwLjE1cmVtIDAuNXJlbTtcbiAgICBmb250LXNpemU6IDAuNzJyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jdWktcHJpbWFyeSk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTRweCByZ2JhKDEzLDExMCwyNTMsLjI4KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9OR0xFVFMgLSBTdHlsZSBDb3JlVUlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5uYXYtdGFicy1wcm9qZWN0IHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY3VpLWJvcmRlci1jb2xvciwgcmdiYSgwLDAsMCwuMTI1KSk7XG59XG5cbi5uYXYtdGFicy1wcm9qZWN0IC5uYXYtbGluayB7XG4gICAgY29sb3I6IHZhcigtLWN1aS1ib2R5LWNvbG9yKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLWluLW91dDtcbn1cblxuLm5hdi10YWJzLXByb2plY3QgLm5hdi1saW5rOmhvdmVyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1jdWktYm9yZGVyLWNvbG9yKTtcbiAgICBjb2xvcjogdmFyKC0tY3VpLXByaW1hcnkpO1xufVxuXG4ubmF2LXRhYnMtcHJvamVjdCAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tY3VpLXByaW1hcnkpO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWN1aS1wcmltYXJ5KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyogQmFkZ2UgZGFucyBsZXMgb25nbGV0cyAqL1xuLm5hdi10YWJzLXByb2plY3QgLmJhZGdlIHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUFJPR1JFU1NJT04gLSBTdHlsZSBDb3JlVUlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5wcm9ncmVzcy1wcm9qZWN0IHtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jdWktYm9keS1iZywgI2Y2ZjdmYik7XG4gICAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnByb2dyZXNzLXByb2plY3QgLnByb2dyZXNzLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3VpLXN1Y2Nlc3MpO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNnMgZWFzZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNUQVRFUyAmIEZPQ1VTIC0gQWNjZXNzaWJpbGl0w6lcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEZvY3VzIHZpc2libGUgcG91ciBsJ2FjY2Vzc2liaWxpdMOpICovXG4uYnRuOmZvY3VzLXZpc2libGUsXG4ucHJvamVjdC1hY3Rpb24taXRlbTpmb2N1cy12aXNpYmxlLFxuLm5hdi1saW5rOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jdWktcHJpbWFyeSk7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFJFU1BPTlNJVkVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5wcm9qZWN0LWFjdGlvbi1pdGVtIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuNnJlbSAwLjhyZW07XG4gICAgfVxuICAgIFxuICAgIC5uYXYtdGFicy1wcm9qZWN0IC5uYXYtbGluayB7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFOSU1BVElPTlMgU1VCVElMRVMgKENvcmVVSSBzdHlsZSlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBrZXlmcmFtZXMgZmFkZUluUHJvamVjdCB7XG4gICAgZnJvbSB7IFxuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICAgIH1cbiAgICB0byB7IFxuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4uZmFkZS1pbi1wcm9qZWN0IHtcbiAgICBhbmltYXRpb246IGZhZGVJblByb2plY3QgMC4zcyBlYXNlO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVVRJTElUQUlSRVMgU1DDiUNJRklRVUVTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBBdmF0YXIgc3R5bGUgQ29yZVVJICovXG4uYXZhdGFyLXByb2plY3Qge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWN1aS1ib2R5LWJnLCAjZjZmN2ZiKTtcbiAgICBjb2xvcjogdmFyKC0tY3VpLWJvZHktY29sb3IpO1xufVxuXG4vKiBJbmZvIHdpbmRvdyBkYW5zIGNhcnRlICovXG4uaW5mby1sYWJlbCB7XG4gICAgY29sb3I6IHZhcigtLWN1aS1zZWNvbmRhcnktY29sb3IsICM2Yzc1N2QpO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xufVxuXG4vKiBTw6lwYXJhdGV1ciBsw6lnZXIgKi9cbi5zZXBhcmF0b3ItbGlnaHQge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4wNCk7XG4gICAgbWFyZ2luOiAxcmVtIDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQUklOVFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIHByaW50IHtcbiAgICAucHJvamVjdC1hY3Rpb24taXRlbSxcbiAgICAucHJvamVjdC1hY3Rpb25zLWhlYWRlcixcbiAgICAuYnRuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAuY2FyZC1wcm9qZWN0IHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRBU0tTIOKAlCBBcmNoaUh1YiB0YXNrIG1hbmFnZW1lbnQgc3R5bGVzXG4gICBVc2VzIGdsb2JhbCAuYWgtKiBjbGFzc2VzIGZyb20gZGFzaGJvYXJkX2JyYW5kLnNjc3MgLyBfZGFzaGJvYXJkLnNjc3NcbiAgIE9ubHkgdGFzay1zcGVjaWZpYyBzdHlsZXMgcmVtYWluIGhlcmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiAtLS0gVGFzayBIZWFkZXIgQ291bnQgUGlsbCAtLS0gKi9cbi5haC10YXNrLWhlYWRlcl9fY291bnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgcGFkZGluZzogMCAuMzc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGZvbnQtc2l6ZTogLjY4NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNywgMywgMTMwLCAuMDgpO1xuICAgIGNvbG9yOiAjODkwMzgyO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qIC0tLSBUYXNrLXNwZWNpZmljIHRhYmxlIG1pY3JvLXN0eWxlcyAtLS0gKi9cbi5haC10YXNrLXRhYmxlX190aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzFlMWUxZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyIHsgY29sb3I6ICM4OTAzODI7IH1cbn1cblxuLmFoLXRhc2stdGFibGVfX2RhdGUge1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgY29sb3I6ICM3MTcxNzE7XG5cbiAgICAmLS1vdmVyZHVlIHtcbiAgICAgICAgY29sb3I6ICNFMTFENUI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxufVxuXG4vKiAtLS0gQmFkZ2VzIChTdGF0dXMgJiBQcmlvcml0eSkg4oCUIGNvbG9yIHZhcnMgb25seSwgc3RydWN0dXJlIGZyb20gLmFoLWJhZGdlIC0tLSAqL1xuLmFoLXRhc2stYmFkZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuMjVyZW07XG5cbiAgICBpIHsgZm9udC1zaXplOiAuNjI1cmVtOyB9XG59XG5cbi5haC10YXNrLWJhZGdlLS1wZW5kaW5nICAgIHsgLS1waWxsLWJnOiByZ2JhKDI0NSwxNTgsMTEsLjEpOyAgLS1waWxsLWZnOiAjYjQ1MzA5OyB9XG4uYWgtdGFzay1iYWRnZS0taW5fcHJvZ3Jlc3MgeyAtLXBpbGwtYmc6IHJnYmEoMTQsMTY1LDIzMywuMSk7IC0tcGlsbC1mZzogIzAzNjlhMTsgfVxuLmFoLXRhc2stYmFkZ2UtLWNvbXBsZXRlZCAgeyAtLXBpbGwtYmc6IHJnYmEoMTYsMTg1LDEyOSwuMSk7ICAtLXBpbGwtZmc6ICMwNDc4NTc7IH1cbi5haC10YXNrLWJhZGdlLS1jYW5jZWxsZWQgIHsgLS1waWxsLWJnOiByZ2JhKDE1NiwxNjMsMTc1LC4xKTsgLS1waWxsLWZnOiAjNmI3MjgwOyB9XG5cbi5haC10YXNrLWJhZGdlLS1sb3cgICAgeyAtLXBpbGwtYmc6IHJnYmEoMTU2LDE2MywxNzUsLjEpOyAtLXBpbGwtZmc6ICM2YjcyODA7IH1cbi5haC10YXNrLWJhZGdlLS1tZWRpdW0geyAtLXBpbGwtYmc6IHJnYmEoMTQsMTY1LDIzMywuMSk7ICAtLXBpbGwtZmc6ICMwMzY5YTE7IH1cbi5haC10YXNrLWJhZGdlLS1oaWdoICAgeyAtLXBpbGwtYmc6IHJnYmEoMjQ1LDE1OCwxMSwuMSk7ICAtLXBpbGwtZmc6ICNiNDUzMDk7IH1cbi5haC10YXNrLWJhZGdlLS11cmdlbnQgeyAtLXBpbGwtYmc6IHJnYmEoMjI1LDI5LDkxLC4xKTsgICAtLXBpbGwtZmc6ICNiZTEyM2M7IH1cblxuLyogLS0tIEthbmJhbiBCb2FyZCAtLS0gKi9cbi5haC10YXNrLWthbmJhbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDFyZW07XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBwYWRkaW5nLWJvdHRvbTogLjVyZW07XG4gICAgbWluLWhlaWdodDogNDAwcHg7XG59XG5cbi5haC10YXNrLWthbmJhbl9fY29sdW1uIHtcbiAgICBmbGV4OiAxIDEgMCU7XG4gICAgbWluLXdpZHRoOiAyNjBweDtcbiAgICBtYXgtd2lkdGg6IDM0MHB4O1xuICAgIGJhY2tncm91bmQ6ICNmNmY3ZmI7XG4gICAgYm9yZGVyLXJhZGl1czogLjc1cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA0KTtcbiAgICBwYWRkaW5nOiAuNzVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uYWgtdGFzay1rYW5iYW5fX2NvbHVtbi1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC41cmVtO1xuICAgIHBhZGRpbmc6IC4zNzVyZW0gLjI1cmVtIC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogLjgxMjVyZW07XG4gICAgY29sb3I6ICMxZTFlMWU7XG59XG5cbi5haC10YXNrLWthbmJhbl9fc3RhdHVzLWRvdCB7XG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5haC10YXNrLWthbmJhbl9fY291bnQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiAxLjI1cmVtO1xuICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICBwYWRkaW5nOiAwIC4yNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBmb250LXNpemU6IC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC4wNik7XG4gICAgY29sb3I6ICM3MTcxNzE7XG59XG5cbi5haC10YXNrLWthbmJhbl9fY2FyZHMge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLWhlaWdodDogNjBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAuNXJlbTtcbn1cblxuLmFoLXRhc2sta2FuYmFuX19jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IC42MjVyZW07XG4gICAgcGFkZGluZzogLjc1cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA2KTtcbiAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLDAsMCwuMDQpLCAwIDFweCAycHggcmdiYSgwLDAsMCwuMDMpO1xuICAgIGN1cnNvcjogZ3JhYjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjEycyBlYXNlLCBib3gtc2hhZG93IC4xMnMgZWFzZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDEzNywzLDEzMCwuMDYpLCAwIDRweCAxNnB4IHJnYmEoMTM3LDMsMTMwLC4wOCk7XG4gICAgfVxuXG4gICAgJi5zb3J0YWJsZS1naG9zdCB7XG4gICAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICB9XG5cbiAgICAmLnNvcnRhYmxlLWRyYWcge1xuICAgICAgICBib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEoMCwwLDAsLjEyKTtcbiAgICB9XG59XG5cbi5haC10YXNrLWthbmJhbl9fY2FyZC10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IC44MTI1cmVtO1xuICAgIGNvbG9yOiAjMWUxZTFlO1xuICAgIG1hcmdpbi1ib3R0b206IC4zNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyIHsgY29sb3I6ICM4OTAzODI7IH1cbn1cblxuLmFoLXRhc2sta2FuYmFuX19jYXJkLW1ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC41cmVtO1xuICAgIGZvbnQtc2l6ZTogLjY4NzVyZW07XG4gICAgY29sb3I6ICNhMGEwYTg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uYWgtdGFzay1rYW5iYW5fX2NhcmQtZHVlIHtcbiAgICAmLm92ZXJkdWUgeyBjb2xvcjogI0UxMUQ1QjsgZm9udC13ZWlnaHQ6IDYwMDsgfVxufVxuXG4vKiAtLS0gQ2FsZW5kYXIgVmlldyAtLS0gKi9cbi5haC10YXNrLWNhbGVuZGFyIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmFoLXRhc2stY2FsZW5kYXJfX25hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4uYWgtdGFzay1jYWxlbmRhcl9fbW9udGgge1xuICAgIGZvbnQtZmFtaWx5OiBcIkRNIFNhbnNcIiwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmFoLXRhc2stY2FsZW5kYXJfX3BpY2tlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjVyZW07XG59XG5cbi5haC10YXNrLWNhbGVuZGFyX19zZWxlY3Qge1xuICAgIGZvbnQtZmFtaWx5OiBcIkRNIFNhbnNcIiwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMWUxZTFlO1xuICAgIGJhY2tncm91bmQ6ICNmNmY3ZmI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMDgpO1xuICAgIGJvcmRlci1yYWRpdXM6IC41cmVtO1xuICAgIHBhZGRpbmc6IC4zNzVyZW0gLjc1cmVtIC4zNzVyZW0gLjVyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMTVzIGVhc2U7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMCcgaGVpZ2h0PSc2JyUzRSUzQ3BhdGggZD0nTTAgMGw1IDYgNS02eicgZmlsbD0nJTIzNzE3MTcxJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLjVyZW0gY2VudGVyO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMTM3LCAzLCAxMzAsIC4zKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODkwMzgyO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgxMzcsIDMsIDEzMCwgLjEpO1xuICAgIH1cbn1cblxuLmFoLXRhc2stY2FsZW5kYXJfX3RvZGF5LWJ0biB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gICAgY29sb3I6ICM3MTcxNzE7XG4gICAgZm9udC1zaXplOiAuODc1cmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjE1cyBlYXNlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LCAzLCAxMzAsIC4wOCk7XG4gICAgICAgIGNvbG9yOiAjODkwMzgyO1xuICAgIH1cbn1cblxuLmFoLXRhc2stY2FsZW5kYXJfX2dyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcbiAgICBnYXA6IDFweDtcbiAgICBiYWNrZ3JvdW5kOiAjZWVlO1xuICAgIGJvcmRlci1yYWRpdXM6IC41cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5haC10YXNrLWNhbGVuZGFyX19kYXktaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAuNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAuNjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICM3MTcxNzE7XG4gICAgYmFja2dyb3VuZDogI2Y2ZjdmYjtcbn1cblxuLmFoLXRhc2stY2FsZW5kYXJfX2RheSB7XG4gICAgbWluLWhlaWdodDogOTBweDtcbiAgICBwYWRkaW5nOiAuMzc1cmVtO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICYub3RoZXItbW9udGgge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhO1xuICAgICAgICBjb2xvcjogI2NjYztcblxuICAgICAgICAuYWgtdGFzay1jYWxlbmRhcl9fYWRkLWJhciB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICB9XG5cbiAgICAmLnRvZGF5IHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxMzcsIDMsIDEzMCwgLjAzKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIC5haC10YXNrLWNhbGVuZGFyX19hZGQtYmFyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLmFoLXRhc2stY2FsZW5kYXJfX2FkZC1iYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IC4yNXJlbTtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIHBhZGRpbmc6IC4yNXJlbSAuMzc1cmVtO1xuICAgIGJvcmRlcjogMXB4IGRhc2hlZCByZ2JhKDEzNywgMywgMTMwLCAuMik7XG4gICAgYm9yZGVyLXJhZGl1czogLjI1cmVtO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjYTBhMGE4O1xuICAgIGZvbnQtc2l6ZTogLjYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMTVzIGVhc2U7XG5cbiAgICBpIHsgZm9udC1zaXplOiAuNTYyNXJlbTsgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LCAzLCAxMzAsIC4wNik7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxMzcsIDMsIDEzMCwgLjM1KTtcbiAgICAgICAgY29sb3I6ICM4OTAzODI7XG4gICAgfVxufVxuXG4uYWgtdGFzay1jYWxlbmRhcl9fZGF5LW51bSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IC43NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAuMjVyZW07XG5cbiAgICAudG9kYXkgJiB7IGNvbG9yOiAjODkwMzgyOyB9XG59XG5cbi5haC10YXNrLWNhbGVuZGFyX19kYXktdGFza3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDJweDtcbn1cblxuLmFoLXRhc2stY2FsZW5kYXJfX3Rhc2stZG90IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxcHggNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBmb250LXNpemU6IC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlciB7IG9wYWNpdHk6IC44OyB9XG59XG5cbi8qIC0tLSBQbGFubmluZyBtb250aCBjYWxlbmRhcjogY29udGludW91cyBtdWx0aS1kYXkgYmFycyAtLS0gKi9cbi5haC1jYWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDFweDtcbiAgICBiYWNrZ3JvdW5kOiAjZWVlO1xuICAgIGJvcmRlci1yYWRpdXM6IC41cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5haC1jYWxfX2hlYWRlcnMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcbiAgICBnYXA6IDFweDtcbn1cblxuLmFoLWNhbF9faGVhZGVyIHtcbiAgICBwYWRkaW5nOiAuNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAuNjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICM3MTcxNzE7XG4gICAgYmFja2dyb3VuZDogI2Y2ZjdmYjtcbn1cblxuLmFoLWNhbF9fd2VlayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYWgtY2FsX19kYXlzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7XG4gICAgZ2FwOiAxcHg7XG59XG5cbi5haC1jYWxfX2RheSB7XG4gICAgLy8gQmFzZSBoZWlnaHQgKyBvbmUgcm93IHBlciBzdGFja2VkIHRhc2sgbGFuZS5cbiAgICBtaW4taGVpZ2h0OiBjYWxjKDU4cHggKyAodmFyKC0tbGFuZXMsIDEpICogMjJweCkpO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogLjI1cmVtIC4zNzVyZW07XG4gICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgJi5vdGhlci1tb250aCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7XG5cbiAgICAgICAgLmFoLWNhbF9fZGF5LW51bSB7IGNvbG9yOiAjY2NjOyB9XG4gICAgICAgIC5haC1jYWxfX2FkZCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICB9XG5cbiAgICAmLnRvZGF5IHsgYmFja2dyb3VuZDogcmdiYSgxMzcsIDMsIDEzMCwgLjA0KTsgfVxuXG4gICAgJjpob3ZlciAuYWgtY2FsX19hZGQge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4uYWgtY2FsX19kYXktbnVtIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGNvbG9yOiAjNDQ0O1xuXG4gICAgLnRvZGF5ICYgeyBjb2xvcjogIzg5MDM4MjsgfVxufVxuXG4uYWgtY2FsX19hZGQge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogLjI1cmVtO1xuICAgIHBhZGRpbmc6IC4ycmVtIC4zNzVyZW07XG4gICAgYm9yZGVyOiAxcHggZGFzaGVkIHJnYmEoMTM3LCAzLCAxMzAsIC4yKTtcbiAgICBib3JkZXItcmFkaXVzOiAuMjVyZW07XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNhMGEwYTg7XG4gICAgZm9udC1zaXplOiAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4xNXMgZWFzZTtcblxuICAgIGkgeyBmb250LXNpemU6IC41NjI1cmVtOyB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxMzcsIDMsIDEzMCwgLjA2KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDEzNywgMywgMTMwLCAuMzUpO1xuICAgICAgICBjb2xvcjogIzg5MDM4MjtcbiAgICB9XG59XG5cbi8vIEJhcnMgb3ZlcmxheTogc2FtZSA3LWNvbHVtbiB0cmFjayBhcyB0aGUgZGF5IGNlbGxzLCBwb3NpdGlvbmVkIGJlbG93IHRoZVxuLy8gZGF5IG51bWJlcnMuIExhbmVzIHN0YWNrIHZpYSBncmlkIHJvd3M7IHBvaW50ZXItZXZlbnRzIHBhc3MgdGhyb3VnaCBnYXBzLlxuLmFoLWNhbF9fYmFycyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjZweDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDRweDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcbiAgICBncmlkLWF1dG8tcm93czogMjBweDtcbiAgICBjb2x1bW4tZ2FwOiAxcHg7XG4gICAgcm93LWdhcDogMnB4O1xuICAgIGFsaWduLWNvbnRlbnQ6IHN0YXJ0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uYWgtY2FsLWJhciB7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMnB4O1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgbWFyZ2luOiAwIDJweDtcbiAgICBwYWRkaW5nOiAwIDZweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgZm9udC1zaXplOiAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogZmlsdGVyIC4xNXMgZWFzZTtcblxuICAgICY6aG92ZXIgeyBmaWx0ZXI6IGJyaWdodG5lc3MoLjkzKTsgfVxuXG4gICAgLy8gT3Blbi1lbmRlZCB3aGVuIHRoZSB0YXNrIGNvbnRpbnVlcyBpbnRvIGFuIGFkamFjZW50IHdlZWsuXG4gICAgJi5pcy1jb250LWxlZnQge1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gICAgJi5pcy1jb250LXJpZ2h0IHtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgc3Ryb25nIHsgZm9udC13ZWlnaHQ6IDcwMDsgfVxufVxuXG4uYWgtY2FsLWJhcl9fbGFiZWwge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5haC1jYWwtYmFyX19jb250IHtcbiAgICBmbGV4OiBub25lO1xuICAgIGZvbnQtc2l6ZTogLjVyZW07XG4gICAgb3BhY2l0eTogLjg1O1xufVxuXG4vKiAtLS0gQ2FsZW5kYXIgTW9kZSBUb2dnbGUgLS0tICovXG4uYWgtdGFzay1jYWxlbmRhcl9fbW9kZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAuMjVyZW07XG4gICAgcGFkZGluZzogLjI1cmVtO1xuICAgIGJhY2tncm91bmQ6ICNmNmY3ZmI7XG4gICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG59XG5cbi5haC10YXNrLWNhbGVuZGFyX19tb2RlLWJ0biB7XG4gICAgcGFkZGluZzogLjM3NXJlbSAuNzVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogLjM3NXJlbTtcbiAgICBmb250LXNpemU6IC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjNzE3MTcxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjE1cyBlYXNlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMWUxZTFlO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC43KTtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjODkwMzgyO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAuMDYpO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbn1cblxuLmFoLXRhc2stY2FsZW5kYXJfX2xhYmVsIHtcbiAgICBmb250LWZhbWlseTogXCJETSBTYW5zXCIsIHN5c3RlbS11aSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzFlMWUxZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vKiAtLS0gQ2FsZW5kYXIgRGF5IEhlYWRlciBUb2RheSAtLS0gKi9cbi5haC10YXNrLWNhbGVuZGFyX19kYXktaGVhZGVyLnRvZGF5IHtcbiAgICBjb2xvcjogIzg5MDM4MjtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG4uYWgtdGFzay1jYWxlbmRhcl9fZGF5LWhlYWRlci1udW0ge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi8qIC0tLSBXZWVrIFZpZXcgLS0tICovXG4uYWgtdGFzay1jYWxlbmRhcl9fZ3JpZC0td2VlayB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDFmcjtcbn1cblxuLmFoLXRhc2stY2FsZW5kYXJfX3dlZWstY29sIHtcbiAgICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgICBwYWRkaW5nOiAuNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IC4zNzVyZW07XG5cbiAgICAmLnRvZGF5IHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxMzcsIDMsIDEzMCwgLjAzKTtcbiAgICB9XG5cbiAgICAuYWgtdGFzay1jYWxlbmRhcl9fYWRkLWJhciB7XG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgfVxuXG4gICAgJjpob3ZlciAuYWgtdGFzay1jYWxlbmRhcl9fYWRkLWJhciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbi5haC10YXNrLWNhbGVuZGFyX193ZWVrLWNhcmQge1xuICAgIHBhZGRpbmc6IC41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IC4zNzVyZW07XG4gICAgYmFja2dyb3VuZDogI2Y2ZjdmYjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4xMnMgZWFzZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNywgMywgMTMwLCAuMDYpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgfVxufVxuXG4uYWgtdGFzay1jYWxlbmRhcl9fd2Vlay1jYXJkLXRpdGxlIHtcbiAgICBmb250LXNpemU6IC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMWUxZTFlO1xuICAgIG1hcmdpbi1ib3R0b206IC4yNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmFoLXRhc2stY2FsZW5kYXJfX3dlZWstY2FyZC1tZXRhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuMzc1cmVtO1xuICAgIGZvbnQtc2l6ZTogLjYyNXJlbTtcbn1cblxuLyog4pSA4pSA4pSAIFRhc2sgTW9kYWwg4pSA4pSA4pSAICovXG4uYWgtdGFzay1tb2RhbCAubW9kYWwtY29udGVudCB7XG4gICAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgICBib3JkZXI6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3gtc2hhZG93OiAwIDIwcHggNjBweCByZ2JhKDAsIDAsIDAsIC4xOCk7XG59XG5cbi5haC10YXNrLW1vZGFsX19oZWFkZXIge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAxLjVyZW0gMS4yNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZmFmOGZiIDAlLCAjZmZmIDgwJSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTM3LCAzLCAxMzAsIC4wOCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzg5MDM4MiwgI2IwNDBhOCwgI2UxMWQ1Yik7XG4gICAgfVxufVxuXG4uYWgtdGFzay1tb2RhbF9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMWUxZTFlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi5haC10YXNrLW1vZGFsX19jbG9zZSB7XG4gICAgbWFyZ2luLXRvcDogLS4yNXJlbTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IC43NWVtO1xuICAgIG9wYWNpdHk6IC41O1xuICAgICY6aG92ZXIgeyBvcGFjaXR5OiAxOyB9XG59XG5cbi5haC10YXNrLW1vZGFsX19wcm9qZWN0LWNoaXAge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuMzVyZW07XG4gICAgZm9udC1zaXplOiAuN3JlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjODkwMzgyO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LCAzLCAxMzAsIC4wOCk7XG4gICAgcGFkZGluZzogLjJyZW0gLjU1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4wM2VtO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjE1cztcblxuICAgIGkgeyBmb250LXNpemU6IC43cmVtOyB9XG5cbiAgICAmOmhvdmVyOm5vdCguYWgtdGFzay1tb2RhbF9fcHJvamVjdC1jaGlwLS1tdXRlZCkge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNywgMywgMTMwLCAuMTUpO1xuICAgIH1cblxuICAgICYtLW11dGVkIHtcbiAgICAgICAgY29sb3I6ICM5NGEzYjg7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgLjEpO1xuICAgIH1cbn1cblxuLmFoLXRhc2stbW9kYWxfX2JvZHkge1xuICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmNmY2ZkO1xufVxuXG4vKiBUYWJzIOKAlCB1bmRlcmxpbmUgcGlsbCBzdHlsZSAqL1xuLmFoLXRhc2stbW9kYWxfX3RhYnMtd3JhcHBlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWYxZjU7XG4gICAgbWFyZ2luOiAtMS41cmVtIC0xLjVyZW0gMS41cmVtO1xuICAgIHBhZGRpbmc6IDAgMS41cmVtO1xufVxuXG4uYWgtdGFzay1tb2RhbF9fdGFicyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBnYXA6IC4yNXJlbTtcblxuICAgIC5uYXYtbGluayB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjgxMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAjNjQ3NDhiO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgcGFkZGluZzogLjc1cmVtIDFyZW07XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IC40cmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuMTVzLCBib3JkZXItY29sb3IgLjE1cztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjODkwMzgyO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjODkwMzgyO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICM4OTAzODI7XG4gICAgICAgIH1cblxuICAgICAgICBpIHsgZm9udC1zaXplOiAuOXJlbTsgfVxuICAgIH1cbn1cblxuLmFoLXRhc2stbW9kYWxfX3RhYi1jb3VudCB7XG4gICAgYmFja2dyb3VuZDogIzg5MDM4MjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IC42cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcGFkZGluZzogLjFyZW0gLjRyZW07XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC4xNXJlbTtcbiAgICBtaW4td2lkdGg6IDE4cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiBJbmZvIGdyaWQgKHJldXNlZCBmcm9tIHByb2plY3Qgc2hvdykgKi9cbi5haC10YXNrLW1vZGFsIC5haC1pbmZvLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICBnYXA6IDFyZW0gMS4yNXJlbTtcbiAgICBwYWRkaW5nOiAxcmVtIDEuMjVyZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVmMWY1O1xuICAgIGJvcmRlci1yYWRpdXM6IC43NXJlbTtcbn1cblxuLmFoLXRhc2stbW9kYWwgLmFoLWluZm8taXRlbV9fbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogLjY4NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzk0YTNiODtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDRlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAuMzVyZW07XG59XG5cbi5haC10YXNrLW1vZGFsIC5haC1pbmZvLWl0ZW1fX3ZhbHVlIHtcbiAgICBmb250LXNpemU6IC44NzVyZW07XG4gICAgY29sb3I6ICMxZTFlMWU7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLyogQXNzaWduZWQtdG8gdXNlciBjaGlwICovXG4uYWgtdGFzay1tb2RhbF9fdXNlci1jaGlwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjVyZW07XG59XG5cbi5haC10YXNrLW1vZGFsX191c2VyLWF2YXRhciB7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjODkwMzgyLCAjYjA0MGE4KTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IC42NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qIERlc2NyaXB0aW9uIGJsb2NrICovXG4uYWgtdGFzay1tb2RhbF9fZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmc6IDFyZW0gMS4yNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWYxZjU7XG4gICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gICAgZm9udC1zaXplOiAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY1O1xuICAgIGNvbG9yOiAjMzM0MTU1O1xuXG4gICAgcDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIGEgeyBjb2xvcjogIzg5MDM4MjsgfVxufVxuXG4vKiBBdHRhY2htZW50cyBsaXN0ICovXG4uYWgtdGFzay1tb2RhbF9fYXR0YWNobWVudHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IC41cmVtO1xufVxuXG4uYWgtdGFzay1tb2RhbF9fYXR0YWNobWVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjg1cmVtO1xuICAgIHBhZGRpbmc6IC42NXJlbSAuODVyZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVmMWY1O1xuICAgIGJvcmRlci1yYWRpdXM6IC42MjVyZW07XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC4xNXMsIGJveC1zaGFkb3cgLjE1cywgdHJhbnNmb3JtIC4xMnM7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDEzNywgMywgMTMwLCAuMyk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIC4wNCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICB9XG59XG5cbi5haC10YXNrLW1vZGFsX19hdHRhY2htZW50LWljb24ge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMTM3LCAzLCAxMzAsIC4wOCksIHJnYmEoMTc2LCA2NCwgMTY4LCAuMDgpKTtcbiAgICBib3JkZXItcmFkaXVzOiAuNXJlbTtcbiAgICBjb2xvcjogIzg5MDM4MjtcbiAgICBmb250LXNpemU6IDEuMTVyZW07XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5haC10YXNrLW1vZGFsX19hdHRhY2htZW50LWluZm8ge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uYWgtdGFzay1tb2RhbF9fYXR0YWNobWVudC1uYW1lIHtcbiAgICBmb250LXNpemU6IC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzFlMWUxZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5haC10YXNrLW1vZGFsX19hdHRhY2htZW50LW1ldGEge1xuICAgIGZvbnQtc2l6ZTogLjdyZW07XG4gICAgY29sb3I6ICM5NGEzYjg7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xufVxuXG4uYWgtdGFzay1tb2RhbF9fYXR0YWNobWVudC1idG4ge1xuICAgIHdpZHRoOiAzNHB4O1xuICAgIGhlaWdodDogMzRweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LCAzLCAxMzAsIC4wNik7XG4gICAgY29sb3I6ICM4OTAzODI7XG4gICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gICAgZm9udC1zaXplOiAuOTVyZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjE1cywgdHJhbnNmb3JtIC4xMnM7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzg5MDM4MjtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgfVxufVxuXG4vKiBFbXB0eSBzdGF0ZSAqL1xuLmFoLXRhc2stbW9kYWxfX2VtcHR5IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogM3JlbSAxcmVtO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggZGFzaGVkICNlMmU4ZjA7XG4gICAgYm9yZGVyLXJhZGl1czogLjc1cmVtO1xufVxuXG4uYWgtdGFzay1tb2RhbF9fZW1wdHktaWNvbiB7XG4gICAgd2lkdGg6IDU2cHg7XG4gICAgaGVpZ2h0OiA1NnB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDFyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMTM3LCAzLCAxMzAsIC4wNiksIHJnYmEoMTc2LCA2NCwgMTY4LCAuMDYpKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgY29sb3I6ICM4OTAzODI7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG59XG5cbi5haC10YXNrLW1vZGFsX19lbXB0eS10ZXh0IHtcbiAgICBmb250LXNpemU6IC45NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMWUxZTFlO1xuICAgIG1hcmdpbi1ib3R0b206IC4yNXJlbTtcbn1cblxuLmFoLXRhc2stbW9kYWxfX2VtcHR5LXN1YnRleHQge1xuICAgIGZvbnQtc2l6ZTogLjgxMjVyZW07XG4gICAgY29sb3I6ICM5NGEzYjg7XG59XG5cbi8qIEZvb3RlciAqL1xuLmFoLXRhc2stbW9kYWxfX2Zvb3RlciB7XG4gICAgcGFkZGluZzogMXJlbSAxLjVyZW07XG4gICAgYmFja2dyb3VuZDogI2ZjZmNmZDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2VlZjFmNTtcbn1cblxuLyogUmVzcG9uc2l2ZSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gICAgLmFoLXRhc2stbW9kYWwgLmFoLWluZm8tZ3JpZCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cbiAgICAuYWgtdGFzay1tb2RhbF9faGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMS4yNXJlbSAxLjI1cmVtIDFyZW07XG4gICAgfVxuICAgIC5haC10YXNrLW1vZGFsX19ib2R5IHtcbiAgICAgICAgcGFkZGluZzogMS4yNXJlbTtcbiAgICB9XG59XG5cbi8qIERhcmsgbW9kZSAqL1xuW2RhdGEtY29yZXVpLXRoZW1lPVwiZGFya1wiXSB7XG4gICAgLmFoLXRhc2stbW9kYWwgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMWExYTFkO1xuICAgIH1cbiAgICAuYWgtdGFzay1tb2RhbF9faGVhZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzE2MTYxYSAwJSwgIzFhMWExZCA4MCUpO1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDE3NiwgNjQsIDE2OCwgLjE1KTtcbiAgICB9XG4gICAgLmFoLXRhc2stbW9kYWxfX3RpdGxlIHsgY29sb3I6ICNmNWY1Zjc7IH1cbiAgICAuYWgtdGFzay1tb2RhbF9fYm9keSB7IGJhY2tncm91bmQ6ICMxMzEzMTY7IH1cbiAgICAuYWgtdGFzay1tb2RhbF9fdGFicy13cmFwcGVyIHsgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMDYpOyB9XG4gICAgLmFoLXRhc2stbW9kYWxfX3RhYnMgLm5hdi1saW5rIHtcbiAgICAgICAgY29sb3I6ICM5Y2EzYWY7XG4gICAgICAgICY6aG92ZXIsICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjYjA0MGE4O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2IwNDBhODtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYWgtdGFzay1tb2RhbF9fdGFiLWNvdW50IHsgYmFja2dyb3VuZDogI2IwNDBhODsgfVxuICAgIC5haC10YXNrLW1vZGFsIC5haC1pbmZvLWdyaWQsXG4gICAgLmFoLXRhc2stbW9kYWxfX2Rlc2NyaXB0aW9uLFxuICAgIC5haC10YXNrLW1vZGFsX19hdHRhY2htZW50LFxuICAgIC5haC10YXNrLW1vZGFsX19lbXB0eSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMxYTFhMWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMDYpO1xuICAgIH1cbiAgICAuYWgtdGFzay1tb2RhbCAuYWgtaW5mby1pdGVtX192YWx1ZSB7IGNvbG9yOiAjZTVlN2ViOyB9XG4gICAgLmFoLXRhc2stbW9kYWxfX2F0dGFjaG1lbnQtbmFtZSB7IGNvbG9yOiAjZTVlN2ViOyB9XG4gICAgLmFoLXRhc2stbW9kYWxfX2VtcHR5LXRleHQgeyBjb2xvcjogI2U1ZTdlYjsgfVxuICAgIC5haC10YXNrLW1vZGFsX19mb290ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMTMxMzE2O1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4wNik7XG4gICAgfVxuICAgIC5haC10YXNrLW1vZGFsX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjYjA0MGE4O1xuICAgICAgICBjb2xvcjogI2NiZDVlMTtcbiAgICB9XG59XG5cbi8qIC0tLSBUYXNrIFN1bW1hcnkgKHByb2plY3Qgc2hvdyBwYWdlKSAtLS0gKi9cbi5haC10YXNrLXN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICBnYXA6IC43NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4uYWgtdGFzay1zdW1tYXJ5X19zdGF0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogLjYyNXJlbSAuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAuNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmFmOGZiO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMTJzIGVhc2U7XG5cbiAgICAmOmhvdmVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOyB9XG59XG5cbi5haC10YXNrLXN1bW1hcnlfX3ZhbHVlIHtcbiAgICBmb250LWZhbWlseTogXCJETSBTYW5zXCIsIHN5c3RlbS11aSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLmFoLXRhc2stc3VtbWFyeV9fbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogLjY4NzVyZW07XG4gICAgY29sb3I6ICNhMGEwYTg7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xufVxuXG4uYWgtdGFzay1taW5pLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmFoLXRhc2stbWluaS1saXN0X19pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuNXJlbTtcbiAgICBwYWRkaW5nOiAuNXJlbSAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjZmN2ZiO1xuICAgIGZvbnQtc2l6ZTogLjgxMjVyZW07XG5cbiAgICAmOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiAwOyB9XG59XG5cbi5haC10YXNrLW1pbmktbGlzdF9fdGl0bGUge1xuICAgIGZsZXg6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qIC0tLSBFbXB0eSBTdGF0ZSAtLS0gKi9cbi5haC10YXNrLWVtcHR5IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogM3JlbSAxLjVyZW07XG4gICAgY29sb3I6ICNhMGEwYTg7XG59XG5cbi5haC10YXNrLWVtcHR5X19pY29uIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAuNzVyZW07XG4gICAgb3BhY2l0eTogLjQ7XG59XG5cbi5haC10YXNrLWVtcHR5X190ZXh0IHtcbiAgICBmb250LXNpemU6IC44NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLyog4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gICBHQU5UVCBDSEFSVCDigJQgUGxhbm5pbmcgdmlld1xuICAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG5cbi5haC1nYW50dC13cmFwcGVyIHtcbiAgICBtaW4taGVpZ2h0OiAyMDBweDtcbn1cblxuLmFoLWdhbnR0IHtcbiAgICBib3JkZXItcmFkaXVzOiAuNzVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMDYpO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi5haC1nYW50dF9faW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyog4pSA4pSAIEhlYWRlciDilIDilIAgKi9cbi5haC1nYW50dF9faGVhZGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMDgpO1xuICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTA7XG59XG5cbi8qIOKUgOKUgCBNb250aHMgcm93IOKUgOKUgCAqL1xuLmFoLWdhbnR0X19tb250aHMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMDUpO1xufVxuXG4uYWgtZ2FudHRfX21vbnRoIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMjhweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAuNjVyZW07XG4gICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDVlbTtcbiAgICBjb2xvcjogIzFlMWUxZTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4wNSk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiDilIDilIAgV2Vla3Mgcm93IOKUgOKUgCAqL1xuLmFoLWdhbnR0X193ZWVrcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMjhweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYWgtZ2FudHRfX3dlZWsge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IC43MnJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjNzE3MTcxO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA0KTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgJi0tdG9kYXkge1xuICAgICAgICBjb2xvcjogIzg5MDM4MjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxMzcsMywxMzAsLjA2KTtcbiAgICB9XG59XG5cbi8qIOKUgOKUgCBCb2R5IHJvd3Mg4pSA4pSAICovXG4uYWgtZ2FudHRfX2JvZHkge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbi5haC1nYW50dF9fcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4wNCk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICY6bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b206IDA7IH1cblxuICAgICYtLWdyb3VwIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZhZmFmYTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA3KTtcbiAgICB9XG5cbiAgICAmLS10YXNrOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxMzcsMywxMzAsLjAxNSk7XG4gICAgfVxufVxuXG4vKiDilIDilIAgTGFiZWwgY29sdW1uIOKAlCBzdGlja3kgaG9yaXpvbnRhbGx5IOKUgOKUgCAqL1xuLmFoLWdhbnR0X19yb3ctbGFiZWwge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHBhZGRpbmc6IDAgLjlyZW07XG4gICAgZm9udC1zaXplOiAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjMWUxZTFlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4wNik7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMztcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuXG4gICAgLmFoLWdhbnR0X19yb3ctLWdyb3VwICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhO1xuICAgIH1cblxuICAgICYtLWdyb3VwIHtcbiAgICAgICAgZm9udC1zaXplOiAuNzJyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAuMDVlbTtcbiAgICAgICAgY29sb3I6ICM4OTAzODI7XG4gICAgfVxufVxuXG4vKiDilIDilIAgVHJhY2sgKHRpbWVsaW5lIGFyZWEgb2YgZWFjaCByb3cpIOKUgOKUgCAqL1xuLmFoLWdhbnR0X19yb3ctdHJhY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXNocmluazogMDtcblxuICAgIC8qIFN1YnRsZSB2ZXJ0aWNhbCBncmlkIGxpbmVzIGFsaWduZWQgb24gdGhlIGNvbHVtbiB3aWR0aCAoMTA0cHggaW4gbW9udGggbW9kZSkgKi9cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KFxuICAgICAgICB0byByaWdodCxcbiAgICAgICAgdHJhbnNwYXJlbnQsXG4gICAgICAgIHRyYW5zcGFyZW50IGNhbGMoMTA0cHggLSAxcHgpLFxuICAgICAgICByZ2JhKDAsMCwwLC4wNCkgY2FsYygxMDRweCAtIDFweCksXG4gICAgICAgIHJnYmEoMCwwLDAsLjA0KSAxMDRweFxuICAgICk7XG59XG5cbi8qIOKUgOKUgCBOYXYgYmFyIOKUgOKUgCAqL1xuLmFoLWdhbnR0X19uYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogLjVyZW07XG59XG5cbi5haC1nYW50dF9fbmF2LWxhYmVsIHtcbiAgICBmb250LWZhbWlseTogXCJETSBTYW5zXCIsIHN5c3RlbS11aSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzFlMWUxZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vKiDilIDilIAgUHJpb3JpdHkgZG90IChsYWJlbCBjb2x1bW4pIOKUgOKUgCAqL1xuLmFoLWdhbnR0X19wcmlvcml0eS1kb3Qge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogOXB4O1xuICAgIGhlaWdodDogOXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IC41cmVtO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZmZmO1xufVxuXG4uYWgtZ2FudHRfX3Jvdy1sYWJlbC10ZXh0IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi8qIOKUgOKUgCBHcm91cCBsYWJlbCB0d28tbGluZSBzdGFjayAoY2xpZW50IG9uIHRvcCwgcHJvamVjdCBiZWxvdykg4pSA4pSAICovXG4uYWgtZ2FudHRfX3Jvdy1sYWJlbC1zdGFjayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBmbGV4OiAxO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuXG4gICAgLmFoLWdhbnR0X19yb3ctbGFiZWwtY2xpZW50LFxuICAgIC5haC1nYW50dF9fcm93LWxhYmVsLXByb2plY3Qge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAuYWgtZ2FudHRfX3Jvdy1sYWJlbC1wcm9qZWN0IHtcbiAgICAgICAgZm9udC1zaXplOiAuNjZyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgY29sb3I6ICM4YThhOGE7XG4gICAgfVxufVxuXG4vKiDilIDilIAgVGFzayBiYXJzIOKUgOKUgCAqL1xuLmFoLWdhbnR0X19iYXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAuNjVyZW07XG4gICAgY3Vyc29yOiBncmFiO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsMCwwLC4xMiksIGluc2V0IDAgLTFweCAwIHJnYmEoMCwwLDAsLjA4KTtcbiAgICB0cmFuc2l0aW9uOiBmaWx0ZXIgLjEycyBlYXNlLCBib3gtc2hhZG93IC4xMnMgZWFzZSwgdHJhbnNmb3JtIC4xMnMgZWFzZTtcbiAgICBtaW4td2lkdGg6IDhweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcyguODgpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDJweCA2cHggcmdiYSgwLDAsMCwuMik7XG4gICAgfVxuXG4gICAgJi5haC1nYW50dF9fYmFyLS1kcmFnZ2luZyB7XG4gICAgICAgIGN1cnNvcjogZ3JhYmJpbmc7XG4gICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcyguODUpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwwLDAsLjI1KTtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICB9XG5cbiAgICAmLmFoLWdhbnR0X19iYXItLXNhdmluZyB7XG4gICAgICAgIG9wYWNpdHk6IC42O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG59XG5cbi5haC1nYW50dF9fYmFyLWxhYmVsIHtcbiAgICBmb250LXNpemU6IC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB0ZXh0LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwwLDAsLjE4KTtcbiAgICBsZXR0ZXItc3BhY2luZzogLjAxZW07XG59XG5cbi5haC1nYW50dF9fYmFyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDhweDtcbiAgICBjdXJzb3I6IGV3LXJlc2l6ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJi0tbGVmdCAgeyBsZWZ0OiAwOyB9XG4gICAgJi0tcmlnaHQgeyByaWdodDogMDsgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDI1JTtcbiAgICAgICAgYm90dG9tOiAyNSU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC41KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xMnMgZWFzZTtcbiAgICB9XG59XG5cbi5haC1nYW50dF9fYmFyOmhvdmVyIC5haC1nYW50dF9fYmFyLWhhbmRsZTo6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi8qIOKUgOKUgCBUb29sdGlwIOKUgOKUgCAqL1xuLmFoLWdhbnR0X190b29sdGlwIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJhY2tncm91bmQ6ICMxZTFlMWU7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gICAgcGFkZGluZzogLjVyZW0gLjc1cmVtO1xuICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKDAsMCwwLC4yNSk7XG4gICAgbWF4LXdpZHRoOiAyNjBweDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4uYWgtZ2FudHRfX3Rvb2x0aXAtbGJsIHtcbiAgICBvcGFjaXR5OiAuNjtcbiAgICBmb250LXNpemU6IC42ODc1cmVtO1xufVxuXG4vKiDilIDilIAgTW9kZSBidXR0b25zIOKAlCBmdWxsIHJlc2V0IHNvIDxidXR0b24+IGxvb2tzIGlkZW50aWNhbCB0byA8YT4g4pSA4pSAICovXG5idXR0b24uYWgtdGFzay1jYWxlbmRhcl9fbW9kZS1idG4ge1xuICAgIGJvcmRlcjogMDtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIHBhZGRpbmc6IC4zNzVyZW0gLjc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IC4zNzVyZW07XG4gICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzcxNzE3MTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4xNXMgZWFzZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzFlMWUxZTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuNyk7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogIzg5MDM4MjtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwwLDAsLjA2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG59XG5cbi8qIOKUgOKUgCBUb2RheSB2ZXJ0aWNhbCBsaW5lIOKUgOKUgCAqL1xuLmFoLWdhbnR0X190b2RheS1saW5lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMnB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LDMsMTMwLC40NSk7XG4gICAgei1pbmRleDogMTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNDJweDsgLy8gYmVsb3cgaGVhZGVyXG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB9XG59XG5cbi8qIOKUgOKUgCBEZXBlbmRlbmN5IGFycm93cyBvdmVybGF5IOKUgOKUgCAqL1xuLmFoLWdhbnR0X19hcnJvd3Mge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4uYWgtZ2FudHRfX2Fycm93IHtcbiAgICBmaWxsOiBub25lO1xuICAgIHN0cm9rZTogIzY0NzQ4YjtcbiAgICBzdHJva2Utd2lkdGg6IDEuNTtcbiAgICBvcGFjaXR5OiAuODU7XG59XG5cbi5haC1nYW50dF9fYmFyLS1jYXNjYWRlIHtcbiAgICBvdXRsaW5lOiAxcHggZGFzaGVkIHJnYmEoMTM3LCAzLCAxMzAsIC42KTtcbiAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xufVxuXG4vKiDilIDilIAgVGFzayBtb2RhbDogZGVwZW5kZW5jaWVzIGJsb2NrIOKUgOKUgCAqL1xuLmFoLXRhc2stZGVwc19fbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMCAwIC41cmVtIDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogLjI1cmVtO1xufVxuXG4uYWgtdGFzay1kZXBzX19pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuNXJlbTtcbiAgICBwYWRkaW5nOiAuMzVyZW0gLjU1cmVtO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjAyNSk7XG4gICAgYm9yZGVyLXJhZGl1czogLjM3NXJlbTtcbiAgICBmb250LXNpemU6IC44MTI1cmVtO1xufVxuXG4uYWgtdGFzay1kZXBzX190aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmFoLXRhc2stZGVwc19fZGF0ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC4yNXJlbTtcbn1cblxuLmFoLXRhc2stZGVwc19fYWRkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogLjVyZW07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAuMjVyZW07XG59XG5cbi8qIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAgRU5EIEdBTlRUXG4gICDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cblxuLyogLS0tIFJlc3BvbnNpdmUgLS0tICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuYWgtdGFzay1rYW5iYW4ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgIC5haC10YXNrLWthbmJhbl9fY29sdW1uIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5haC10YXNrLXN1bW1hcnkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIH1cblxuICAgIC5haC10YXNrLWNhbGVuZGFyX19ncmlkLS13ZWVrIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgfVxuXG4gICAgLmFoLXRhc2stY2FsZW5kYXJfX3dlZWstY29sIHtcbiAgICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAuYWgtdGFzay1jYWxlbmRhcl9fbmF2IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIGdhcDogLjVyZW07XG5cbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFoLXRhc2stY2FsZW5kYXJfX21vZGVzIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxufVxuIiwiLy8g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4vLyBUYXNrIE1vZGFsIOKAlCBUcmVsbG8tc3R5bGVcbi8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuXG5AaW1wb3J0IFwifnRyaWJ1dGVqcy9kaXN0L3RyaWJ1dGUuY3NzXCI7XG5cbi8vIE1vZGFsIGNvbnRhaW5lciDigJQgbGFyZ2VyIGZvciAyLWNvbCBsYXlvdXQgKHZpZXcgbW9kYWwgT05MWSwgbm90IGNyZWF0aW9uIGZvcm0pXG4jdGFza1ZpZXdNb2RhbCAubW9kYWwtZGlhbG9nIHtcbiAgICBtYXgtd2lkdGg6IDkyMHB4O1xufVxuI3Rhc2tWaWV3TW9kYWwgLm1vZGFsLWNvbnRlbnQge1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgYm9yZGVyOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogI2ZjZmNmZDtcbn1cbiN0YXNrVmlld01vZGFsIC5tb2RhbC1ib2R5LFxuI3Rhc2tWaWV3TW9kYWwgLm1vZGFsLWhlYWRlcixcbiN0YXNrVmlld01vZGFsIC5tb2RhbC1mb290ZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xufVxuXG4vLyBLaWxsIHRoZSBvbGQgaGVhZGVyL2Zvb3RlciDigJQgdXNlIGN1c3RvbSBsYXlvdXRcbi5haC10YXNrLXZpZXcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiA5MHZoO1xufVxuXG4vLyDilIDilIDilIAgVG9wIGJhciDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi5haC10YXNrLXZpZXdfX3RvcGJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDFyZW07XG4gICAgcGFkZGluZzogMXJlbSAxLjI1cmVtO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWYxZjU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDtcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzg5MDM4MiwgI2IwNDBhOCwgI2UxMWQ1Yik7XG4gICAgfVxufVxuXG4uYWgtdGFzay12aWV3X19jbG9zZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG9wYWNpdHk6IC41NTtcbiAgICAmOmhvdmVyIHsgb3BhY2l0eTogMTsgfVxufVxuXG4uYWgtdGFzay12aWV3X19wcm9qZWN0LWNoaXAge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuMzVyZW07XG4gICAgZm9udC1zaXplOiAuN3JlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjODkwMzgyO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LCAzLCAxMzAsIC4wOCk7XG4gICAgcGFkZGluZzogLjI1cmVtIC42cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4wM2VtO1xuXG4gICAgaSB7IGZvbnQtc2l6ZTogLjdyZW07IH1cblxuICAgICY6aG92ZXI6bm90KCYtLW11dGVkKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LCAzLCAxMzAsIC4xNSk7XG4gICAgfVxuXG4gICAgJi0tbXV0ZWQge1xuICAgICAgICBjb2xvcjogIzk0YTNiODtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxNDgsIDE2MywgMTg0LCAuMSk7XG4gICAgfVxufVxuXG4vLyBDcmVhdGlvbiBpbmZvIGluIHRvcGJhclxuLmFoLXRhc2stdmlld19fY3JlYXRlZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC40cmVtO1xuICAgIGZvbnQtc2l6ZTogLjcycmVtO1xuICAgIGNvbG9yOiAjOTRhM2I4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgbWFyZ2luLWxlZnQ6IC41cmVtO1xuXG4gICAgc3Ryb25nIHtcbiAgICAgICAgY29sb3I6ICM2NDc0OGI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxufVxuXG4uYWgtdGFzay12aWV3X19jcmVhdGVkLWF2YXRhciB7XG4gICAgd2lkdGg6IDIwcHg7IGhlaWdodDogMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogI2NiZDVlMTtcbiAgICBjb2xvcjogIzQ3NTU2OTtcbiAgICBmb250LXNpemU6IC42cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLy8gT24gbmFycm93IHRvcGJhcnMgaGlkZSB0aGUgdGV4dCBsYWJlbCwga2VlcCBvbmx5IHRoZSBhdmF0YXIgdG9vbHRpcFxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gICAgLmFoLXRhc2stdmlld19fY3JlYXRlZC10ZXh0IHsgZGlzcGxheTogbm9uZTsgfVxufVxuXG4vLyDilIDilIDilIAgU3RhdHVzIGNoaXAgZHJvcGRvd24g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4uYWgtdGFzay1zdGF0dXMtY2hpcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC40cmVtO1xuICAgIHBhZGRpbmc6IC4zcmVtIC43cmVtIC4zcmVtIC41NXJlbTtcbiAgICBmb250LXNpemU6IC44cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBmaWx0ZXIgLjE1cztcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC4yNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAuNnJlbTtcbiAgICAgICAgb3BhY2l0eTogLjY7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7IGZpbHRlcjogYnJpZ2h0bmVzcyguOTUpOyB9XG5cbiAgICAuYWgtdGFzay1zdGF0dXMtZG90IHtcbiAgICAgICAgd2lkdGg6IDhweDtcbiAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxufVxuXG4uYWgtdGFzay1zdGF0dXMtY2hpcC0tcGVuZGluZyAgICB7IGJhY2tncm91bmQ6IHJnYmEoMjQ1LDE1OCwxMSwuMTIpOyBjb2xvcjogI2I0NTMwOTsgfVxuLmFoLXRhc2stc3RhdHVzLWNoaXAtLWluX3Byb2dyZXNzIHsgYmFja2dyb3VuZDogcmdiYSgxNCwxNjUsMjMzLC4xMik7IGNvbG9yOiAjMDM2OWExOyB9XG4uYWgtdGFzay1zdGF0dXMtY2hpcC0tY29tcGxldGVkICB7IGJhY2tncm91bmQ6IHJnYmEoMTYsMTg1LDEyOSwuMTIpOyBjb2xvcjogIzA0Nzg1NzsgfVxuLmFoLXRhc2stc3RhdHVzLWNoaXAtLWNhbmNlbGxlZCAgeyBiYWNrZ3JvdW5kOiByZ2JhKDE1NiwxNjMsMTc1LC4xNSk7IGNvbG9yOiAjNmI3MjgwOyB9XG5cbi5haC10YXNrLXN0YXR1cy1vcHRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjVyZW07XG4gICAgZm9udC1zaXplOiAuOHJlbTtcblxuICAgIC5haC10YXNrLXN0YXR1cy1kb3Qge1xuICAgICAgICB3aWR0aDogOHB4OyBoZWlnaHQ6IDhweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgJi0tcGVuZGluZyAuYWgtdGFzay1zdGF0dXMtZG90ICAgIHsgYmFja2dyb3VuZDogI2I0NTMwOTsgfVxuICAgICYtLWluX3Byb2dyZXNzIC5haC10YXNrLXN0YXR1cy1kb3QgeyBiYWNrZ3JvdW5kOiAjMDM2OWExOyB9XG4gICAgJi0tY29tcGxldGVkIC5haC10YXNrLXN0YXR1cy1kb3QgIHsgYmFja2dyb3VuZDogIzA0Nzg1NzsgfVxuICAgICYtLWNhbmNlbGxlZCAuYWgtdGFzay1zdGF0dXMtZG90ICB7IGJhY2tncm91bmQ6ICM2YjcyODA7IH1cbn1cblxuLy8g4pSA4pSA4pSAIFByaW9yaXR5IGNoaXAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4uYWgtdGFzay1wcmlvcml0eS1jaGlwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjM1cmVtO1xuICAgIHBhZGRpbmc6IC4zcmVtIC43cmVtO1xuICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6OmFmdGVyIHsgbWFyZ2luLWxlZnQ6IC4ycmVtOyBmb250LXNpemU6IC41NXJlbTsgb3BhY2l0eTogLjU1OyB9XG5cbiAgICBpIHsgZm9udC1zaXplOiAuOHJlbTsgfVxufVxuXG4uYWgtdGFzay1wcmlvcml0eS1jaGlwLS1sb3cgICAgeyBiYWNrZ3JvdW5kOiByZ2JhKDE1NiwxNjMsMTc1LC4xMik7IGNvbG9yOiAjNmI3MjgwOyB9XG4uYWgtdGFzay1wcmlvcml0eS1jaGlwLS1tZWRpdW0geyBiYWNrZ3JvdW5kOiByZ2JhKDE0LDE2NSwyMzMsLjEyKTsgY29sb3I6ICMwMzY5YTE7IH1cbi5haC10YXNrLXByaW9yaXR5LWNoaXAtLWhpZ2ggICB7IGJhY2tncm91bmQ6IHJnYmEoMjQ1LDE1OCwxMSwuMTIpOyBjb2xvcjogI2I0NTMwOTsgfVxuLmFoLXRhc2stcHJpb3JpdHktY2hpcC0tdXJnZW50IHsgYmFja2dyb3VuZDogcmdiYSgyMjUsMjksOTEsLjEyKTsgY29sb3I6ICNiZTEyM2M7IH1cblxuLy8g4pSA4pSA4pSAIEJvZHkgMi1jb2x1bW4gbGF5b3V0IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLmFoLXRhc2stdmlld19fYm9keSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAzNDBweDtcbiAgICBnYXA6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG59XG5cbi8qIEZvcm0gdmFyaWFudDogbm8gYXNpZGUsIHNpbmdsZSBjb2x1bW4gKi9cbi5haC10YXNrLXZpZXdfX2JvZHktLWZvcm0ge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xufVxuXG4uYWgtdGFzay12aWV3LS1mb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogOTB2aDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYWgtdGFzay12aWV3X19tYWluIHtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtaW4taGVpZ2h0OiAwO1xufVxuXG4uYWgtdGFzay12aWV3X19hc2lkZSB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZWVmMWY1O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG59XG5cbi8vIOKUgOKUgOKUgCBUaXRsZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi5haC10YXNrLXZpZXdfX3RpdGxlLXdyYXAge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG59XG5cbi5haC10YXNrLXZpZXdfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMWUxZTFlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiAuNXJlbSAuNzVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gICAgbWFyZ2luOiAtLjVyZW0gLS43NXJlbSAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjEycztcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXG4gICAgJjpob3ZlciB7IGJhY2tncm91bmQ6IHJnYmEoMTM3LCAzLCAxMzAsIC4wNCk7IH1cbn1cblxuLmFoLXRhc2stdmlld19fdGl0bGUtaW5wdXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMxZTFlMWU7XG4gICAgcGFkZGluZzogLjVyZW0gLjc1cmVtO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICM4OTAzODI7XG4gICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xufVxuXG4vLyDilIDilIDilIAgTWV0YSBncmlkIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLmFoLXRhc2stdmlld19fbWV0YS1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgZ2FwOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cblxuLmFoLXRhc2stbWV0YV9fbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogLjY1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICM5NGEzYjg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogLjA1ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLjM1cmVtO1xufVxuXG4uYWgtdGFzay1tZXRhX19jaGlwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjVyZW07XG4gICAgcGFkZGluZzogLjM1cmVtIC43cmVtO1xuICAgIGZvbnQtc2l6ZTogLjhyZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVmMWY1O1xuICAgIGJvcmRlci1yYWRpdXM6IC41cmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgZm9udC1zaXplOiAuNnJlbTtcbiAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgfVxuXG4gICAgJjpob3Zlcjpub3QoJi0tc3RhdGljKSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzg5MDM4MjtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxMzcsIDMsIDEzMCwgLjAzKTtcbiAgICB9XG5cbiAgICAmLS1pbmxpbmUge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICY6aG92ZXIgeyBib3JkZXItY29sb3I6ICNlZWYxZjU7IGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgICB9XG5cbiAgICAmLS1zdGF0aWMge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICY6OmFmdGVyIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cbn1cblxuLmFoLXRhc2stbWV0YV9fYXZhdGFyIHtcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgbWluLXdpZHRoOiAyMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjODkwMzgyLCAjYjA0MGE4KTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IC42NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAmLS1lbXB0eSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlMmU4ZjA7XG4gICAgICAgIGNvbG9yOiAjOTRhM2I4O1xuICAgIH1cblxuICAgICYtLWdyYXkge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjY2JkNWUxO1xuICAgICAgICBjb2xvcjogIzQ3NTU2OTtcbiAgICB9XG59XG5cbi5haC10YXNrLW1ldGFfX2RhdGUtaW5wdXQge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGZvbnQtc2l6ZTogLjhyZW07XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYWgtdGFzay1tZXRhLS1mdWxsIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xufVxuXG4uYWgtdGFzay1hZGRyZXNzX190ZXh0IHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBjdXJzb3I6IHRleHQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uYWgtdGFzay1hZGRyZXNzX19pbnB1dCB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgZm9udC1zaXplOiAuOHJlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uYWgtdGFzay1hZGRyZXNzX19ncHMge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuMjVyZW07XG4gICAgcGFkZGluZzogLjE1cmVtIC41cmVtO1xuICAgIGZvbnQtc2l6ZTogLjdyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzg5MDM4MjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNywgMywgMTMwLCAuMDgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmbGV4LXNocmluazogMDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNywgMywgMTMwLCAuMTUpO1xuICAgICAgICBjb2xvcjogIzg5MDM4MjtcbiAgICB9XG59XG5cbi8qIEdvb2dsZSBQbGFjZXMgc3VnZ2VzdGlvbiBkcm9wZG93biBtdXN0IGZsb2F0IGFib3ZlIEJvb3RzdHJhcCBtb2RhbCAqL1xuLnBhYy1jb250YWluZXIge1xuICAgIHotaW5kZXg6IDEwODAgIWltcG9ydGFudDtcbn1cblxuLmFoLXRhc2stbWV0YV9fb3ZlcmR1ZSB7XG4gICAgZm9udC1zaXplOiAuNjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogI2JlMTIzYztcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIyNSwgMjksIDkxLCAuMTIpO1xuICAgIHBhZGRpbmc6IC4xcmVtIC40cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xufVxuXG4uYWgtdGFzay1tZXRhX19tZW51IHtcbiAgICBtYXgtaGVpZ2h0OiAyNDBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1pbi13aWR0aDogMjIwcHg7XG59XG5cbi5haC10YXNrLW1ldGFfX3VzZXIge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjVyZW07XG4gICAgZm9udC1zaXplOiAuOHJlbTtcbn1cblxuLy8g4pSA4pSA4pSAIFNlY3Rpb24gKGRlc2NyaXB0aW9uIC8gYXR0YWNobWVudHMpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLmFoLXRhc2stdmlld19fc2VjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuXG4uYWgtdGFzay12aWV3X19zZWN0aW9uLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjVyZW07XG4gICAgZm9udC1zaXplOiAuOHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4wM2VtO1xuICAgIG1hcmdpbi1ib3R0b206IC43NXJlbTtcblxuICAgIGkgeyBmb250LXNpemU6IC45cmVtOyBjb2xvcjogIzg5MDM4MjsgfVxufVxuXG4uYWgtdGFzay12aWV3X19zZWN0aW9uLWVkaXQge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogIzg5MDM4MjtcbiAgICBmb250LXNpemU6IC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIHBhZGRpbmc6IC4ycmVtIC41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IC4zNXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjI1cmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDEzNywgMywgMTMwLCAuMDgpOyB9XG4gICAgaSB7IGZvbnQtc2l6ZTogLjhyZW07IGNvbG9yOiBpbmhlcml0OyB9XG59XG5cbi5haC10YXNrLXZpZXdfX2Rlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nOiAxcmVtIDEuMXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWYxZjU7XG4gICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gICAgZm9udC1zaXplOiAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6ICMzMzQxNTU7XG4gICAgbWluLWhlaWdodDogMTQwcHg7XG4gICAgY3Vyc29yOiB0ZXh0O1xuXG4gICAgcDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIGEgeyBjb2xvcjogIzg5MDM4MjsgfVxufVxuXG4uYWgtdGFzay12aWV3X19kZXNjcmlwdGlvbi1lZGl0IHtcbiAgICAucWwtdG9vbGJhci5xbC1zbm93IHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VlZjFmNTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogLjVyZW0gLjVyZW0gMCAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmNmY2ZkO1xuICAgIH1cblxuICAgIC5xbC1jb250YWluZXIucWwtc25vdyB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWYxZjU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAuNXJlbSAuNXJlbTtcbiAgICAgICAgbWluLWhlaWdodDogMTgwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB9XG5cbiAgICAucWwtZWRpdG9yIHtcbiAgICAgICAgbWluLWhlaWdodDogMTgwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcblxuICAgICAgICAmLnFsLWJsYW5rOjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICM5NGEzYjg7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucWwtZWRpdG9yOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxufVxuXG4vLyDilIDilIDilIAgQXR0YWNobWVudHMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4uYWgtdGFzay12aWV3X19hdHRhY2htZW50cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogLjVyZW07XG59XG5cbi5haC10YXNrLXZpZXdfX2F0dGFjaG1lbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC41cmVtO1xuICAgIHBhZGRpbmc6IC41NXJlbSAuNzVyZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVmMWY1O1xuICAgIGJvcmRlci1yYWRpdXM6IC41cmVtO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAuMTVzLCBib3gtc2hhZG93IC4xNXM7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDEzNywgMywgMTMwLCAuMyk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIC4wNCk7XG4gICAgfVxufVxuXG4uYWgtdGFzay12aWV3X19hdHRhY2htZW50LWxpbmsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC43NXJlbTtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5haC10YXNrLXZpZXdfX2F0dGFjaG1lbnQtZGVsIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzk0YTNiODtcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogLjM1cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjEycywgY29sb3IgLjEycztcbiAgICBmbGV4LXNocmluazogMDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIyMCwgMzgsIDM4LCAuMDgpO1xuICAgICAgICBjb2xvcjogI2RjMjYyNjtcbiAgICB9XG59XG5cbi5haC1maWxlLWRyb3B6b25lLS11cGxvYWRpbmcge1xuICAgIG9wYWNpdHk6IC42O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uYWgtdGFzay12aWV3X19hdHRhY2htZW50LWljb24ge1xuICAgIHdpZHRoOiAzNnB4OyBoZWlnaHQ6IDM2cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgxMzcsIDMsIDEzMCwgLjA4KSwgcmdiYSgxNzYsIDY0LCAxNjgsIC4wOCkpO1xuICAgIGJvcmRlci1yYWRpdXM6IC40cmVtO1xuICAgIGNvbG9yOiAjODkwMzgyO1xuICAgIGZvbnQtc2l6ZTogMS4wNXJlbTtcbn1cblxuLmFoLXRhc2stdmlld19fYXR0YWNobWVudC1pbmZvIHsgZmxleDogMTsgbWluLXdpZHRoOiAwOyB9XG5cbi5haC10YXNrLXZpZXdfX2F0dGFjaG1lbnQtbmFtZSB7XG4gICAgZm9udC1zaXplOiAuODVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzFlMWUxZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5haC10YXNrLXZpZXdfX2F0dGFjaG1lbnQtbWV0YSB7XG4gICAgZm9udC1zaXplOiAuN3JlbTtcbiAgICBjb2xvcjogIzk0YTNiODtcbn1cblxuLmFoLXRhc2stdmlld19fYXR0YWNobWVudC1kbCB7XG4gICAgY29sb3I6ICM4OTAzODI7XG4gICAgZm9udC1zaXplOiAuOXJlbTtcbn1cblxuLy8g4pSA4pSA4pSAIENvbW1lbnRzIGNvbHVtbiAocmlnaHQgYXNpZGUpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLmFoLXRhc2stdmlld19fYXNpZGUtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuNXJlbTtcbiAgICBwYWRkaW5nOiAxcmVtIDEuMjVyZW07XG4gICAgZm9udC1zaXplOiAuODVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzFlMWUxZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZjFmNTtcblxuICAgIGkgeyBjb2xvcjogIzg5MDM4MjsgfVxufVxuXG4uYWgtdGFzay12aWV3X19jb21tZW50cy1jb3VudCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMzcsIDMsIDEzMCwgLjEpO1xuICAgIGNvbG9yOiAjODkwMzgyO1xuICAgIGZvbnQtc2l6ZTogLjdyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBwYWRkaW5nOiAuMXJlbSAuNDVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG59XG5cbi5haC10YXNrLWNvbW1lbnQtZm9ybSB7XG4gICAgcGFkZGluZzogMXJlbSAxLjI1cmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVmMWY1O1xufVxuXG4uYWgtdGFzay1jb21tZW50LWZvcm1fX2lucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiA3MnB4O1xuICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZThmMDtcbiAgICBib3JkZXItcmFkaXVzOiAuNXJlbTtcbiAgICBwYWRkaW5nOiAuNjVyZW0gLjhyZW07XG4gICAgZm9udC1zaXplOiAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGNvbG9yOiAjMWUxZTFlO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAuMTVzLCBib3gtc2hhZG93IC4xNXM7XG5cbiAgICAmOmZvY3VzLCAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4OTAzODI7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDEzNywgMywgMTMwLCAuMDgpO1xuICAgIH1cblxuICAgIC8vIFBsYWNlaG9sZGVyIGZvciBjb250ZW50ZWRpdGFibGVcbiAgICAmOmVtcHR5OjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtcGxhY2Vob2xkZXIpO1xuICAgICAgICBjb2xvcjogIzk0YTNiODtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxufVxuXG4vLyBNZW50aW9uIGNoaXAgaW5zaWRlIHRoZSBjb250ZW50ZWRpdGFibGUgaW5wdXRcbi5haC1tZW50aW9uLWNoaXAge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAxcHggLjQ1cmVtO1xuICAgIG1hcmdpbjogMCAxcHg7XG4gICAgZm9udC1zaXplOiAuOHJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjODkwMzgyO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LCAzLCAxMzAsIC4xMik7XG4gICAgYm9yZGVyLXJhZGl1czogLjNyZW07XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LCAzLCAxMzAsIC4yKTtcbiAgICB9XG59XG5cbi5haC10YXNrLWNvbW1lbnQtZm9ybV9fZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbi10b3A6IC41cmVtO1xuXG4gICAgY29kZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LCAzLCAxMzAsIC4wOCk7XG4gICAgICAgIGNvbG9yOiAjODkwMzgyO1xuICAgICAgICBwYWRkaW5nOiAxcHggNHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xuICAgIH1cbn1cblxuLmFoLXRhc2stY29tbWVudHMge1xuICAgIGZsZXg6IDE7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwYWRkaW5nOiAuNXJlbSAwO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG59XG5cbi5haC10YXNrLWNvbW1lbnRzX19lbXB0eSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDIuNXJlbSAxLjI1cmVtO1xuICAgIGNvbG9yOiAjOTRhM2I4O1xuICAgIGZvbnQtc2l6ZTogLjg1cmVtO1xuXG4gICAgaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICAgICAgICBjb2xvcjogI2NiZDVlMTtcbiAgICB9XG5cbiAgICBzbWFsbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAuMjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xuICAgIH1cblxuICAgIGNvZGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNywgMywgMTMwLCAuMDgpO1xuICAgICAgICBjb2xvcjogIzg5MDM4MjtcbiAgICAgICAgcGFkZGluZzogMXB4IDRweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIH1cbn1cblxuLmFoLXRhc2stY29tbWVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IC42cmVtO1xuICAgIHBhZGRpbmc6IC43NXJlbSAxLjI1cmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjVmNmY4O1xuXG4gICAgJjpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogMDsgfVxufVxuXG4uYWgtdGFzay1jb21tZW50X19hdmF0YXIge1xuICAgIHdpZHRoOiAzMHB4OyBoZWlnaHQ6IDMwcHg7IG1pbi13aWR0aDogMzBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzg5MDM4MiwgI2IwNDBhOCk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAuN3JlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmFoLXRhc2stY29tbWVudF9fYm9keSB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5haC10YXNrLWNvbW1lbnRfX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLjE1cmVtO1xufVxuXG4uYWgtdGFzay1jb21tZW50X19hdXRob3Ige1xuICAgIGZvbnQtc2l6ZTogLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzFlMWUxZTtcbn1cblxuLmFoLXRhc2stY29tbWVudF9fZGF0ZSB7XG4gICAgZm9udC1zaXplOiAuN3JlbTtcbiAgICBjb2xvcjogIzk0YTNiODtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLmFoLXRhc2stY29tbWVudF9fZGVsZXRlIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6ICM5NGEzYjg7XG4gICAgcGFkZGluZzogMnB4IDRweDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgZm9udC1zaXplOiAuN3JlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMsIGNvbG9yIC4xNXM7XG5cbiAgICAmOmhvdmVyIHsgY29sb3I6ICNiZTEyM2M7IGJhY2tncm91bmQ6IHJnYmEoMjI1LCAyOSwgOTEsIC4wOCk7IH1cbn1cblxuLmFoLXRhc2stY29tbWVudDpob3ZlciAuYWgtdGFzay1jb21tZW50X19kZWxldGUgeyBvcGFjaXR5OiAxOyB9XG5cbi5haC10YXNrLWNvbW1lbnRfX2NvbnRlbnQge1xuICAgIGZvbnQtc2l6ZTogLjg1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU1O1xuICAgIGNvbG9yOiAjMzM0MTU1O1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICAgIHAgeyBtYXJnaW46IDAgMCAuMzVyZW07IH1cbiAgICBwOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG59XG5cbi8vIE1lbnRpb24gY2hpcCBpbiByZW5kZXJlZCBjb21tZW50XG4uYWgtbWVudGlvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAgLjNyZW07XG4gICAgZm9udC1zaXplOiAuNzhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzg5MDM4MjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNywgMywgMTMwLCAuMSk7XG4gICAgYm9yZGVyLXJhZGl1czogLjI1cmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBtYXJnaW46IDAgMXB4O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LCAzLCAxMzAsIC4yKTtcbiAgICAgICAgY29sb3I6ICM1ZTAyNTk7XG4gICAgfVxufVxuXG4vLyDilIDilIDilIAgRm9vdGVyIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLmFoLXRhc2stdmlld19fZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuNXJlbTtcbiAgICBwYWRkaW5nOiAuODVyZW0gMS4yNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVmMWY1O1xufVxuXG4vLyDilIDilIDilIAgVHJpYnV0ZSAobWVudGlvbiBhdXRvY29tcGxldGUpIHN0eWxpbmcg4pSA4pSA4pSAXG4udHJpYnV0ZS1jb250YWluZXIge1xuICAgIHotaW5kZXg6IDIwMDAwICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIGJvcmRlci1yYWRpdXM6IC41cmVtO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgwLCAwLCAwLCAuMSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogLjI1cmVtIDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWF4LWhlaWdodDogMjYwcHg7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IC41NXJlbTtcbiAgICAgICAgcGFkZGluZzogLjQ1cmVtIC43NXJlbTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LXNpemU6IC44cmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4xMnM7XG5cbiAgICAgICAgJi5oaWdobGlnaHQsICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxMzcsIDMsIDEzMCwgLjA4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50cmlidXRlLWF2YXRhciB7XG4gICAgICAgIHdpZHRoOiAyMnB4OyBoZWlnaHQ6IDIycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiAuNjVyZW07XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM4OTAzODIsICNiMDQwYTgpO1xuXG4gICAgICAgICYtLWNsaWVudCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjM2I4MmY2LCAjMjU2M2ViKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50cmlidXRlLW5hbWUge1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBjb2xvcjogIzFlMWUxZTtcbiAgICB9XG5cbiAgICAudHJpYnV0ZS1yb2xlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIGZvbnQtc2l6ZTogLjY1cmVtO1xuICAgICAgICBjb2xvcjogIzk0YTNiODtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wNGVtO1xuICAgIH1cblxuICAgIC50cmlidXRlLW5vbWF0Y2gge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogLjc1cmVtIDFyZW07XG4gICAgICAgIGNvbG9yOiAjOTRhM2I4O1xuICAgICAgICBmb250LXNpemU6IC44cmVtO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxufVxuXG4vLyDilIDilIDilIAgUmVzcG9uc2l2ZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICN0YXNrVmlld01vZGFsIC5tb2RhbC1kaWFsb2cgeyBtYXgtd2lkdGg6IDEwMCU7IG1hcmdpbjogMDsgaGVpZ2h0OiAxMDB2aDsgfVxuICAgICN0YXNrVmlld01vZGFsIC5tb2RhbC1jb250ZW50IHsgaGVpZ2h0OiAxMDB2aDsgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5haC10YXNrLXZpZXcgeyBtYXgtaGVpZ2h0OiAxMDB2aDsgfVxuICAgIC5haC10YXNrLXZpZXdfX2JvZHkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG4gICAgLmFoLXRhc2stdmlld19fYXNpZGUge1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWYxZjU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDUwdmg7XG4gICAgfVxuICAgIC5haC10YXNrLXZpZXdfX21ldGEtZ3JpZCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cbn1cblxuLy8g4pSA4pSA4pSAIERhcmsgbW9kZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbltkYXRhLWNvcmV1aS10aGVtZT1cImRhcmtcIl0ge1xuICAgICN0YXNrVmlld01vZGFsIC5tb2RhbC1jb250ZW50IHsgYmFja2dyb3VuZDogIzEzMTMxNjsgfVxuICAgIC5haC10YXNrLXZpZXdfX3RvcGJhciB7IGJhY2tncm91bmQ6ICMxYTFhMWQ7IGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjA2KTsgfVxuICAgIC5haC10YXNrLXZpZXdfX21haW4geyBiYWNrZ3JvdW5kOiAjMTMxMzE2OyB9XG4gICAgLmFoLXRhc2stdmlld19fYXNpZGUgeyBiYWNrZ3JvdW5kOiAjMWExYTFkOyBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMDYpOyB9XG4gICAgLmFoLXRhc2stdmlld19fdGl0bGUgeyBjb2xvcjogI2U1ZTdlYjsgfVxuICAgIC5haC10YXNrLXZpZXdfX3RpdGxlOmhvdmVyIHsgYmFja2dyb3VuZDogcmdiYSgxNzYsIDY0LCAxNjgsIC4wOCk7IH1cbiAgICAuYWgtdGFzay1tZXRhX19jaGlwLFxuICAgIC5haC10YXNrLXZpZXdfX2Rlc2NyaXB0aW9uLFxuICAgIC5haC10YXNrLXZpZXdfX2F0dGFjaG1lbnQsXG4gICAgLmFoLXRhc2stY29tbWVudC1mb3JtX19pbnB1dCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMxYTFhMWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMDYpO1xuICAgICAgICBjb2xvcjogI2U1ZTdlYjtcbiAgICB9XG4gICAgLmFoLXRhc2stdmlld19fZGVzY3JpcHRpb24geyBjb2xvcjogI2NiZDVlMTsgfVxuICAgIC5haC10YXNrLXZpZXdfX2FzaWRlLWhlYWRlciB7IGNvbG9yOiAjZTVlN2ViOyBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4wNik7IH1cbiAgICAuYWgtdGFzay1jb21tZW50LWZvcm0geyBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4wNik7IH1cbiAgICAuYWgtdGFzay1jb21tZW50IHsgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMDQpOyB9XG4gICAgLmFoLXRhc2stY29tbWVudF9fYXV0aG9yIHsgY29sb3I6ICNlNWU3ZWI7IH1cbiAgICAuYWgtdGFzay1jb21tZW50X19jb250ZW50IHsgY29sb3I6ICNjYmQ1ZTE7IH1cbiAgICAuYWgtdGFzay12aWV3X19mb290ZXIgeyBiYWNrZ3JvdW5kOiAjMWExYTFkOyBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4wNik7IH1cbiAgICAudHJpYnV0ZS1jb250YWluZXIgeyBiYWNrZ3JvdW5kOiAjMWExYTFkOyBib3JkZXItY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjEpOyB9XG4gICAgLnRyaWJ1dGUtY29udGFpbmVyIC50cmlidXRlLW5hbWUgeyBjb2xvcjogI2U1ZTdlYjsgfVxuICAgIC50cmlidXRlLWNvbnRhaW5lciBsaTpob3ZlciwgLnRyaWJ1dGUtY29udGFpbmVyIGxpLmhpZ2hsaWdodCB7IGJhY2tncm91bmQ6IHJnYmEoMTc2LCA2NCwgMTY4LCAuMTUpOyB9XG59XG4iLCIvKiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgIEJ1bGsgQWN0aW9ucyDigJQgc2VsZWN0aW9uIG9uIHRhYmxlcywgZmxvYXRpbmcgYWN0aW9uIGJhcixcbiAgIGNvbmZpcm0gbW9kYWwsIHJlY2lwaWVudCBjb21wb3NlIG1vZGFsLCB0b2FzdHMuXG4gICDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cblxuLyog4pSA4pSAIFNlbGVjdGVkIHJvdyBoaWdobGlnaHQg4pSA4pSAICovXG4uYWgtcm93LmJ1bGstc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LCAzLCAxMzAsIC4wNCk7XG59XG5cbi5idWxrLWNoZWNrYm94LWNlbGwge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcblxuICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG4vKiDilIDilIAgRmxvYXRpbmcgYm90dG9tIGFjdGlvbiBiYXIg4pSA4pSAICovXG4uYnVsay1hY3Rpb24tYmFyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDogNTAlO1xuICAgIGJvdHRvbTogMjRweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgxMjAlKTtcbiAgICBiYWNrZ3JvdW5kOiAjMWExYTFkO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgcGFkZGluZzogMTBweCAxNHB4IDEwcHggMjBweDtcbiAgICBib3gtc2hhZG93OiAwIDEycHggMzJweCByZ2JhKDAsIDAsIDAsIC4yNSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMThweDtcbiAgICB6LWluZGV4OiAxMDgwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4yNXMgZWFzZSwgb3BhY2l0eSAuMnMgZWFzZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICYuc2hvdyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDApO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB9XG59XG5cbi5idWxrLWJhci1sZWZ0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgZm9udC1zaXplOiAuODVyZW07XG59XG5cbi5idWxrLWJhci1jb3VudCB7XG4gICAgYmFja2dyb3VuZDogIzg5MDM4MjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAycHggOXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IC44cmVtO1xuICAgIG1pbi13aWR0aDogMjhweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5idWxrLWJhci1sYWJlbCB7XG4gICAgY29sb3I6ICNkNGQ4ZTg7XG59XG5cbi5idWxrLWJhci1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA2cHg7XG59XG5cbi5idWxrLWJhci1idG4ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjA4KTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgZm9udC1zaXplOiAuOHJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNnB4O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjEycywgY29sb3IgLjEycztcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNCk7XG4gICAgfVxuXG4gICAgaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjlyZW07XG4gICAgfVxuXG4gICAgJi0tZGFuZ2VyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyMjAsIDM4LCAzOCwgLjI1KTtcbiAgICAgICAgY29sb3I6ICNmZWNhY2E7XG4gICAgfVxufVxuXG4uYnVsay1iYXItY2xvc2Uge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjOWFhM2IyO1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMDgpO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG59XG5cbi8qIOKUgOKUgCBDb25maXJtIG92ZXJsYXkg4pSA4pSAICovXG4uYnVsay1jb25maXJtLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBpbnNldDogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE1LCAxNywgMjIsIC41NSk7XG4gICAgei1pbmRleDogMTA5MDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTZweDtcbn1cblxuLmJ1bGstY29uZmlybS1kaWFsb2cge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBib3gtc2hhZG93OiAwIDI0cHggNDhweCByZ2JhKDAsIDAsIDAsIC4yNSk7XG4gICAgcGFkZGluZzogMjhweCAyOHB4IDI0cHggMjhweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDQyMHB4O1xufVxuXG4uYnVsay1jb25maXJtLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMWUxZTFlO1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIG1hcmdpbjogMCAwIC42cmVtIDA7XG59XG5cbi5idWxrLWNvbmZpcm0tdGV4dCB7XG4gICAgY29sb3I6ICM1NTU7XG4gICAgZm9udC1zaXplOiAuOXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41NTtcbiAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG59XG5cbi5idWxrLWNvbmZpcm0tYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGdhcDogOHB4O1xufVxuXG4vKiDilIDilIAgQ29tcG9zZSBtb2RhbCAoY2FtcGFpZ24pIOKUgOKUgCAqL1xuLmJ1bGstY29tcG9zZS1iYWNrZHJvcCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGluc2V0OiAwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTUsIDE3LCAyMiwgLjU1KTtcbiAgICB6LWluZGV4OiAxMDkwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5idWxrLWNvbXBvc2UtZGlhbG9nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgYm94LXNoYWRvdzogMCAyNHB4IDQ4cHggcmdiYSgwLCAwLCAwLCAuMjUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNzIwcHg7XG4gICAgbWF4LWhlaWdodDogOTJ2aDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmJ1bGstY29tcG9zZS1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiAxMnB4O1xuICAgIHBhZGRpbmc6IDE4cHggMjJweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZjFmNTtcblxuICAgIC5idWxrLWNvbXBvc2UtdGl0bGUge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgY29sb3I6ICMxZTFlMWU7XG4gICAgfVxufVxuXG4uYnVsay1jb21wb3NlLWJvZHkge1xuICAgIHBhZGRpbmc6IDE4cHggMjJweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGZsZXg6IDE7XG4gICAgbWluLWhlaWdodDogMDtcbn1cblxuLmJ1bGstY29tcG9zZS1mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBnYXA6IDhweDtcbiAgICBwYWRkaW5nOiAxNHB4IDIycHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWYxZjU7XG4gICAgYmFja2dyb3VuZDogI2ZhZmJmYztcbn1cblxuLmJ1bGstY29tcG9zZS1yZWNpcGllbnRzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDZweDtcbiAgICBtaW4taGVpZ2h0OiAzMnB4O1xufVxuXG4uYnVsay1jb21wb3NlLXJlY2lwaWVudCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNywgMywgMTMwLCAuMDYpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTM3LCAzLCAxMzAsIC4xMik7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgcGFkZGluZzogNHB4IDRweCA0cHggMTBweDtcbiAgICBmb250LXNpemU6IC44cmVtO1xuXG4gICAgLnJlY2lwaWVudC1uYW1lIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICMxZTFlMWU7XG4gICAgfVxuICAgIC5yZWNpcGllbnQtZW1haWwge1xuICAgICAgICBjb2xvcjogIzcxNzE3MTtcbiAgICAgICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgfVxuICAgIC5yZWNpcGllbnQtcmVtb3ZlIHtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICM4OTAzODI7XG4gICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNywgMywgMTMwLCAuMTUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYnVsay1jb21wb3NlLXNlYXJjaC13cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5idWxrLWNvbXBvc2Utc3VnZ2VzdGlvbnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlN2U5ZjI7XG4gICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gICAgYm94LXNoYWRvdzogMCA4cHggMTZweCByZ2JhKDAsIDAsIDAsIC4wOCk7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIG1heC1oZWlnaHQ6IDI0MHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgei1pbmRleDogNTtcbn1cblxuLmJ1bGstY29tcG9zZS1zdWdnZXN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjNmNGY2O1xuICAgIGZvbnQtc2l6ZTogLjg1cmVtO1xuXG4gICAgJjpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAgICY6aG92ZXIsICYuaXMtYWN0aXZlIHsgYmFja2dyb3VuZDogcmdiYSgxMzcsIDMsIDEzMCwgLjA2KTsgfVxuXG4gICAgLnN1Z2dlc3Rpb24tbmFtZSB7IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9yOiAjMWUxZTFlOyB9XG4gICAgLnN1Z2dlc3Rpb24tZW1haWwgeyBjb2xvcjogIzcxNzE3MTsgZm9udC1zaXplOiAuNzVyZW07IH1cbn1cblxuLmJ1bGstY29tcG9zZS1zdWdnZXN0aW9uLWVtcHR5IHtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIGZvbnQtc2l6ZTogLjg1cmVtO1xuICAgIGNvbG9yOiAjOTRhM2I4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyog4pSA4pSAIFRvYXN0IOKUgOKUgCAqL1xuLmJ1bGstdG9hc3Qge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMjRweDtcbiAgICBib3R0b206IDk2cHg7XG4gICAgYmFja2dyb3VuZDogIzFhMWExZDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAxMnB4IDE4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBib3gtc2hhZG93OiAwIDEycHggMjRweCByZ2JhKDAsIDAsIDAsIC4yNSk7XG4gICAgZm9udC1zaXplOiAuODVyZW07XG4gICAgei1pbmRleDogMTEwMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjI1cyBlYXNlLCBvcGFjaXR5IC4ycyBlYXNlO1xuXG4gICAgJi0tZGFuZ2VyIHsgYmFja2dyb3VuZDogI2I5MWMxYzsgfVxuICAgICYtLXN1Y2Nlc3MgeyBiYWNrZ3JvdW5kOiAjMDQ3ODU3OyB9XG4gICAgJi0td2FybmluZyB7IGJhY2tncm91bmQ6ICNiNDUzMDk7IH1cblxuICAgICYtLW91dCB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xuICAgIH1cbn1cbiIsIi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gQmlsbGluZyBtb2R1bGUgc3R5bGVzXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLy8gU2VjdGlvbiB3cmFwcGVyIGluIHF1b3RlIGZvcm1cbi5haC1iaWxsaW5nLXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDFyZW0gMS4yNXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjAxKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH1cbn1cblxuLy8gTGluZSBpdGVtIGluIGZvcm1cbi5haC1iaWxsaW5nLWxpbmUtaXRlbSB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNzVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjA0KTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2U7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDEzNywgMywgMTMwLCAwLjE1KTtcbiAgICB9XG59XG5cbi8vIEJpbGxpbmcgc3VtbWFyeSBibG9jayAodG90YWxzKVxuLmFoLWJpbGxpbmctc3VtbWFyeSB7XG4gICAgcGFkZGluZzogMS4yNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDEzNywgMywgMTMwLCAwLjAyKSwgcmdiYSgxMzcsIDMsIDEzMCwgMC4wNikpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMzcsIDMsIDEzMCwgMC4wOCk7XG59XG5cbi5haC1iaWxsaW5nLXN1bW1hcnlfX3JvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbn1cblxuLmFoLWJpbGxpbmctc3VtbWFyeV9fdG90YWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMC43NXJlbSAwIDA7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCByZ2JhKDEzNywgMywgMTMwLCAwLjIpO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAgIC5haC1iaWxsaW5nLXN1bW1hcnlfX3ZhbHVlIHtcbiAgICAgICAgY29sb3I6ICM4OTAzODI7XG4gICAgfVxufVxuXG4vLyBTdW1tYXJ5IOKAlCBcIkFqb3V0ZXIgdW5lIHJlbWlzZVwiIGxpbmtcbi5haC1iaWxsaW5nLXN1bW1hcnlfX2FkZC1kaXNjb3VudCB7XG4gICAgcGFkZGluZzogMC4yNXJlbSAwO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICM4OTAzODI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gU3VtbWFyeSDigJQgZGlzY291bnQgYmxvY2sgKGJlZm9yZS10b3RhbCArIGlucHV0IHJvdylcbi5haC1iaWxsaW5nLXN1bW1hcnlfX2Rpc2NvdW50LWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgcmdiYSgxMzcsIDMsIDEzMCwgMC4xNSk7XG59XG5cbi5haC1iaWxsaW5nLXN1bW1hcnlfX2Rpc2NvdW50LXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwLjM3NXJlbSAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG59XG5cbi5haC1iaWxsaW5nLXN1bW1hcnlfX2Rpc2NvdW50LWlucHV0cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDAuMjVyZW07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIGlucHV0IHtcbiAgICAgICAgbWF4LXdpZHRoOiA4MHB4O1xuICAgIH1cblxuICAgIHNlbGVjdCB7XG4gICAgICAgIG1heC13aWR0aDogNTVweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xuICAgIH1cblxuICAgIGJ1dHRvbiB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAjZGMzNTQ1O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDAuMjVyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2U7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogI2E3MWQyYTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gUERGIHByZXZpZXdcbi5haC1iaWxsaW5nLXBkZi1wcmV2aWV3IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDYwMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBpZnJhbWUsXG4gICAgZW1iZWQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxufVxuXG4vLyDilIDilIAgRG9jdW1lbnQtc3R5bGUgcXVvdGUgZm9ybSDilIDilIBcblxuLmFoLWJpbGxpbmctZG9jLWxvZ28ge1xuICAgIG1heC1oZWlnaHQ6IDk2cHg7XG4gICAgbWF4LXdpZHRoOiAyMjBweDtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYWgtYmlsbGluZy1kb2MtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBwYWRkaW5nOiAycmVtIDJyZW0gMS41cmVtO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMTM3LCAzLCAxMzAsIDAuMDMpLCByZ2JhKDEzNywgMywgMTMwLCAwLjA3KSk7XG4gICAgYm9yZGVyLXJhZGl1czogMXJlbSAxcmVtIDAgMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxMzcsIDMsIDEzMCwgMC4wOCk7XG5cbiAgICAmX19sZWZ0IHsgZmxleDogMTsgbWluLXdpZHRoOiAwOyB9XG4gICAgJl9fcmlnaHQgeyB0ZXh0LWFsaWduOiByaWdodDsgZmxleC1zaHJpbms6IDA7IH1cblxuICAgICZfX2NvbXBhbnkge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiAjODkwMzgyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgIH1cbiAgICAmX19pbmZvIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIGNvbG9yOiAjNzE3MTcxO1xuICAgICAgICBsaW5lLWhlaWdodDogMS43O1xuICAgIH1cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgY29sb3I6ICM4OTAzODI7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgfVxuICAgICZfX3JlZiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBjb2xvcjogIzcxNzE3MTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIH1cbn1cblxuLmFoLWJpbGxpbmctZG9jLXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMnJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjA0KTtcblxuICAgICY6bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b206IG5vbmU7IH1cbn1cblxuLmFoLWJpbGxpbmctZG9jLWRhdGVzIHtcbiAgICBwYWRkaW5nOiAxcmVtIDJyZW07XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjAxKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjA0KTtcbn1cblxuLmFoLWJpbGxpbmctZG9jLWZvb3RlciB7XG4gICAgcGFkZGluZzogMS4yNXJlbSAycmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBnYXA6IDAuNzVyZW07XG59XG5cbi8vIE92ZXJyaWRlIHRhYmxlLXJlc3BvbnNpdmUgb3ZlcmZsb3cgZm9yIGF1dG9jb21wbGV0ZSBkcm9wZG93blxuLmFoLWJpbGxpbmctc2VjdGlvbiAudGFibGUtcmVzcG9uc2l2ZSB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8vIExpbmUgaXRlbXMgdGFibGUgKGRvY3VtZW50IHN0eWxlKVxuLmFoLWJpbGxpbmctdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG5cbiAgICB0aGVhZCB0aCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gICAgICAgIGNvbG9yOiAjNzE3MTcxO1xuICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjVyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZ2JhKDEzNywgMywgMTMwLCAwLjE1KTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICB0Ym9keSB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNCk7XG4gICAgfVxuXG4gICAgJl9fcm93OmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxMzcsIDMsIDEzMCwgMC4wMTUpO1xuICAgIH1cblxuICAgIC5mb3JtLWNvbnRyb2wtc20sXG4gICAgLmZvcm0tc2VsZWN0LXNtIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgICB9XG59XG5cbi8vIEFydGljbGUgYXV0b2NvbXBsZXRlIGRyb3Bkb3duXG4uYWgtYmlsbGluZy1hdXRvY29tcGxldGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAxMDUwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBtYXgtaGVpZ2h0OiAyNDBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuNzVyZW07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNCk7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcyBlYXNlO1xuXG4gICAgICAgICY6aG92ZXIsICYtLWFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNywgMywgMTMwLCAwLjA0KTtcbiAgICAgICAgfVxuICAgICAgICAmOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiBub25lOyB9XG4gICAgfVxuXG4gICAgJl9fbmFtZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBjb2xvcjogIzFlMWUxZTtcbiAgICB9XG4gICAgJl9fZGV0YWlsIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBjb2xvcjogIzcxNzE3MTtcbiAgICB9XG59XG5cbi8vIOKUgOKUgCBMaW5lIGl0ZW0gcXVpY2sgYWN0aW9ucyDilIDilIBcblxuLy8gXCJVdGlsaXNlciDCqyB4eHggwrtcIiBidXR0b24gaW4gYXV0b2NvbXBsZXRlIChubyByZXN1bHRzKVxuLmFoLWJpbGxpbmctYXV0b2NvbXBsZXRlX19jcmVhdGUge1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuNzVyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LCAzLCAxMzAsIDAuMDQpO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDQpO1xuICAgIGNvbG9yOiAjODkwMzgyO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzIGVhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAuNXJlbSAwLjVyZW07XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxMzcsIDMsIDEzMCwgMC4xKTtcbiAgICB9XG5cbiAgICBpIHsgb3BhY2l0eTogMC43OyB9XG59XG5cbi8vIEtlYmFiIG1lbnUgYnV0dG9uICjii64pXG4uYWgtYmlsbGluZy1rZWJhYiB7XG4gICAgcGFkZGluZzogMC4ycmVtIDAuMzVyZW07XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjNzE3MTcxO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICAgICAgICBjb2xvcjogIzFlMWUxZTtcbiAgICB9XG59XG5cbi8vIEFkZCBsaW5lIGFmdGVyIGJ1dHRvbiAo4oqVKVxuLmFoLWJpbGxpbmctYWRkLWFmdGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEzNywgMywgMTMwLCAwLjIpO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjODkwMzgyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LCAzLCAxMzAsIDAuMDgpO1xuICAgICAgICBib3JkZXItY29sb3I6ICM4OTAzODI7XG4gICAgfVxufVxuXG4vLyBEZXNjcmlwdGlvbiByb3cgKGZ1bGwtd2lkdGggYmVsb3cgbGluZSBpdGVtKVxuLmFoLWJpbGxpbmctZGVzYy1yb3cge1xuICAgICZfX2NlbGwge1xuICAgICAgICBwYWRkaW5nOiAwIDAuNXJlbSAwLjc1cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDYpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgdGV4dGFyZWEge1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgY29sb3I6ICM1NTU7XG4gICAgfVxufVxuXG4vLyBUZXh0YXJlYXMgaW4gYmlsbGluZyBmb3JtcyBncm93IHdpdGggdGhlaXIgY29udGVudCAoSlMgc2V0cyB0aGUgaGVpZ2h0KSxcbi8vIHNvIHRoZSBtYW51YWwgcmVzaXplIGdyaXAgYW5kIHRoZSBpbm5lciBzY3JvbGxiYXIgYXJlIGJvdGggb3V0IG9mIHRoZSB3YXkuXG4uYWgtYmlsbGluZy10YWJsZSB0ZXh0YXJlYSxcbi5haC1iaWxsaW5nLWRlc2Mtcm93IHRleHRhcmVhIHtcbiAgICByZXNpemU6IG5vbmU7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xufVxuXG4vLyBEaXNjb3VudCBpbmxpbmUgZ3JvdXAgKGlucHV0ICsgdHlwZSB0b2dnbGUpXG4uYWgtYmlsbGluZy1kaXNjb3VudC1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDAuMjVyZW07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtaW4td2lkdGg6IDEzMHB4O1xuXG4gICAgLmZvcm0tY29udHJvbC1zbSB7XG4gICAgICAgIG1heC13aWR0aDogNzBweDtcbiAgICB9XG4gICAgLmZvcm0tc2VsZWN0LXNtIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1NXB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07XG4gICAgfVxufVxuXG4vLyBBY3Rpb24gY29sdW1ucyAobmFycm93LCBubyBwYWRkaW5nKVxuLmFoLWJpbGxpbmctdGFibGUgLmFoLWJpbGxpbmctY29sLWFjdGlvbiB7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgcGFkZGluZzogMC4yNXJlbSAwLjE1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vLyBCaWxsaW5nIGJhZGdlIHZhcmlhbnRzIChleHRlbmRzIC5haC1iYWRnZSlcbi5haC1iaWxsaW5nLWJhZGdlIHtcbiAgICAmLS1kcmFmdCAgICAgeyBiYWNrZ3JvdW5kOiByZ2JhKDE1NiwgMTYzLCAxNzUsIDAuMSk7IGNvbG9yOiAjNmI3MjgwOyB9XG4gICAgJi0tc2VudCAgICAgIHsgYmFja2dyb3VuZDogcmdiYSgxNCwgMTY1LCAyMzMsIDAuMSk7ICBjb2xvcjogIzAzNjlhMTsgfVxuICAgICYtLWFjY2VwdGVkICB7IGJhY2tncm91bmQ6IHJnYmEoMTYsIDE4NSwgMTI5LCAwLjEpOyAgY29sb3I6ICMwNDc4NTc7IH1cbiAgICAmLS1yZWplY3RlZCAgeyBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjEpOyAgIGNvbG9yOiAjZGMyNjI2OyB9XG4gICAgJi0tZXhwaXJlZCAgIHsgYmFja2dyb3VuZDogcmdiYSgyNDUsIDE1OCwgMTEsIDAuMSk7ICBjb2xvcjogI2I0NTMwOTsgfVxuICAgICYtLWludm9pY2VkICB7IGJhY2tncm91bmQ6IHJnYmEoMTM3LCAzLCAxMzAsIDAuMSk7ICAgY29sb3I6ICM4OTAzODI7IH1cbiAgICAmLS1wYWlkICAgICAgeyBiYWNrZ3JvdW5kOiByZ2JhKDE2LCAxODUsIDEyOSwgMC4xKTsgIGNvbG9yOiAjMDQ3ODU3OyB9XG4gICAgJi0tcGFydGlhbGx5X3BhaWQgeyBiYWNrZ3JvdW5kOiByZ2JhKDI0NSwgMTU4LCAxMSwgMC4xKTsgY29sb3I6ICNiNDUzMDk7IH1cbiAgICAmLS1vdmVyZHVlICAgeyBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjEpOyAgIGNvbG9yOiAjZGMyNjI2OyB9XG4gICAgJi0tY2FuY2VsbGVkIHsgYmFja2dyb3VuZDogcmdiYSgxNTYsIDE2MywgMTc1LCAwLjEpOyBjb2xvcjogIzZiNzI4MDsgfVxuICAgICYtLWFwcGxpZWQgICB7IGJhY2tncm91bmQ6IHJnYmEoMTYsIDE4NSwgMTI5LCAwLjEpOyAgY29sb3I6ICMwNDc4NTc7IH1cbn1cblxuLy8g4pSA4pSAIENsaWVudCBBdXRvY29tcGxldGUgKHR5cGVhaGVhZCkg4pSA4pSAXG5cbi5haC1jbGllbnQtYXV0b2NvbXBsZXRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmX19pbnB1dC13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDAuNzVyZW07XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIGNvbG9yOiAjYTBhMGE4O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAmX19pbnB1dCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMi4yNXJlbSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICZfX3Jlc3VsdHMge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDEwNTA7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgICBtYXgtaGVpZ2h0OiAyODBweDtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMC4zNzVyZW07XG5cbiAgICAgICAgJi0tb3BlbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTtcblxuICAgICAgICAmOmhvdmVyLCAmLS1hY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMzcsIDMsIDEzMCwgMC4wNCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtLW5hbWUge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBjb2xvcjogIzFlMWUxZTtcbiAgICB9XG5cbiAgICAmX19pdGVtLWVtYWlsIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBjb2xvcjogIzcxNzE3MTtcbiAgICAgICAgbWFyZ2luLXRvcDogMC4xcmVtO1xuICAgIH1cblxuICAgICZfX2VtcHR5IHtcbiAgICAgICAgcGFkZGluZzogMC43NXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgY29sb3I6ICNhMGEwYTg7XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBET0NVTUVOVFMg4oCUIEFyY2hpSHViIGRvY3VtZW50IG1hbmFnZW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiAtLS0gRG9jdW1lbnQgR3JpZCAtLS0gKi9cbi5haC1kb2MtZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyODBweCwgMWZyKSk7XG4gICAgZ2FwOiAxcmVtO1xufVxuXG4vKiAtLS0gRG9jdW1lbnQgQ2FyZCAtLS0gKi9cbi5haC1kb2MtY2FyZC13cmFwIHtcbiAgICBhbmltYXRpb246IGFoLWRvYy1mYWRlLWluIC4zcyBlYXNlIGJvdGg7XG59XG5cbi5haC1kb2MtY2FyZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6IC43NXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4wNik7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksIGJveC1zaGFkb3cgLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IC43NXJlbTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCA4cHggMjRweCByZ2JhKDAsMCwwLC4wNik7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgYWgtZG9jLWZhZGUtaW4ge1xuICAgIGZyb20geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTsgfVxuICAgIHRvICAgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbn1cblxuLyogLS0tIEZpbGUgdHlwZSBpY29uIC0tLSAqL1xuLmFoLWRvYy1jYXJkX19pY29uIHtcbiAgICB3aWR0aDogNDhweDtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogLjc1cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmFoLWRvYy1jYXJkX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAuNzVyZW07XG59XG5cbi5haC1kb2MtY2FyZF9faW5mbyB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5haC1kb2MtY2FyZF9fbmFtZSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IC44NzVyZW07XG4gICAgY29sb3I6ICMxZTFlMWU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4uYWgtZG9jLWNhcmRfX21ldGEge1xuICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xuICAgIGNvbG9yOiAjYTBhMGE4O1xuICAgIG1hcmdpbi10b3A6IC4xMjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjVyZW07XG59XG5cbi5haC1kb2MtY2FyZF9fZGVzYyB7XG4gICAgZm9udC1zaXplOiAuODEyNXJlbTtcbiAgICBjb2xvcjogIzcxNzE3MTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xufVxuXG4vKiAtLS0gRm9vdGVyOiBiYWRnZXMgKyB0b2dnbGUgKyBhY3Rpb25zIC0tLSAqL1xuLmFoLWRvYy1jYXJkX19mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiAxcmVtO1xuICAgIHBhZGRpbmctdG9wOiAuNzVyZW07XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA0KTtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xufVxuXG4uYWgtZG9jLWNhcmRfX2JhZGdlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjM3NXJlbTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi8qIC0tLSBGb290ZXIgcmlnaHQ6IHRvZ2dsZSArIGFjdGlvbnMgLS0tICovXG4uYWgtZG9jLWNhcmRfX2Zvb3Rlci1yaWdodCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjc1cmVtO1xufVxuXG4vKiAtLS0gVmlzaWJpbGl0eSB0b2dnbGUgLS0tICovXG4uYWgtZG9jLXZpc2liaWxpdHktdG9nZ2xlIHtcbiAgICAuZm9ybS1jaGVjay5mb3JtLXN3aXRjaCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogLjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMi41ZW07XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgICB3aWR0aDogMmVtO1xuICAgICAgICBoZWlnaHQ6IDEuMWVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4OTAzODI7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICM4OTAzODI7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIC4ycmVtIHJnYmEoMTM3LDMsMTMwLC4yNSk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICM4OTAzODI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5haC1kb2MtdmlzaWJpbGl0eS1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAuNjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjYTBhMGE4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5haC1kb2MtdmlzaWJpbGl0eS10b2dnbGUgLmZvcm0tY2hlY2staW5wdXQ6Y2hlY2tlZCB+IC5haC1kb2MtdmlzaWJpbGl0eS1sYWJlbCB7XG4gICAgY29sb3I6ICM4OTAzODI7XG59XG5cbi8qIC0tLSBBY3Rpb25zIChkb3dubG9hZCArIGRlbGV0ZSkgLS0tICovXG4uYWgtZG9jLWNhcmRfX2FjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC4zNzVyZW07XG4gICAgb3BhY2l0eTogLjM1O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlO1xuICAgIHBhZGRpbmctbGVmdDogLjVyZW07XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4wNik7XG59XG5cbi5haC1kb2MtY2FyZDpob3ZlciAuYWgtZG9jLWNhcmRfX2FjdGlvbnMge1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5haC1kb2MtYWN0aW9uLWJ0biB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogLjM3NXJlbTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICM3MTcxNzE7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMTVzIGVhc2U7XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuMDQpO1xuICAgICAgICBjb2xvcjogIzFlMWUxZTtcbiAgICB9XG5cbiAgICAmLS1kYW5nZXI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIyNSwyOSw5MSwuMDYpO1xuICAgICAgICBjb2xvcjogI0UxMUQ1QjtcbiAgICB9XG59XG5cbi8qIC0tLSBVcGxvYWQgRHJvcHpvbmUgLS0tICovXG4uYWgtZG9jLWRyb3B6b25lIHtcbiAgICBib3JkZXI6IDJweCBkYXNoZWQgcmdiYSgxMzcsMywxMzAsLjE1KTtcbiAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjcpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDEzNywzLDEzMCwuMyk7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LDMsMTMwLC4wMik7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDEzNywzLDEzMCwuMDYpO1xuICAgIH1cblxuICAgICYuZHJhZy1hY3RpdmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4OTAzODI7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LDMsMTMwLC4wNCk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMDUpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSgxMzcsMywxMzAsLjA4KTtcbiAgICB9XG59XG5cbi5haC1kb2MtZHJvcHpvbmVfX2lubmVyIHtcbiAgICBwYWRkaW5nOiAycmVtIDEuNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC43NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5haC1kb2MtZHJvcHpvbmVfX2ljb24ge1xuICAgIHdpZHRoOiAzLjVyZW07XG4gICAgaGVpZ2h0OiAzLjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgY29sb3I6ICM4OTAzODI7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMzcsMywxMzAsLjA2KTtcbn1cblxuLmFoLWRvYy1kcm9wem9uZV9fdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkRNIFNhbnNcIiwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAuODc1cmVtO1xuICAgIGNvbG9yOiAjMWUxZTFlO1xufVxuXG4uYWgtZG9jLWRyb3B6b25lX19zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAuODEyNXJlbTtcbiAgICBjb2xvcjogI2EwYTBhODtcbn1cblxuLmFoLWRvYy1kcm9wem9uZV9fZm9ybWF0cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjM3NXJlbTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogLjI1cmVtO1xufVxuXG4uYWgtZG9jLWRyb3B6b25lX19mb3JtYXQtYmFkZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogLjEyNXJlbSAuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBmb250LXNpemU6IC42ODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuMDQpO1xuICAgIGNvbG9yOiAjNzE3MTcxO1xufVxuXG4uYWgtZG9jLWRyb3B6b25lX19saW1pdCB7XG4gICAgZm9udC1zaXplOiAuNjg3NXJlbTtcbiAgICBjb2xvcjogI2EwYTBhODtcbiAgICBtYXJnaW4tbGVmdDogLjI1cmVtO1xufVxuXG4vKiAtLS0gVXBsb2FkaW5nIHBsYWNlaG9sZGVyIC0tLSAqL1xuLmFoLWRvYy1jYXJkLS11cGxvYWRpbmcge1xuICAgIG9wYWNpdHk6IC42O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuNCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gICAgfVxufVxuXG4uYWgtZG9jLWNhcmRfX3NwaW5uZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgei1pbmRleDogMjtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgYm9yZGVyOiAzcHggc29saWQgcmdiYSgxMzcsMywxMzAsLjEpO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM4OTAzODI7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGFuaW1hdGlvbjogYWgtZG9jLXNwaW4gLjhzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBhaC1kb2Mtc3BpbiB7XG4gICAgdG8geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoMzYwZGVnKTsgfVxufVxuXG4vKiAtLS0gQ2F0ZWdvcnkgYmFkZ2UgY29sb3JzIC0tLSAqL1xuLmFoLWRvYy1iYWRnZS0tY2VydGlmaWNhdGlvbiB7IC0tcGlsbC1iZzogcmdiYSgxMzcsMywxMzAsLjA4KTsgLS1waWxsLWZnOiAjODkwMzgyOyB9XG4uYWgtZG9jLWJhZGdlLS1pbnN1cmFuY2UgICAgIHsgLS1waWxsLWJnOiByZ2JhKDE0LDE2NSwyMzMsLjA4KTsgLS1waWxsLWZnOiAjMDM2OWExOyB9XG4uYWgtZG9jLWJhZGdlLS1jYXRhbG9nICAgICAgIHsgLS1waWxsLWJnOiByZ2JhKDI0NSwxNTgsMTEsLjA4KTsgLS1waWxsLWZnOiAjYjQ1MzA5OyB9XG4uYWgtZG9jLWJhZGdlLS1jb250cmFjdCAgICAgIHsgLS1waWxsLWJnOiByZ2JhKDE2LDE4NSwxMjksLjA4KTsgLS1waWxsLWZnOiAjMDQ3ODU3OyB9XG4uYWgtZG9jLWJhZGdlLS1vdGhlciAgICAgICAgIHsgLS1waWxsLWJnOiByZ2JhKDE1NiwxNjMsMTc1LC4wOCk7IC0tcGlsbC1mZzogIzZiNzI4MDsgfVxuXG4vKiAtLS0gU3RhdCBjYXJkIGljb24gbWluaSAtLS0gKi9cbi5haC1kb2Mtc3RhdC1pY29uIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogLjYyNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLyogLS0tIENsaWVudCBwcm9maWxlOiBzaGFyZWQgZG9jdW1lbnRzIHNlY3Rpb24gLS0tICovXG4uYWgtY2xpZW50LWRvYy1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAuMjVyZW07XG59XG5cbi5haC1jbGllbnQtZG9jLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC43NXJlbTtcbiAgICBwYWRkaW5nOiAuNjI1cmVtIC43NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAuNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4xNXMgZWFzZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC4wMik7XG4gICAgfVxufVxuXG4uYWgtY2xpZW50LWRvYy1pY29uIHtcbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5haC1jbGllbnQtZG9jLWluZm8ge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uYWgtY2xpZW50LWRvYy1uYW1lIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogLjgxMjVyZW07XG4gICAgY29sb3I6ICMxZTFlMWU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4uYWgtY2xpZW50LWRvYy1tZXRhIHtcbiAgICBmb250LXNpemU6IC42ODc1cmVtO1xuICAgIGNvbG9yOiAjYTBhMGE4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC4zNzVyZW07XG4gICAgbWFyZ2luLXRvcDogLjA2MjVyZW07XG59XG5cbi5haC1jbGllbnQtZG9jLXRvZ2dsZSB7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi8qIC0tLSBSZXNwb25zaXZlIC0tLSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XG4gICAgLmFoLWRvYy1ncmlkIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCT0FSRCBUT09MQkFSICsgQURWQU5DRUQgRklMVEVSIERST1BET1dOIOKAlCBBcmNoaUh1YlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIOKUgOKUgCBUb29sYmFyIOKAlCBzaW5nbGUtbGluZSBhY3Rpb24gYmFyIOKUgOKUgCAqL1xuLmJvYXJkLXRvb2xiYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDRweDtcbiAgICBwYWRkaW5nOiA4cHggMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xufVxuXG4uYm9hcmQtdG9vbGJhci1zZXBhcmF0b3Ige1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWFoLWJvcmRlci1jb2xvcik7XG4gICAgbWFyZ2luOiAwIDZweDtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmJvYXJkLXRvb2xiYXItc2VhcmNoIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjgpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFoLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogLjYyNXJlbTtcbiAgICBwYWRkaW5nOiAwIC41cmVtIDAgLjc1cmVtO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAuMTVzIGVhc2UsIGJveC1zaGFkb3cgLjE1cyBlYXNlO1xuXG4gICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMTM3LCAzLCAxMzAsIC4zNSk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDEzNywgMywgMTMwLCAuMSk7XG4gICAgfVxuXG4gICAgLnRvb2xiYXItc2VhcmNoLWljb24ge1xuICAgICAgICBjb2xvcjogdmFyKC0tYWgtbXV0ZWQpO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgZm9udC1zaXplOiAuODEyNXJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWFoLXRleHQpO1xuICAgICAgICBwYWRkaW5nOiAuNDVyZW0gLjVyZW07XG4gICAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggLjJzIGVhc2U7XG5cbiAgICAgICAgJjpmb2N1cyB7IHdpZHRoOiAyNjBweDsgfVxuICAgICAgICAmOjpwbGFjZWhvbGRlciB7IGNvbG9yOiB2YXIoLS1haC1tdXRlZCk7IH1cbiAgICB9XG59XG5cbi8qIFRvb2xiYXIgaXRlbXMgKGZsYXQgYnV0dG9ucykg4oCUIHByZWZpeGVkIGZvciBzcGVjaWZpY2l0eSBvdmVyIC50aGVtZS1hcmNoaWh1YiBhICovXG4udGhlbWUtYXJjaGlodWIgLmJvYXJkLXRvb2xiYXItaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDVweDtcbiAgICBwYWRkaW5nOiA2cHggMTBweDtcbiAgICBmb250LXNpemU6IC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6IHZhcigtLWFoLW11dGVkKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4xMnMsIGNvbG9yIC4xMnM7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBoZWlnaHQ6IDIuMjVyZW07XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgIGkgeyBmb250LXNpemU6IDE0cHg7IH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC4wNCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1haC10ZXh0KTtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1haC12aW9sZXQpO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNywgMywgMTMwLCAuMDgpO1xuICAgIH1cblxuICAgICY6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMTM3LCAzLCAxMzAsIC4xNSk7XG4gICAgfVxufVxuXG4vKiBWaWV3IHRvZ2dsZXMgKExpc3RlIC8gS2FuYmFuIC8gZXRjLikgKi9cbi50aGVtZS1hcmNoaWh1YiAuYm9hcmQtdG9vbGJhci12aWV3cyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDJweDtcbiAgICBwYWRkaW5nOiAzcHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuMDMpO1xuICAgIGJvcmRlci1yYWRpdXM6IC42MjVyZW07XG5cbiAgICAuYm9hcmQtdG9vbGJhci12aWV3IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogNXB4O1xuICAgICAgICBwYWRkaW5nOiA2cHggMTJweDtcbiAgICAgICAgZm9udC1zaXplOiAuODEyNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWFoLW11dGVkKTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMTJzLCBjb2xvciAuMTJzLCBib3gtc2hhZG93IC4xMnM7XG4gICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIGkgeyBmb250LXNpemU6IDE0cHg7IH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1haC10ZXh0KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjYpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWFoLXZpb2xldCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIC4wNik7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuICAgICAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDEzNywgMywgMTMwLCAuMTUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBQcmltYXJ5IGFkZCBidXR0b24g4oCUIHByZWZpeGVkIHRvIG92ZXJyaWRlIC50aGVtZS1hcmNoaWh1YiBhIGdsb2JhbCBydWxlICovXG4udGhlbWUtYXJjaGlodWIgLmJvYXJkLXRvb2xiYXItYWRkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNnB4O1xuICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICBmb250LXNpemU6IC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1haC1ncmFkaWVudCk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IC41cmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBmaWx0ZXIgLjE1cywgYm94LXNoYWRvdyAuMTVzLCB0cmFuc2Zvcm0gLjE1cztcbiAgICBoZWlnaHQ6IDIuMjVyZW07XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgIGkgeyBmb250LXNpemU6IC45Mzc1cmVtOyBsaW5lLWhlaWdodDogMTsgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxLjA2KTtcbiAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDEzNywgMywgMTMwLCAuMjUpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDEzNywgMywgMTMwLCAuMjUpO1xuICAgIH1cbn1cblxuLyogRmlsdGVyIGFjdGl2ZSBjb3VudCBiYWRnZSAqL1xuLmZpbHRlci1iYWRnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtaW4td2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIHBhZGRpbmc6IDAgNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1haC12aW9sZXQpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG59XG5cbi8qIOKUgOKUgCBBZHZhbmNlZCBmaWx0ZXIgZHJvcGRvd24g4pSA4pSAICovXG4uZmlsdGVyLWFkdmFuY2VkLWRyb3Bkb3duIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogMTA2MDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFoLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgICBib3gtc2hhZG93OiAwIDEycHggNDBweCByZ2JhKDAsIDAsIDAsIC4xNCk7XG4gICAgbWluLXdpZHRoOiA0MDBweDtcbiAgICBtYXgtd2lkdGg6IDkwdnc7XG4gICAgbWF4LWhlaWdodDogNDgwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5mYWQtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIHBhZGRpbmc6IDE0cHggMTZweCAxMHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1haC1ib3JkZXItY29sb3IpO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmZhZC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6IHZhcigtLWFoLXRleHQpO1xufVxuXG4uZmFkLXN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6IHZhcigtLWFoLW11dGVkKTtcbiAgICBmbGV4OiAxO1xufVxuXG4uZmFkLWFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbn1cblxuLmZhZC1jbGVhci1idG4ge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1haC12aW9sZXQpO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiAycHggOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgJjpob3ZlciB7IGJhY2tncm91bmQ6IHJnYmEoMTM3LCAzLCAxMzAsIC4wOCk7IH1cbn1cblxuLmZhZC1hcHBseS1idG4ge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWFoLWdyYWRpZW50KTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IDRweCAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRyYW5zaXRpb246IGZpbHRlciAuMTVzO1xuXG4gICAgJjpob3ZlciB7IGZpbHRlcjogYnJpZ2h0bmVzcygxLjA2KTsgfVxufVxuXG4uZmFkLWJvZHkge1xuICAgIHBhZGRpbmc6IDEycHggMTZweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDM0MHB4O1xufVxuXG4uZmFkLWJvZHktY29sdW1ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDA7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLmZhZC1jb2x1bW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtaW4td2lkdGg6IDE0MHB4O1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWFoLWJvcmRlci1jb2xvcik7XG4gICAgcGFkZGluZzogMCAxMnB4O1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7IHBhZGRpbmctbGVmdDogMDsgfVxuICAgICY6bGFzdC1jaGlsZCB7IGJvcmRlci1yaWdodDogbm9uZTsgcGFkZGluZy1yaWdodDogMDsgfVxufVxuXG4uZmFkLXNlY3Rpb24tbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiB2YXIoLS1haC1tdXRlZCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZmFkLWNvbHVtbiAuZmFkLWNoaXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcbn1cblxuLmZhZC1jaGlwIHtcbiAgICBwYWRkaW5nOiA0cHggMTJweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogdmFyKC0tYWgtdGV4dCk7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1haC1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMTJzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1haC12aW9sZXQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tYWgtdmlvbGV0KTtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LCAzLCAxMzAsIC4xKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1haC12aW9sZXQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tYWgtdmlvbGV0KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG59XG5cbi8qIEFkdmFuY2VkIHJ1bGVzICovXG4uZmFkLXJ1bGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5mYWQtcnVsZS1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IHZhcigtLWFoLW11dGVkKTtcbiAgICBtaW4td2lkdGg6IDI4cHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5mYWQtc2VsZWN0LFxuLmZhZC1pbnB1dCB7XG4gICAgcGFkZGluZzogNnB4IDEwcHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFoLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogdmFyKC0tYWgtdGV4dCk7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgLjE1cywgYm94LXNoYWRvdyAuMTVzO1xuICAgIG1pbi13aWR0aDogMDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMTM3LCAzLCAxMzAsIC4zNSk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDEzNywgMywgMTMwLCAuMSk7XG4gICAgfVxufVxuXG4uZmFkLXNlbGVjdCB7XG4gICAgZmxleDogMTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYXBwZWFyYW5jZTogYXV0bztcbn1cblxuLmZhZC1pbnB1dCB7IGZsZXg6IDEuNTsgfVxuXG4uZmFkLWRlbGV0ZS1idG4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWFoLW11dGVkKTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjI1LCAyOSwgOTEsIC4xKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWFoLXJvdWdlKTtcbiAgICB9XG59XG5cbi5mYWQtYWRkLXJvdyB7IG1hcmdpbi10b3A6IDRweDsgfVxuXG4uZmFkLWFkZC1idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA0cHg7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWFoLXZpb2xldCk7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IDZweCA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuXG4gICAgJjpob3ZlciB7IGJhY2tncm91bmQ6IHJnYmEoMTM3LCAzLCAxMzAsIC4wNik7IH1cbn1cblxuLmZhZC1mb290ZXIge1xuICAgIHBhZGRpbmc6IDEwcHggMTZweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYWgtYm9yZGVyLWNvbG9yKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5mYWQtc3dpdGNoLWJ0biB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWFoLW11dGVkKTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1haC12aW9sZXQpO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNywgMywgMTMwLCAuMDYpO1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBJTkxJTkUgQ09MVU1OIEZJTFRFUiBST1cgKFByZXN0YVNob3Atc3R5bGUgdW5kZXIgPHRoZWFkPilcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRoZW1lLWFyY2hpaHViIC5haC10YWJsZSB0aGVhZCB0ci5haC10YWJsZS1maWx0ZXJzIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4udGhlbWUtYXJjaGlodWIgLmFoLXRhYmxlIHRoZWFkIHRyLmFoLXRhYmxlLWZpbHRlcnMgPiB0ZC5haC10aC1maWx0ZXIge1xuICAgIHBhZGRpbmc6IC41cmVtIC43NXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYWgtYm9yZGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi50aGVtZS1hcmNoaWh1YiAuYWgtdGFibGUgdGhlYWQgdHIuYWgtdGFibGUtZmlsdGVycyA+IHRkLmFoLXRoLWZpbHRlcjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xufVxuXG4udGhlbWUtYXJjaGlodWIgLmFoLXRhYmxlIHRoZWFkIHRyLmFoLXRhYmxlLWZpbHRlcnMgPiB0ZC5haC10aC1maWx0ZXI6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbn1cblxuLyogTWF0Y2ggLmZvcm0tY29udHJvbC1zbSBzdHlsZSBmcm9tIHRoZW1lLWFyY2hpaHViICovXG4uYWgtZmlsdGVyLWlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDIuMjVyZW07XG4gICAgcGFkZGluZzogLjM1cmVtIC43NXJlbTtcbiAgICBmb250LXNpemU6IC44MTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY29sb3I6IHZhcigtLWFoLXRleHQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjgpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjEpO1xuICAgIGJvcmRlci1yYWRpdXM6IC41cmVtO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC4ycyBlYXNlLCBib3gtc2hhZG93IC4ycyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxMzcsIDMsIDEzMCwgLjM1KTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMTM3LCAzLCAxMzAsIC4xKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICB9XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiAjYTBhMGE4O1xuICAgIH1cblxuICAgICZbdHlwZT1cImRhdGVcIl0ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAuNXJlbTtcbiAgICB9XG59XG5cbi5haC1maWx0ZXItaW5wdXQtLXNlbGVjdCB7XG4gICAgYXBwZWFyYW5jZTogYXV0bztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZy1yaWdodDogMS43NXJlbTtcbn1cblxuLmFoLWZpbHRlci1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjI1cmVtO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi8qIE1hdGNoIC5idG4tc20gZGltZW5zaW9ucyAqL1xuLmFoLWZpbHRlci1idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDIuMjVyZW07XG4gICAgaGVpZ2h0OiAyLjI1cmVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMSk7XG4gICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuOCk7XG4gICAgY29sb3I6IHZhcigtLWFoLW11dGVkKTtcbiAgICBmb250LXNpemU6IC44NzVyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMTVzIGVhc2U7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYWgtdmlvbGV0KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1haC12aW9sZXQpO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG59XG5cbi5haC1maWx0ZXItYnRuLS1jbGVhcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYWgtcm91Z2UpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYWgtcm91Z2UpO1xufVxuXG4vKiBBSkFYIGNvbWJvYm94IGRyb3Bkb3duICovXG4uYWgtbG9va3VwLXdyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmFoLWxvb2t1cC1kcm9wZG93biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYygxMDAlICsgNHB4KTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDEwNTA7XG4gICAgbWF4LWhlaWdodDogMjQwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFoLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gICAgYm94LXNoYWRvdzogMCA4cHggMjRweCByZ2JhKDAsIDAsIDAsIC4xKTtcbn1cblxuLmFoLWxvb2t1cC1pdGVtIHtcbiAgICBwYWRkaW5nOiAuNDVyZW0gLjc1cmVtO1xuICAgIGZvbnQtc2l6ZTogLjgxMjVyZW07XG4gICAgY29sb3I6IHZhcigtLWFoLXRleHQpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgJjpob3ZlciwgJi5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNywgMywgMTMwLCAuMDgpO1xuICAgICAgICBjb2xvcjogdmFyKC0tYWgtdmlvbGV0KTtcbiAgICB9XG59XG5cbi5haC1sb29rdXAtaXRlbS0tc3BlY2lhbCB7XG4gICAgY29sb3I6IHZhcigtLWFoLW11dGVkKTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWFoLWJvcmRlci1jb2xvcik7XG59XG5cbi5haC1sb29rdXAtZW1wdHkge1xuICAgIHBhZGRpbmc6IC41cmVtIC43NXJlbTtcbiAgICBmb250LXNpemU6IC43NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tYWgtbXV0ZWQpO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIE1vYmlsZSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAgLyogV3JhcCBpbnN0ZWFkIG9mIGhvcml6b250YWwgc2Nyb2xsOiBzZWFyY2ggb24gaXRzIG93biBmdWxsLXdpZHRoIHJvdyxcbiAgICAgICBhY3Rpb24gYnV0dG9ucyBmbG93IGJlbG93LiAqL1xuICAgIC5ib2FyZC10b29sYmFyIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICByb3ctZ2FwOiA4cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gICAgfVxuXG4gICAgLmJvYXJkLXRvb2xiYXItc2VhcmNoIHtcbiAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgIG9yZGVyOiAtMTtcblxuICAgICAgICBpbnB1dCxcbiAgICAgICAgaW5wdXQ6Zm9jdXMgeyB3aWR0aDogMTAwJTsgfVxuICAgIH1cblxuICAgIC5ib2FyZC10b29sYmFyLWFkZCxcbiAgICAuYm9hcmQtdG9vbGJhci1pdGVtLFxuICAgIC5ib2FyZC10b29sYmFyLXZpZXcge1xuICAgICAgICBtaW4taGVpZ2h0OiAzOHB4O1xuICAgICAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgIH1cblxuICAgIC5ib2FyZC10b29sYmFyLXNlcGFyYXRvciB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgIC5maWx0ZXItYWR2YW5jZWQtZHJvcGRvd24ge1xuICAgICAgICBtaW4td2lkdGg6IGNhbGMoMTAwdncgLSAyMHB4KTtcbiAgICB9XG59XG4iLCIvKiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgIFByb2plY3RzIOKAlCBcIkNhcnRlc1wiIChCTEFTVCkgZ3JpZCB2aWV3XG4gICDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cblxuLmFoLXByb2plY3QtY2FyZHMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjgwcHgsIDFmcikpO1xuICAgIGdhcDogMS4yNXJlbTtcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbn1cblxuLmFoLXByb2plY3QtY2FyZCB7XG4gICAgLS1jYXJkLWFjY2VudDogIzg5MDM4MjtcbiAgICAtLWNhcmQtdGludDogcmdiYSgxMzcsIDMsIDEzMCwgLjA2KTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LXdpZHRoOiA0MzBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjA2KTtcbiAgICBib3JkZXItcmFkaXVzOiAxLjFyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgxNiwgMjQsIDQwLCAuMDQpLCAwIDZweCAxNnB4IHJnYmEoMTYsIDI0LCA0MCwgLjA1KTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzIGVhc2UsIGJveC1zaGFkb3cgLjJzIGVhc2UsIGJvcmRlci1jb2xvciAuMnMgZWFzZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMTZweCAzNHB4IHJnYmEoMTYsIDI0LCA0MCwgLjEyKSwgMCAzcHggOHB4IHJnYmEoMTYsIDI0LCA0MCwgLjA2KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDEzNywgMywgMTMwLCAuMTYpO1xuICAgIH1cblxuICAgIC8qIOKUgOKUgCBDb3ZlciDilIDilIAgKi9cbiAgICAmX19jb3ZlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTMycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6XG4gICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jYXJkLXRpbnQpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC40KSAxMDAlKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIC4wNCk7XG5cbiAgICAgICAgJi5oYXMtaW1nIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8qIGltYWdlIHNldCBpbmxpbmUgdmlhIGJhY2tncm91bmQtaW1hZ2Ugb24gdGhlIGVsZW1lbnQgKi9cblxuICAgICAgICAgICAgLyogZ3JhZGllbnQgc2NyaW0gc28gdGhlIHN0YXR1cyBwaWxsIHN0YXlzIHJlYWRhYmxlIG92ZXIgcGhvdG9zICovXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAwLCAwLCAuMjgpIDAlLCByZ2JhKDAsIDAsIDAsIDApIDQ1JSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb3Zlci1pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldDogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tY2FyZC1hY2NlbnQpO1xuICAgICAgICBvcGFjaXR5OiAuMzI7XG4gICAgfVxuXG4gICAgJl9fc3RhdHVzLmFoLWJhZGdlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC43NXJlbTtcbiAgICAgICAgcmlnaHQ6IC43NXJlbTtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuOTYpO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAuMjIpO1xuICAgIH1cblxuICAgIC8qIOKUgOKUgCBCb2R5IOKUgOKUgCAqL1xuICAgICZfX2JvZHkge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMS4xcmVtIC44NXJlbTtcbiAgICB9XG5cbiAgICAmX19yZWYge1xuICAgICAgICBmb250LXNpemU6IC42OHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wNmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogI2EzYTNhZDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdETSBTYW5zJywgc3lzdGVtLXVpLCBzYW5zLXNlcmlmO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogLjE1cmVtIDAgMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjAycmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBjb2xvcjogIzFlMWUxZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjE1cyBlYXNlO1xuXG4gICAgICAgICY6aG92ZXIgeyBjb2xvcjogdmFyKC0tY2FyZC1hY2NlbnQpOyB9XG4gICAgfVxuXG4gICAgJl9fbWV0YSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC45cmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgZ2FwOiAuNTVyZW07XG4gICAgfVxuXG4gICAgJl9fcm93IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBnYXA6IC41NXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAuODEyNXJlbTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuXG4gICAgICAgID4gLmJpIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jYXJkLWFjY2VudCk7XG4gICAgICAgICAgICBmb250LXNpemU6IC45cmVtO1xuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgICBvcGFjaXR5OiAuODU7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1tdXRlZCB7IGNvbG9yOiAjNmI3MjgwOyB9XG4gICAgfVxuXG4gICAgJl9fcm93LXR4dCB7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgJl9fYXZhdGFyIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjODkwMzgyLCAjYjUxNzllKTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogLjhyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBib3gtc2hhZG93OiAwIDJweCA2cHggcmdiYSgxMzcsIDMsIDEzMCwgLjI1KTtcbiAgICB9XG5cbiAgICAmX19jbGllbnQge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogIzFlMWUxZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgJl9fY29tcGFueSB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjcycmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBjb2xvcjogI2EzYTNhZDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLyog4pSA4pSAIEZvb3RlciDilIDilIAgKi9cbiAgICAmX19mb290ZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBnYXA6IC4zNzVyZW07XG4gICAgICAgIHBhZGRpbmc6IC41cmVtIC44NXJlbTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjA1KTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuMDE1KTtcbiAgICB9XG59XG5cbltkYXRhLWNvcmV1aS10aGVtZT1cImRhcmtcIl0ge1xuICAgIC5haC1wcm9qZWN0LWNhcmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMmEyYjM2O1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjA4KTtcbiAgICAgICAgYm94LXNoYWRvdzogMCA2cHggMTZweCByZ2JhKDAsIDAsIDAsIC4zNSk7XG5cbiAgICAgICAgJjpob3ZlciB7IGJvcmRlci1jb2xvcjogcmdiYSgxMzcsIDMsIDEzMCwgLjQpOyB9XG5cbiAgICAgICAgJl9fY292ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMjAyMTJhOyBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4wNik7IH1cbiAgICAgICAgJl9fdGl0bGUgeyBjb2xvcjogI2YxZjNmNTsgfVxuICAgICAgICAmX19jbGllbnQgeyBjb2xvcjogI2U5ZWNlZjsgfVxuICAgICAgICAmX19yZWYsICZfX2NvbXBhbnkgeyBjb2xvcjogIzhiOGQ5ODsgfVxuICAgICAgICAmX19yb3ctLW11dGVkIHsgY29sb3I6ICNhZWIwYmI7IH1cbiAgICAgICAgJl9fZm9vdGVyIHsgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMDcpOyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4wMik7IH1cbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERBU0hCT0FSRCDigJQgUHJlbWl1bSBsb29rIChoZXJvLCBzdGF0cywgY2FyZHMsIGxpc3RzKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIOKUgOKUgCBIRVJPIGdyZWV0aW5nIOKUgOKUgCAqL1xuLnRoZW1lLWFyY2hpaHViIC5kYXNoLWhlcm8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAxLjVyZW0gMS43NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMS4yNXJlbTtcbiAgICBiYWNrZ3JvdW5kOlxuICAgICAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDEwMCUgMCUsIHJnYmEoMjI1LCAyOSwgOTEsIC4wOCksIHRyYW5zcGFyZW50IDUwJSksXG4gICAgICAgIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMCUgMTAwJSwgcmdiYSgxMzcsIDMsIDEzMCwgLjA4KSwgdHJhbnNwYXJlbnQgNTAlKSxcbiAgICAgICAgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2ZmZiAwJSwgI2ZiZjlmYyAxMDAlKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEzNywgMywgMTMwLCAuMDgpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDIwcHggcmdiYSgxMzcsIDMsIDEzMCwgLjA0KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnRoZW1lLWFyY2hpaHViIC5kYXNoLWhlcm86OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwIGF1dG8gYXV0byAwO1xuICAgIGhlaWdodDogM3B4OyB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1haC1ncmFkaWVudCk7XG4gICAgb3BhY2l0eTogLjk7XG59XG4udGhlbWUtYXJjaGlodWIgLmRhc2gtaGVyb19fZ3JlZXRpbmcge1xuICAgIGZvbnQtZmFtaWx5OiBcIkRNIFNhbnNcIiwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjMWUxZTFlIDAlLCAjODkwMzgyIDEwMCUpO1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnRoZW1lLWFyY2hpaHViIC5kYXNoLWhlcm9fX3N1YnRpdGxlIHtcbiAgICBtYXJnaW46IC4yNXJlbSAwIDA7XG4gICAgZm9udC1zaXplOiAuOTM3NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tYWgtbXV0ZWQpO1xufVxuLnRoZW1lLWFyY2hpaHViIC5kYXNoLWhlcm9fX2RhdGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuMzVyZW07XG4gICAgbWFyZ2luLXRvcDogLjc1cmVtO1xuICAgIHBhZGRpbmc6IC4zcmVtIC43NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNywgMywgMTMwLCAuMDYpO1xuICAgIGNvbG9yOiB2YXIoLS1haC12aW9sZXQpO1xuICAgIGZvbnQtc2l6ZTogLjgxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcblxuICAgIGkgeyBmb250LXNpemU6IC45cmVtOyB9XG59XG4udGhlbWUtYXJjaGlodWIgLmRhc2gtaGVyb19fYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IC41cmVtO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4vKiDilIDilIAgU1RBVCBjYXJkcyBwcmVtaXVtIOKUgOKUgCAqL1xuLnRoZW1lLWFyY2hpaHViIC5kYXNoLXN0YXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAxLjEyNXJlbSAxLjI1cmVtO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWgtYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIC4wMyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzIGVhc2UsIGJveC1zaGFkb3cgLjJzIGVhc2UsIGJvcmRlci1jb2xvciAuMnMgZWFzZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMXJlbTtcbn1cbi50aGVtZS1hcmNoaWh1YiAuZGFzaC1zdGF0OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMCBhdXRvIGF1dG8gMDtcbiAgICBoZWlnaHQ6IDNweDsgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYWgtZ3JhZGllbnQpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZTtcbn1cbi50aGVtZS1hcmNoaWh1YiAuZGFzaC1zdGF0OmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDEzNywgMywgMTMwLCAuMTUpO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgxMzcsIDMsIDEzMCwgLjA4KTtcbn1cbi50aGVtZS1hcmNoaWh1YiAuZGFzaC1zdGF0OmhvdmVyOjpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDE7XG59XG4udGhlbWUtYXJjaGlodWIgLmRhc2gtc3RhdF9faWNvbiB7XG4gICAgd2lkdGg6IDQ4cHg7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IC43NXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cbi50aGVtZS1hcmNoaWh1YiAuZGFzaC1zdGF0X19ib2R5IHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbn1cbi50aGVtZS1hcmNoaWh1YiAuZGFzaC1zdGF0X192YWx1ZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiRE0gU2Fuc1wiLCBzeXN0ZW0tdWksIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgY29sb3I6IHZhcigtLWFoLXRleHQpO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDFlbTtcbn1cbi50aGVtZS1hcmNoaWh1YiAuZGFzaC1zdGF0X19sYWJlbCB7XG4gICAgZm9udC1zaXplOiAuODEyNXJlbTtcbiAgICBjb2xvcjogdmFyKC0tYWgtbXV0ZWQpO1xuICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xufVxuLnRoZW1lLWFyY2hpaHViIC5kYXNoLXN0YXRfX3RyZW5kIHtcbiAgICBmb250LXNpemU6IC42ODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAycHg7XG5cbiAgICAmLS11cCB7IGNvbG9yOiAjMTBiOTgxOyB9XG4gICAgJi0tZG93biB7IGNvbG9yOiAjRTExRDVCOyB9XG59XG5cbi8qIEljb24gY29sb3IgcHJlc2V0cyDigJQgY29uc2lzdGVudCBwYWxldHRlICovXG4udGhlbWUtYXJjaGlodWIgLmRhc2gtc3RhdF9faWNvbi0tdmlvbGV0IHsgYmFja2dyb3VuZDogcmdiYSgxMzcsMywxMzAsLjEpOyAgY29sb3I6ICM4OTAzODI7IH1cbi50aGVtZS1hcmNoaWh1YiAuZGFzaC1zdGF0X19pY29uLS1yb3NlICAgeyBiYWNrZ3JvdW5kOiByZ2JhKDIyNSwyOSw5MSwuMSk7ICBjb2xvcjogI0UxMUQ1QjsgfVxuLnRoZW1lLWFyY2hpaHViIC5kYXNoLXN0YXRfX2ljb24tLWFtYmVyICB7IGJhY2tncm91bmQ6IHJnYmEoMjQ1LDE1OCwxMSwuMSk7IGNvbG9yOiAjYjQ1MzA5OyB9XG4udGhlbWUtYXJjaGlodWIgLmRhc2gtc3RhdF9faWNvbi0tZ3JlZW4gIHsgYmFja2dyb3VuZDogcmdiYSgxNiwxODUsMTI5LC4xKTsgY29sb3I6ICMwNDc4NTc7IH1cbi50aGVtZS1hcmNoaWh1YiAuZGFzaC1zdGF0X19pY29uLS1za3kgICAgeyBiYWNrZ3JvdW5kOiByZ2JhKDE0LDE2NSwyMzMsLjEpOyBjb2xvcjogIzAzNjlhMTsgfVxuLnRoZW1lLWFyY2hpaHViIC5kYXNoLXN0YXRfX2ljb24tLXNsYXRlICB7IGJhY2tncm91bmQ6IHJnYmEoMTAwLDExNiwxMzksLjEpO2NvbG9yOiAjNDc1NTY5OyB9XG5cbi8qIOKUgOKUgCBDQVJEIHByZW1pdW0gKGNoYXJ0cywgbGlzdHMpIOKUgOKUgCAqL1xuLnRoZW1lLWFyY2hpaHViIC5kYXNoLWNhcmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFoLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAuMDMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IC4ycyBlYXNlO1xufVxuLnRoZW1lLWFyY2hpaHViIC5kYXNoLWNhcmQ6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDIwcHggcmdiYSgwLCAwLCAwLCAuMDUpO1xufVxuLnRoZW1lLWFyY2hpaHViIC5kYXNoLWNhcmRfX2hlYWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiAuNzVyZW07XG4gICAgcGFkZGluZzogMXJlbSAxLjI1cmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1haC1ib3JkZXItY29sb3IpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuLnRoZW1lLWFyY2hpaHViIC5kYXNoLWNhcmRfX3RpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtZmFtaWx5OiBcIkRNIFNhbnNcIiwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogdmFyKC0tYWgtdGV4dCk7XG5cbiAgICBpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWFoLXZpb2xldCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG59XG4udGhlbWUtYXJjaGlodWIgLmRhc2gtY2FyZF9fY291bnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogLjE1cmVtIC41NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNywgMywgMTMwLCAuMDgpO1xuICAgIGNvbG9yOiB2YXIoLS1haC12aW9sZXQpO1xuICAgIGZvbnQtc2l6ZTogLjdyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xufVxuLnRoZW1lLWFyY2hpaHViIC5kYXNoLWNhcmRfX2FjdGlvbiB7XG4gICAgZm9udC1zaXplOiAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiB2YXIoLS1haC12aW9sZXQpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNHB4O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIC4xNXMgZWFzZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tYWgtcm91Z2UpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuLnRoZW1lLWFyY2hpaHViIC5kYXNoLWNhcmRfX2JvZHkge1xuICAgIGZsZXg6IDE7XG4gICAgcGFkZGluZzogMS4xMjVyZW0gMS4yNXJlbTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBtaW4taGVpZ2h0OiAwO1xufVxuLnRoZW1lLWFyY2hpaHViIC5kYXNoLWNhcmRfX2JvZHktLXAwIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKiBQaXBlbGluZSBiYXJzIGluIGNhcmRzICovXG4udGhlbWUtYXJjaGlodWIgLmRhc2gtcGlwZWxpbmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IC4yNXJlbTtcbn1cbi50aGVtZS1hcmNoaWh1YiAuZGFzaC1waXBlbGluZV9fcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuNXJlbTtcbiAgICBwYWRkaW5nOiAuMzVyZW0gMDtcbn1cbi50aGVtZS1hcmNoaWh1YiAuZGFzaC1waXBlbGluZV9fZG90IHtcbiAgICB3aWR0aDogOHB4OyBoZWlnaHQ6IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG4udGhlbWUtYXJjaGlodWIgLmRhc2gtcGlwZWxpbmVfX2xhYmVsIHtcbiAgICBmbGV4OiAxO1xuICAgIGZvbnQtc2l6ZTogLjgxMjVyZW07XG4gICAgY29sb3I6IHZhcigtLWFoLXRleHQpO1xufVxuLnRoZW1lLWFyY2hpaHViIC5kYXNoLXBpcGVsaW5lX19jb3VudCB7XG4gICAgZm9udC1zaXplOiAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgY29sb3I6IHZhcigtLWFoLXRleHQpO1xufVxuLnRoZW1lLWFyY2hpaHViIC5kYXNoLXBpcGVsaW5lX19iYXIge1xuICAgIGhlaWdodDogNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC4wNCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbn1cbi50aGVtZS1hcmNoaWh1YiAuZGFzaC1waXBlbGluZV9fZmlsbCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAuNnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYWgtZ3JhZGllbnQpO1xufVxuXG4vKiBRdWljayBhY3Rpb25zIHJvdyAqL1xuLnRoZW1lLWFyY2hpaHViIC5kYXNoLXF1aWNrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IC41cmVtO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4udGhlbWUtYXJjaGlodWIgLmRhc2gtcXVpY2tfX3ByaW1hcnkge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuMzVyZW07XG4gICAgcGFkZGluZzogLjU1cmVtIDFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogLjYyNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1haC1ncmFkaWVudCk7XG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjE1cyBlYXNlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMS4wNik7XG4gICAgICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDEzNywgMywgMTMwLCAuMjUpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuLnRoZW1lLWFyY2hpaHViIC5kYXNoLXF1aWNrX19pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjM1cmVtO1xuICAgIHBhZGRpbmc6IC41NXJlbSAuOXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAuNjI1cmVtO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWgtYm9yZGVyLWNvbG9yKTtcbiAgICBjb2xvcjogdmFyKC0tYWgtdGV4dCk7XG4gICAgZm9udC1zaXplOiAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjE1cyBlYXNlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNywgMywgMTMwLCAuMDQpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMTM3LCAzLCAxMzAsIC4yKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWFoLXZpb2xldCk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICBpIHsgZm9udC1zaXplOiAuOXJlbTsgb3BhY2l0eTogLjg7IH1cbn1cblxuLyogQWN0aXZlIHN0YXRlIOKAlCB1c2VkIGJ5IGVkaXQtbW9kZSBcIkVucmVnaXN0cmVyXCIsIGV0Yy4gKi9cbi50aGVtZS1hcmNoaWh1YiAuZGFzaC1xdWlja19faXRlbS0tYWN0aXZlLFxuLnRoZW1lLWFyY2hpaHViIC5kYXNoLXF1aWNrX19pdGVtLS1hY3RpdmU6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWFoLWdyYWRpZW50KTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgxMzcsIDMsIDEzMCwgLjI1KTtcblxuICAgIGkgeyBvcGFjaXR5OiAxOyBjb2xvcjogI2ZmZjsgfVxufVxuXG4vKiBJbmRpY2F0b3Igcm93cyAqL1xuLnRoZW1lLWFyY2hpaHViIC5kYXNoLWluZGljYXRvciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjc1cmVtO1xuICAgIHBhZGRpbmc6IC42NXJlbSAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIC4wNCk7XG5cbiAgICAmOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiBub25lOyB9XG59XG4udGhlbWUtYXJjaGlodWIgLmRhc2gtaW5kaWNhdG9yX19pY29uIHtcbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IC45cmVtO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuLnRoZW1lLWFyY2hpaHViIC5kYXNoLWluZGljYXRvcl9fbGFiZWwge1xuICAgIGZsZXg6IDE7XG4gICAgZm9udC1zaXplOiAuODEyNXJlbTtcbiAgICBjb2xvcjogdmFyKC0tYWgtdGV4dCk7XG59XG4udGhlbWUtYXJjaGlodWIgLmRhc2gtaW5kaWNhdG9yX192YWx1ZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiRE0gU2Fuc1wiLCBzeXN0ZW0tdWksIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiB2YXIoLS1haC10ZXh0KTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xufVxuXG4vKiBUaXAgY2FyZCAoaW5mbyBhY2NlbnQpICovXG4udGhlbWUtYXJjaGlodWIgLmRhc2gtdGlwIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDEzNywzLDEzMCwuMDQpIDAlLCByZ2JhKDIyNSwyOSw5MSwuMDMpIDEwMCUpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTM3LCAzLCAxMzAsIC4xMik7XG4gICAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgICBwYWRkaW5nOiAxcmVtIDEuMjVyZW07XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAuNzVyZW07XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG4udGhlbWUtYXJjaGlodWIgLmRhc2gtdGlwX19pY29uIHtcbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMzcsIDMsIDEzMCwgLjEpO1xuICAgIGNvbG9yOiB2YXIoLS1haC12aW9sZXQpO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuLnRoZW1lLWFyY2hpaHViIC5kYXNoLXRpcF9fdGl0bGUge1xuICAgIG1hcmdpbjogMCAwIC4yNXJlbTtcbiAgICBmb250LXNpemU6IC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6IHZhcigtLWFoLXZpb2xldCk7XG59XG4udGhlbWUtYXJjaGlodWIgLmRhc2gtdGlwX190ZXh0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAuODEyNXJlbTtcbiAgICBjb2xvcjogdmFyKC0tYWgtbXV0ZWQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi8qIEVtcHR5IHN0YXRlIHByZW1pdW0gKi9cbi50aGVtZS1hcmNoaWh1YiAuZGFzaC1lbXB0eSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDJyZW0gMXJlbTtcbn1cbi50aGVtZS1hcmNoaWh1YiAuZGFzaC1lbXB0eV9faWNvbiB7XG4gICAgd2lkdGg6IDU2cHg7IGhlaWdodDogNTZweDtcbiAgICBib3JkZXItcmFkaXVzOiAuNzVyZW07XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMzcsIDMsIDEzMCwgLjA2KTtcbiAgICBjb2xvcjogdmFyKC0tYWgtdmlvbGV0KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IC43NXJlbTtcbn1cbi50aGVtZS1hcmNoaWh1YiAuZGFzaC1lbXB0eV9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogLjk1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IHZhcigtLWFoLXRleHQpO1xuICAgIG1hcmdpbjogMCAwIC4yNXJlbTtcbn1cbi50aGVtZS1hcmNoaWh1YiAuZGFzaC1lbXB0eV9fdGV4dCB7XG4gICAgZm9udC1zaXplOiAuODEyNXJlbTtcbiAgICBjb2xvcjogdmFyKC0tYWgtbXV0ZWQpO1xuICAgIG1hcmdpbjogMCAwIC43NXJlbTtcbn1cblxuLyogRW1iZWRkZWQgbWluaS10YWJsZSBmb3IgY2FyZHMgKi9cbi50aGVtZS1hcmNoaWh1YiAuZGFzaC1jYXJkIC50YWJsZS5haC10YWJsZSB7XG4gICAgbWFyZ2luOiAwO1xufVxuLnRoZW1lLWFyY2hpaHViIC5kYXNoLWNhcmQgLnRhYmxlLmFoLXRhYmxlIHRoZWFkIHRoLmFoLXRoIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZ2JhKDEzNywgMywgMTMwLCAuMTIpO1xuICAgIGNvbG9yOiB2YXIoLS1haC12aW9sZXQpO1xuICAgIGZvbnQtc2l6ZTogLjY4cmVtO1xuICAgIHBhZGRpbmc6IC41NXJlbSAxcmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4wNGVtO1xufVxuLnRoZW1lLWFyY2hpaHViIC5kYXNoLWNhcmQgLnRhYmxlLmFoLXRhYmxlIHRib2R5IHRyLmFoLXJvdyB0ZCB7XG4gICAgcGFkZGluZzogLjY1cmVtIDFyZW07XG4gICAgZm9udC1zaXplOiAuODEyNXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMDQpO1xufVxuLnRoZW1lLWFyY2hpaHViIC5kYXNoLWNhcmQgLnRhYmxlLmFoLXRhYmxlIHRib2R5IHRyLmFoLXJvdzpob3ZlciB7XG4gICAgLS1jdWktdGFibGUtYWNjZW50LWJnOiByZ2JhKDEzNywgMywgMTMwLCAuMDI1KTtcbn1cbi50aGVtZS1hcmNoaWh1YiAuZGFzaC1jYXJkIC50YWJsZS5haC10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4vKiBTdGF0dXMgcGlsbHMgKHVzZWQgaW5saW5lIGluIHRhYmxlcy9saXN0cykgKi9cbi50aGVtZS1hcmNoaWh1YiAuZGFzaC1waWxsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjI1cmVtO1xuICAgIHBhZGRpbmc6IC4xNXJlbSAuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBmb250LXNpemU6IC42OHJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIGkgeyBmb250LXNpemU6IC42NXJlbTsgfVxufVxuLnRoZW1lLWFyY2hpaHViIC5kYXNoLXBpbGwtLWRyYWZ0ICAgICB7IGJhY2tncm91bmQ6IHJnYmEoMTA3LDExNCwxMjgsLjEpOyBjb2xvcjogIzRiNTU2MzsgfVxuLnRoZW1lLWFyY2hpaHViIC5kYXNoLXBpbGwtLXByb2dyZXNzICB7IGJhY2tncm91bmQ6IHJnYmEoMTQsMTY1LDIzMywuMSk7ICBjb2xvcjogIzAzNjlhMTsgfVxuLnRoZW1lLWFyY2hpaHViIC5kYXNoLXBpbGwtLXdhaXRpbmcgICB7IGJhY2tncm91bmQ6IHJnYmEoMjQ1LDE1OCwxMSwuMTIpOyBjb2xvcjogI2I0NTMwOTsgfVxuLnRoZW1lLWFyY2hpaHViIC5kYXNoLXBpbGwtLXN1Y2Nlc3MgICB7IGJhY2tncm91bmQ6IHJnYmEoMTYsMTg1LDEyOSwuMTIpOyBjb2xvcjogIzA0Nzg1NzsgfVxuLnRoZW1lLWFyY2hpaHViIC5kYXNoLXBpbGwtLWRhbmdlciAgICB7IGJhY2tncm91bmQ6IHJnYmEoMjI1LDI5LDkxLC4xKTsgICBjb2xvcjogI0UxMUQ1QjsgfVxuLnRoZW1lLWFyY2hpaHViIC5kYXNoLXBpbGwtLXZpb2xldCAgICB7IGJhY2tncm91bmQ6IHJnYmEoMTM3LDMsMTMwLC4wOCk7ICBjb2xvcjogIzg5MDM4MjsgfVxuXG4vKiDilIDilIAgUEVSSU9EIHBpbGxzIChyZXZlbnVlIGNoYXJ0KSDilIDilIAgKi9cbi50aGVtZS1hcmNoaWh1YiAuZGFzaC1wZXJpb2Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC41cmVtO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cbi50aGVtZS1hcmNoaWh1YiAuZGFzaC1wZXJpb2RfX3BpbGxzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMnB4O1xuICAgIHBhZGRpbmc6IDNweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC4wMyk7XG4gICAgYm9yZGVyLXJhZGl1czogLjYyNXJlbTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG4udGhlbWUtYXJjaGlodWIgLmRhc2gtcGVyaW9kX19waWxsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IC4zNXJlbSAuNzVyZW07XG4gICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogdmFyKC0tYWgtbXV0ZWQpO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAuNXJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjEycyBlYXNlO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWFoLXRleHQpO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC42KTtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1haC12aW9sZXQpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAuMDYpO1xuICAgIH1cblxuICAgICY6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMTM3LCAzLCAxMzAsIC4xNSk7XG4gICAgfVxufVxuLnRoZW1lLWFyY2hpaHViIC5kYXNoLXBlcmlvZF9fY3VzdG9tIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjM1cmVtO1xufVxuLnRoZW1lLWFyY2hpaHViIC5kYXNoLXBlcmlvZF9faW5wdXQge1xuICAgIGhlaWdodDogMS44NXJlbTtcbiAgICBwYWRkaW5nOiAuMjVyZW0gLjVyZW07XG4gICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgY29sb3I6IHZhcigtLWFoLXRleHQpO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWgtYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiAuMzc1cmVtO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC4xNXMgZWFzZSwgYm94LXNoYWRvdyAuMTVzIGVhc2U7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDEzNywgMywgMTMwLCAuMzUpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgxMzcsIDMsIDEzMCwgLjEpO1xuICAgIH1cbn1cbi50aGVtZS1hcmNoaWh1YiAuZGFzaC1wZXJpb2RfX2FwcGx5IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxLjg1cmVtO1xuICAgIGhlaWdodDogMS44NXJlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAuMzc1cmVtO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWFoLWdyYWRpZW50KTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IC44cmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBmaWx0ZXIgLjEycyBlYXNlO1xuXG4gICAgJjpob3ZlciB7IGZpbHRlcjogYnJpZ2h0bmVzcygxLjA2KTsgfVxuICAgICY6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMTM3LCAzLCAxMzAsIC4yNSk7XG4gICAgfVxufVxuXG4vKiBTdWJ0bGUgZmFkZS1pbiBmb3IgZmlyc3QgcGFpbnQgKi9cbkBrZXlmcmFtZXMgZGFzaEZhZGVJbiB7XG4gICAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOyB9XG4gICAgdG8gICB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxufVxuLnRoZW1lLWFyY2hpaHViIC5kYXNoLXN0YXQsXG4udGhlbWUtYXJjaGlodWIgLmRhc2gtY2FyZCxcbi50aGVtZS1hcmNoaWh1YiAuZGFzaC10aXAge1xuICAgIGFuaW1hdGlvbjogZGFzaEZhZGVJbiAuMzVzIGN1YmljLWJlemllciguNCwwLC4yLDEpIGJvdGg7XG59XG5cbi8qIFJlc3BvbnNpdmUgdGlnaHRlbmluZyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAgLnRoZW1lLWFyY2hpaHViIC5kYXNoLWhlcm8ge1xuICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDEuMjVyZW07XG4gICAgfVxuICAgIC50aGVtZS1hcmNoaWh1YiAuZGFzaC1oZXJvX19ncmVldGluZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgfVxuICAgIC50aGVtZS1hcmNoaWh1YiAuZGFzaC1zdGF0IHtcbiAgICAgICAgcGFkZGluZzogLjlyZW0gMXJlbTtcbiAgICB9XG4gICAgLnRoZW1lLWFyY2hpaHViIC5kYXNoLXN0YXRfX3ZhbHVlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFSVElTQU4gUFVCTElDIFBST0ZJTEUg4oCUIEZhY2Vib29rLXN0eWxlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnRoZW1lLWFyY2hpaHViIC5haC1mYiB7XG4gICAgbWF4LXdpZHRoOiA5ODBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLyogUHJldmlldyBiYW5uZXIgc2hvd24gdG8gdGhlIGFydGlzYW4gd2hlbiBwcmV2aWV3aW5nIHRoZWlyIG93biBwcm9maWxlICovXG4udGhlbWUtYXJjaGlodWIgLmFoLWZiLXByZXZpZXctYmFubmVyIHtcbiAgICBtYXgtd2lkdGg6IDk4MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDFyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjY1cmVtO1xuICAgIHBhZGRpbmc6IC43NXJlbSAxLjI1cmVtO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMjQ1LCAxNTgsIDExLCAuMTIpLCByZ2JhKDIyNSwgMjksIDkxLCAuMDgpKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI0NSwgMTU4LCAxMSwgLjM1KTtcbiAgICBib3JkZXItcmFkaXVzOiAuNzVyZW07XG4gICAgZm9udC1zaXplOiAuODc1cmVtO1xuICAgIGNvbG9yOiAjOTI0MDBlO1xuXG4gICAgaSB7IGZvbnQtc2l6ZTogMXJlbTsgY29sb3I6ICNiNDUzMDk7IH1cbn1cblxuLyogQ292ZXIgcHJldmlldyBibG9jayBpbiB0aGUgcHJvZmlsZSBlZGl0IGZvcm0gKi9cbi50aGVtZS1hcmNoaWh1YiAuYWgtY292ZXItcHJldmlldyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMDYpO1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIC4wMyk7XG59XG4udGhlbWUtYXJjaGlodWIgLmFoLWNvdmVyLXByZXZpZXdfX2NvdmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxODBweDtcbiAgICBiYWNrZ3JvdW5kOlxuICAgICAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDMwJSAzMCUsIHJnYmEoMjI1LCAyOSwgOTEsIC4yNSksIHRyYW5zcGFyZW50IDU1JSksXG4gICAgICAgIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgNzAlIDcwJSwgcmdiYSgxMzcsIDMsIDEzMCwgLjM1KSwgdHJhbnNwYXJlbnQgNTUlKSxcbiAgICAgICAgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzg5MDM4MiAwJSwgI0UxMUQ1QiAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbn1cbi50aGVtZS1hcmNoaWh1YiAuYWgtY292ZXItcHJldmlld19fcGxhY2Vob2xkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IC4zNXJlbTtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuOCk7XG4gICAgZm9udC1zaXplOiAuODEyNXJlbTtcblxuICAgIGkgeyBmb250LXNpemU6IDJyZW07IG9wYWNpdHk6IC44OyB9XG59XG4udGhlbWUtYXJjaGlodWIgLmFoLWNvdmVyLXByZXZpZXdfX2xvZ28ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAxLjI1cmVtO1xuICAgIGJvdHRvbTogLTMycHg7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IDRweCBzb2xpZCAjZmZmO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM4OTAzODIgMCUsICNFMTFENUIgMTAwJSk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDEzNywgMywgMTMwLCAuMjUpO1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcblxuICAgIGltZyB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IG9iamVjdC1maXQ6IGNvdmVyOyB9XG59XG4udGhlbWUtYXJjaGlodWIgLmFoLWNvdmVyLXByZXZpZXdfX2NvbnRyb2xzIHtcbiAgICBwYWRkaW5nOiAyLjVyZW0gMS41cmVtIDEuMjVyZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQUxCVU1TIOKAlCBhcnRpc2FuIG1hbmFnZW1lbnQgKGRyb3B6b25lICsgZ3JpZClcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRoZW1lLWFyY2hpaHViIC5haC1hbGJ1bS1kcm9wem9uZSB7XG4gICAgYm9yZGVyOiAycHggZGFzaGVkIHJnYmEoMTM3LCAzLCAxMzAsIC4yNSk7XG4gICAgYm9yZGVyLXJhZGl1czogLjc1cmVtO1xuICAgIHBhZGRpbmc6IDJyZW0gMS41cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4xNXMgZWFzZTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNywgMywgMTMwLCAuMDIpO1xuICAgIGNvbG9yOiB2YXIoLS1haC1tdXRlZCk7XG5cbiAgICBpIHtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tYWgtdmlvbGV0KTtcbiAgICAgICAgb3BhY2l0eTogLjc7XG4gICAgfVxuXG4gICAgJjpob3ZlciwgJi5kcmFnLWFjdGl2ZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYWgtdmlvbGV0KTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxMzcsIDMsIDEzMCwgLjA2KTtcbiAgICB9XG5cbiAgICAmLmRyYWctYWN0aXZlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAxKTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoMTM3LCAzLCAxMzAsIC4xMik7XG4gICAgfVxufVxuXG4udGhlbWUtYXJjaGlodWIgLmFoLWFsYnVtLXBob3RvcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxNTBweCwgMWZyKSk7XG4gICAgZ2FwOiAuNjVyZW07XG59XG4udGhlbWUtYXJjaGlodWIgLmFoLWFsYnVtLXBob3RvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICBib3JkZXItcmFkaXVzOiAuNXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6ICNmM2Y0ZjY7XG5cbiAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuLnRoZW1lLWFyY2hpaHViIC5haC1hbGJ1bS1waG90b19fZGVsZXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAuMzVyZW07XG4gICAgcmlnaHQ6IC4zNXJlbTtcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIyNSwgMjksIDkxLCAuOSk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAuOHJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgZWFzZSwgdHJhbnNmb3JtIC4xNXMgZWFzZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgJjpob3ZlciB7IHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxufVxuLnRoZW1lLWFyY2hpaHViIC5haC1hbGJ1bS1waG90bzpob3ZlciAuYWgtYWxidW0tcGhvdG9fX2RlbGV0ZSB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLyogR2FsbGVyeSB2aWV3IChjbGllbnQgc2lkZSkg4oCUIG1hc29ucnktbGlrZSBncmlkICovXG4udGhlbWUtYXJjaGlodWIgLmFoLWFsYnVtLWdhbGxlcnkge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjIwcHgsIDFmcikpO1xuICAgIGdhcDogLjc1cmVtO1xufVxuLnRoZW1lLWFyY2hpaHViIC5haC1hbGJ1bS1nYWxsZXJ5X19pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYXNwZWN0LXJhdGlvOiA0IC8gMztcbiAgICBib3JkZXItcmFkaXVzOiAuNzVyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiAjZjNmNGY2O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjE1cyBlYXNlLCBib3gtc2hhZG93IC4xNXMgZWFzZTtcblxuICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zNXMgZWFzZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEoMTM3LCAzLCAxMzAsIC4xKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgIGltZyB7IHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cbiAgICB9XG59XG4udGhlbWUtYXJjaGlodWIgLmFoLWFsYnVtLWdhbGxlcnlfX2NhcHRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwOyByaWdodDogMDsgYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IC41cmVtIC43NXJlbTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIC42NSksIHRyYW5zcGFyZW50KTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IC43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExJR0hUQk9YIOKAlCBmdWxsc2NyZWVuIHBob3RvIHZpZXdlciB3aXRoIGtleWJvYXJkIG5hdlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYWgtbGlnaHRib3gge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBpbnNldDogMDtcbiAgICB6LWluZGV4OiAyMDAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAycmVtO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjAsIDIwLCAzNCwgLjkyKTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNnB4KTtcbiAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cig2cHgpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZTtcblxuICAgICYuaXMtb3BlbiB7IG9wYWNpdHk6IDE7IH1cbn1cblxuLmFoLWxpZ2h0Ym94X19zdGFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogOTB2dztcbiAgICBtYXgtaGVpZ2h0OiA5MHZoO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uYWgtbGlnaHRib3hfX2ltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDkwdmg7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICBib3JkZXItcmFkaXVzOiAuNXJlbTtcbiAgICBib3gtc2hhZG93OiAwIDEycHggNDBweCByZ2JhKDAsIDAsIDAsIC41KTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItZHJhZzogbm9uZTtcbn1cblxuLmFoLWxpZ2h0Ym94X19jYXB0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IC0yLjI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgdGV4dC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIC41KTtcbn1cblxuLmFoLWxpZ2h0Ym94X19jb3VudGVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAxcmVtO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjcpO1xuICAgIGZvbnQtc2l6ZTogLjgxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjA0ZW07XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC4zNSk7XG4gICAgcGFkZGluZzogLjI1cmVtIC43NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KTtcbn1cblxuLmFoLWxpZ2h0Ym94X19idG4ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogNDhweDtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xKTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4xNXMgZWFzZSwgdHJhbnNmb3JtIC4xNXMgZWFzZTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMTM3LCAzLCAxMzAsIC4zNSk7XG4gICAgfVxufVxuXG4uYWgtbGlnaHRib3hfX2Nsb3NlIHsgdG9wOiAxcmVtOyByaWdodDogMXJlbTsgfVxuLmFoLWxpZ2h0Ym94X19wcmV2ICB7IGxlZnQ6IDFyZW07IHRvcDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgJjpob3ZlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxLjA1KTsgfVxufVxuLmFoLWxpZ2h0Ym94X19uZXh0ICB7IHJpZ2h0OiAxcmVtOyB0b3A6IDUwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICY6aG92ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMS4wNSk7IH1cbn1cblxuLyogSGludCB0aGF0IGdhbGxlcnkgaXRlbXMgYXJlIHpvb21hYmxlICovXG4udGhlbWUtYXJjaGlodWIgLmFoLWFsYnVtLWdhbGxlcnlfX2l0ZW0geyBjdXJzb3I6IHpvb20taW47IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAgLmFoLWxpZ2h0Ym94IHsgcGFkZGluZzogMXJlbTsgfVxuICAgIC5haC1saWdodGJveF9fYnRuIHsgd2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAuOTVyZW07IH1cbiAgICAuYWgtbGlnaHRib3hfX2Nsb3NlIHsgdG9wOiAuNzVyZW07IHJpZ2h0OiAuNzVyZW07IH1cbiAgICAuYWgtbGlnaHRib3hfX3ByZXYgeyBsZWZ0OiAuNXJlbTsgfVxuICAgIC5haC1saWdodGJveF9fbmV4dCB7IHJpZ2h0OiAuNXJlbTsgfVxuICAgIC5haC1saWdodGJveF9fY2FwdGlvbiB7IGZvbnQtc2l6ZTogLjgxMjVyZW07IGJvdHRvbTogLTJyZW07IH1cbn1cblxuLyog4pSA4pSAIENvdmVyIOKUgOKUgCAqL1xuLmFoLWZiLWNvdmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAyODBweDtcbiAgICBib3JkZXItcmFkaXVzOiAxcmVtIDFyZW0gMCAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDpcbiAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAzMCUgMzAlLCByZ2JhKDIyNSwgMjksIDkxLCAuMjUpLCB0cmFuc3BhcmVudCA1NSUpLFxuICAgICAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDcwJSA3MCUsIHJnYmEoMTM3LCAzLCAxMzAsIC4zNSksIHRyYW5zcGFyZW50IDU1JSksXG4gICAgICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM4OTAzODIgMCUsICNFMTFENUIgMTAwJSk7XG59XG4uYWgtZmItY292ZXIgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4uYWgtZmItY292ZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAuMjUpIDAlLCB0cmFuc3BhcmVudCA0MCUpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKiDilIDilIAgSGVhZGVyIChsb2dvIG92ZXJsYXBwaW5nIGNvdmVyKSDilIDilIAgKi9cbi5haC1mYi1oZWFkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIC4wNik7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMXJlbSAxcmVtO1xuICAgIHBhZGRpbmc6IDAgMS43NXJlbSAxLjI1cmVtO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE0cHggcmdiYSgwLCAwLCAwLCAuMDQpO1xufVxuLmFoLWZiLWhlYWRfX3RvcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDEuMjVyZW07XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIG1hcmdpbi10b3A6IC02NHB4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5haC1mYi1sb2dvIHtcbiAgICB3aWR0aDogMTQ0cHg7XG4gICAgaGVpZ2h0OiAxNDRweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiA0cHggc29saWQgI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjODkwMzgyIDAlLCAjRTExRDVCIDEwMCUpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGZvbnQtZmFtaWx5OiBcIkRNIFNhbnNcIiwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDE4cHggcmdiYSgxMzcsIDMsIDEzMCwgLjI1KTtcblxuICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cbn1cbi5haC1mYi1oZWFkX19pbmZvIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogLjI1cmVtO1xufVxuLmFoLWZiLW5hbWUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkRNIFNhbnNcIiwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIGNvbG9yOiAjMWUxZTFlO1xuICAgIG1hcmdpbjogMDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG4uYWgtZmItbWV0YSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjY1cmVtO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW4tdG9wOiAuMzVyZW07XG4gICAgZm9udC1zaXplOiAuODc1cmVtO1xuICAgIGNvbG9yOiAjNzE3MTcxO1xuXG4gICAgLnNlcCB7IG9wYWNpdHk6IC4zNTsgfVxuICAgIGEgeyBjb2xvcjogIzg5MDM4MjsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgYTpob3ZlciB7IGNvbG9yOiAjRTExRDVCOyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxufVxuLmFoLWZiLXJhdGluZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC4zNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjZjU5ZTBiO1xuXG4gICAgLmFoLWZiLXJhdGluZ19fbnVtIHsgY29sb3I6ICMxZTFlMWU7IGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgIC5haC1mYi1yYXRpbmdfX2NvdW50IHsgY29sb3I6ICM3MTcxNzE7IGZvbnQtd2VpZ2h0OiA0MDA7IGZvbnQtc2l6ZTogLjgxMjVyZW07IH1cbn1cbi5haC1mYi1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogLjVyZW07XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG59XG5cbi8qIOKUgOKUgCBUYWJzIOKUgOKUgCAqL1xuLmFoLWZiLXRhYnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDRweDtcbiAgICBtYXJnaW46IDEuMjVyZW0gMCAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMDYpO1xufVxuLmFoLWZiLXRhYiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC41cmVtO1xuICAgIHBhZGRpbmc6IC44NXJlbSAxLjFyZW07XG4gICAgZm9udC1zaXplOiAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjNzE3MTcxO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIC4xNXMgZWFzZSwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgaSB7IGZvbnQtc2l6ZTogLjk1cmVtOyB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICM4OTAzODI7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogIzg5MDM4MjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzg5MDM4MjtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxufVxuXG4vKiDilIDilIAgQ29udGVudCBwYW5lcyDilIDilIAgKi9cbi5haC1mYi1wYW5lIHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuYWN0aXZlIHsgZGlzcGxheTogYmxvY2s7IH1cbn1cblxuLyog4pSA4pSAIEFib3V0IC8gQ29vcmRvbm7DqWVzIGNhcmQg4pSA4pSAICovXG4uYWgtZmItYWJvdXQtZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgZ2FwOiAxcmVtO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cbn1cbi5haC1mYi1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjA2KTtcbiAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIC4wMyk7XG59XG4uYWgtZmItY2FyZF9fdGl0bGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC41cmVtO1xuICAgIGZvbnQtZmFtaWx5OiBcIkRNIFNhbnNcIiwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMWUxZTFlO1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG5cbiAgICBpIHsgY29sb3I6ICM4OTAzODI7IH1cbn1cbi5haC1mYi1pbmZvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuNzVyZW07XG4gICAgcGFkZGluZzogLjU1cmVtIDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjA0KTtcbiAgICBmb250LXNpemU6IC44NzVyZW07XG5cbiAgICAmOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbiAgICBpIHtcbiAgICAgICAgY29sb3I6ICM4OTAzODI7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgd2lkdGg6IDEuMjVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgYSB7IGNvbG9yOiAjMWUxZTFlOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICBhOmhvdmVyIHsgY29sb3I6ICM4OTAzODI7IH1cbn1cbi5haC1mYi1kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAuOTM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGNvbG9yOiAjNDQ0O1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbn1cblxuLyogTWluaSBtYXAgaW4gQ29vcmRvbm7DqWVzIGNhcmQgKi9cbi5haC1mYi1tYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiAuNzVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogLjc1cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMDYpO1xuICAgIGJhY2tncm91bmQ6ICNmNWY1Zjc7XG5cbiAgICBpZnJhbWUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTgwcHg7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICB9XG59XG5cbi8qIFNjb3BlZCB1bmRlciAudGhlbWUtYXJjaGlodWIgdG8gd2luIG92ZXIgdGhlIGdsb2JhbCBgLnRoZW1lLWFyY2hpaHViIGE6aG92ZXIgeyBjb2xvcjogcm91Z2UgfWAgcnVsZS4gKi9cbi50aGVtZS1hcmNoaWh1YiAuYWgtZmItbWFwX19jdGEge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC42NXJlbTtcbiAgICByaWdodDogLjY1cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuMzVyZW07XG4gICAgcGFkZGluZzogLjRyZW0gLjdyZW07XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogIzFlMWUxZTtcbiAgICBmb250LXNpemU6IC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAuMTUpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjE1cyBlYXNlLCBjb2xvciAuMTVzIGVhc2UsIHRyYW5zZm9ybSAuMTVzIGVhc2UsIGJveC1zaGFkb3cgLjE1cyBlYXNlO1xuXG4gICAgaSB7IGNvbG9yOiB2YXIoLS1haC12aW9sZXQpOyBmb250LXNpemU6IC44NXJlbTsgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYWgtdmlvbGV0KTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMTM3LCAzLCAxMzAsIC4yNSk7XG5cbiAgICAgICAgaSB7IGNvbG9yOiAjZmZmOyB9XG4gICAgfVxufVxuXG4vKiBUZWFtIGxpc3QgKi9cbi5haC1mYi10ZWFtIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDE0MHB4LCAxZnIpKTtcbiAgICBnYXA6IC42NXJlbTtcbn1cbi5haC1mYi10ZWFtX19pdGVtIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogLjg1cmVtIC41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IC43NXJlbTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNywgMywgMTMwLCAuMDMpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjE1cyBlYXNlO1xuXG4gICAgJjpob3ZlciB7IGJhY2tncm91bmQ6IHJnYmEoMTM3LCAzLCAxMzAsIC4wNik7IH1cbn1cbi5haC1mYi10ZWFtX19hdmF0YXIge1xuICAgIHdpZHRoOiA1NnB4O1xuICAgIGhlaWdodDogNTZweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMzcsIDMsIDEzMCwgLjA4KTtcbiAgICBjb2xvcjogIzg5MDM4MjtcbiAgICBtYXJnaW46IDAgYXV0byAuNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDEzNywgMywgMTMwLCAuMTUpO1xuXG4gICAgaW1nIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgb2JqZWN0LWZpdDogY292ZXI7IH1cbn1cbi5haC1mYi10ZWFtX19uYW1lIHtcbiAgICBmb250LXNpemU6IC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMxZTFlMWU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qIOKUgOKUgCBBbGJ1bXMgKHBob3RvcyBieSBwcm9qZWN0KSDilIDilIAgKi9cbi5haC1mYi1hbGJ1bXMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjIwcHgsIDFmcikpO1xuICAgIGdhcDogMXJlbTtcbn1cbi5haC1mYi1hbGJ1bSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjA2KTtcbiAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAuMDMpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMTVzIGVhc2UsIGJveC1zaGFkb3cgLjE1cyBlYXNlO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICAgICAgYm94LXNoYWRvdzogMCA4cHggMjJweCByZ2JhKDEzNywgMywgMTMwLCAuMTIpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbn1cbi5haC1mYi1hbGJ1bV9fY292ZXIge1xuICAgIGFzcGVjdC1yYXRpbzogNC8zO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LCAzLCAxMzAsIC4wNCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuLmFoLWZiLWFsYnVtX19jb3VudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAuNjVyZW07XG4gICAgYm90dG9tOiAuNjVyZW07XG4gICAgcGFkZGluZzogLjE1cmVtIC41NXJlbTtcbiAgICBmb250LXNpemU6IC43cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuNTUpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig0cHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xufVxuLmFoLWZiLWFsYnVtX19ib2R5IHtcbiAgICBwYWRkaW5nOiAuODVyZW0gMXJlbTtcbn1cbi5haC1mYi1hbGJ1bV9fdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAuOTM3NXJlbTtcbiAgICBjb2xvcjogIzFlMWUxZTtcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLmFoLWZiLWFsYnVtX19tZXRhIHtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgY29sb3I6ICM4OTAzODI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDNlbTtcbn1cblxuLyog4pSA4pSAIFJldmlld3Mg4pSA4pSAICovXG4uYWgtZmItcmV2aWV3cy1zdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjIwcHggMWZyO1xuICAgIGdhcDogMS41cmVtO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG4uYWgtZmItcmF0aW5nLWJpZyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmFoLWZiLXJhdGluZy1iaWdfX251bSB7XG4gICAgZm9udC1mYW1pbHk6IFwiRE0gU2Fuc1wiLCBzeXN0ZW0tdWksIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICMxZTFlMWU7XG59XG4uYWgtZmItcmF0aW5nLWJpZ19fc3RhcnMge1xuICAgIGNvbG9yOiAjZjU5ZTBiO1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIG1hcmdpbjogLjM1cmVtIDAgLjE1cmVtO1xufVxuLmFoLWZiLXJhdGluZy1iaWdfX2NvdW50IHtcbiAgICBmb250LXNpemU6IC44MTI1cmVtO1xuICAgIGNvbG9yOiAjNzE3MTcxO1xufVxuLmFoLWZiLWJhcnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IC4zNXJlbTtcbn1cbi5haC1mYi1iYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC42NXJlbTtcbiAgICBmb250LXNpemU6IC44MTI1cmVtO1xufVxuLmFoLWZiLWJhcl9fbGFiZWwge1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIGNvbG9yOiAjNzE3MTcxO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBpIHsgY29sb3I6ICNmNTllMGI7IGZvbnQtc2l6ZTogLjdyZW07IG1hcmdpbi1sZWZ0OiAycHg7IH1cbn1cbi5haC1mYi1iYXJfX3RyYWNrIHtcbiAgICBmbGV4OiAxO1xuICAgIGhlaWdodDogOHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjA1KTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5haC1mYi1iYXJfX2ZpbGwge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNmNTllMGIsICNmOTczMTYpO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAuNnMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSk7XG59XG4uYWgtZmItYmFyX19jb3VudCB7XG4gICAgd2lkdGg6IDI4cHg7XG4gICAgY29sb3I6ICM3MTcxNzE7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLyogUmV2aWV3IGNhcmRzICovXG4uYWgtZmItcmV2aWV3IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjA2KTtcbiAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgLjAzKTtcbn1cbi5haC1mYi1yZXZpZXdfX2hlYWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC43NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbn1cbi5haC1mYi1yZXZpZXdfX2F2YXRhciB7XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjODkwMzgyLCAjRTExRDVCKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IC45cmVtO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuLmFoLWZiLXJldmlld19fYXV0aG9yIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbn1cbi5haC1mYi1yZXZpZXdfX25hbWUge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAuOTM3NXJlbTtcbiAgICBjb2xvcjogIzFlMWUxZTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xufVxuLmFoLWZiLXJldmlld19fZGF0ZSB7XG4gICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgY29sb3I6ICM3MTcxNzE7XG4gICAgbWFyZ2luLXRvcDogMXB4O1xufVxuLmFoLWZiLXJldmlld19fc3RhcnMge1xuICAgIGNvbG9yOiAjZjU5ZTBiO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuLmFoLWZiLXJldmlld19fYm9keSB7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgZm9udC1zaXplOiAuOTM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41NTtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG59XG4uYWgtZmItcmV2aWV3X19yZXBseSB7XG4gICAgbWFyZ2luLXRvcDogLjg1cmVtO1xuICAgIHBhZGRpbmc6IC43NXJlbSAxcmVtO1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgIzg5MDM4MjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNywgMywgMTMwLCAuMDQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgLjVyZW0gLjVyZW0gMDtcbn1cbi5haC1mYi1yZXZpZXdfX3JlcGx5LWhlYWRlciB7XG4gICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgY29sb3I6ICM4OTAzODI7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDRlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAuMjVyZW07XG59XG4uYWgtZmItcmV2aWV3X19yZXBseS1ib2R5IHtcbiAgICBmb250LXNpemU6IC44NzVyZW07XG4gICAgY29sb3I6ICMzMzM7XG59XG5cbi8qIElubGluZSBlZGl0IGJ1dHRvbiBvbiB0aGUgcmVwbHkgaGVhZGVyIChwcmV2aWV3IG1vZGUpICovXG4uYWgtZmItcmVwbHktZWRpdCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDRweDtcbiAgICBmb250LXNpemU6IC42OHJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIHBhZGRpbmc6IC4xNXJlbSAuNTVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMzcsIDMsIDEzMCwgLjIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6IHZhcigtLWFoLXZpb2xldCk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjEycywgYm9yZGVyLWNvbG9yIC4xMnM7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxMzcsIDMsIDEzMCwgLjA4KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1haC12aW9sZXQpO1xuICAgIH1cbn1cblxuLyogTWFrZSB0aGUgcmVwbHkgaGVhZGVyIGZsZXhpYmxlIHNvIHRoZSBlZGl0IGJ1dHRvbiBjYW4gc2l0IG9uIHRoZSByaWdodCAqL1xuLmFoLWZiLXJldmlld19fcmVwbHktaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuMzVyZW07XG59XG5cbi5haC1mYi1yZXBseS1mb3JtIHtcbiAgICBtYXJnaW4tdG9wOiAuODVyZW07XG4gICAgcGFkZGluZzogLjg1cmVtIDFyZW07XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMzcsIDMsIDEzMCwgLjAzKTtcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgcmdiYSgxMzcsIDMsIDEzMCwgLjI1KTtcbiAgICBib3JkZXItcmFkaXVzOiAuNXJlbTtcblxuICAgIHRleHRhcmVhIHtcbiAgICAgICAgZm9udC1zaXplOiAuODc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIH1cbn1cblxuLyogU3RhciByYXRlciAoaW4gZm9ybSkgKi9cbi5haC1mYi1yYXRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDRweDtcbn1cbi5haC1mYi1yYXRlcl9fc3RhciB7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2QxZDVkYjtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgLjEycyBlYXNlLCB0cmFuc2Zvcm0gLjFzIGVhc2U7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjpob3ZlciB7IHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAgICYuYWN0aXZlIHsgY29sb3I6ICNmNTllMGI7IH1cbiAgICAmOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuICAgICY6Zm9jdXMtdmlzaWJsZSB7IGNvbG9yOiAjZjU5ZTBiOyB9XG59XG5cbi8qIENUQSBcIkxhaXNzZXIgdW4gYXZpc1wiIGNhbGxvdXQgKi9cbi5haC1mYi1yZXZpZXctY3RhIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDEzNywgMywgMTMwLCAuMDQpLCByZ2JhKDIyNSwgMjksIDkxLCAuMDQpKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEzNywgMywgMTMwLCAuMTUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbn1cblxuLyogRW1wdHkgc3RhdGVzICovXG4uYWgtZmItZW1wdHkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAzcmVtIDEuNXJlbTtcbiAgICBjb2xvcjogIzcxNzE3MTtcblxuICAgIC8qIE9ubHkgdGhlIGRpcmVjdCBmaXJzdC1sZXZlbCBpY29uICh0aGUgYmlnIGlsbHVzdHJhdGlvbiksIG5vdCBpY29ucyBuZXN0ZWQgaW4gYnV0dG9ucy9saW5rcyAqL1xuICAgID4gaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgICAgb3BhY2l0eTogLjM7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAgLmFoLWZiLWNvdmVyIHsgaGVpZ2h0OiAxODBweDsgfVxuICAgIC5haC1mYi1sb2dvIHsgd2lkdGg6IDExMHB4OyBoZWlnaHQ6IDExMHB4OyBmb250LXNpemU6IDIuMjVyZW07IGJvcmRlci13aWR0aDogM3B4OyB9XG4gICAgLmFoLWZiLWhlYWRfX3RvcCB7IG1hcmdpbi10b3A6IC01MHB4OyB9XG4gICAgLmFoLWZiLW5hbWUgeyBmb250LXNpemU6IDEuNXJlbTsgfVxuICAgIC5haC1mYi1oZWFkIHsgcGFkZGluZzogMCAxLjI1cmVtIDEuMjVyZW07IH1cbn1cbiIsIi8qIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAgTWVldGluZyByZXBvcnRzIOKAlCBwaG90byBncmlkLCBkcm9wem9uZSwgYW5ub3RhdGlvbiBlZGl0b3JcbiAgIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuXG4vKiBRdWlsbCB3cmFwcGVyIGZvciB0aGUgbWVldGluZy1yZXBvcnQgY29udGVudCBlZGl0b3IuXG4gICBRdWlsbCBhcHBsaWVzIGl0cyBvd24gYm9yZGVycyB0byAucWwtdG9vbGJhciBhbmQgLnFsLWNvbnRhaW5lciwgc28gd2VcbiAgIG9ubHkgc2V0IHRoZSBlZGl0b3IgbWluLWhlaWdodCBhbmQgZW5zdXJlIHRoZSB3cmFwcGVyIGRvZXNuJ3QgY2xpcC4gKi9cbi5haC1tci1xdWlsbCB7XG4gICAgLnFsLWNvbnRhaW5lciB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAuMzc1cmVtO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogLjM3NXJlbTtcbiAgICB9XG4gICAgLnFsLXRvb2xiYXIge1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAuMzc1cmVtO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogLjM3NXJlbTtcbiAgICB9XG4gICAgLnFsLWVkaXRvciB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIyMHB4O1xuICAgIH1cbn1cblxuLmFoLW1yLWRyb3B6b25lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAuNzVyZW07XG4gICAgcGFkZGluZzogMS41cmVtO1xuICAgIGJvcmRlcjogMnB4IGRhc2hlZCByZ2JhKDEzNywgMywgMTMwLCAuMjUpO1xuICAgIGJvcmRlci1yYWRpdXM6IC43NXJlbTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNywgMywgMTMwLCAuMDMpO1xuICAgIGNvbG9yOiAjNDc1NTY5O1xuICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4ycywgYm9yZGVyLWNvbG9yIC4ycztcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICAmLmlzLW92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNywgMywgMTMwLCAuMDgpO1xuICAgICAgICBib3JkZXItY29sb3I6ICM4OTAzODI7XG4gICAgfVxufVxuXG4uYWgtbXItcGhvdG8ge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG5cbiAgICAmX190aHVtYiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogNCAvIDM7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjVmOTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogLjYyNXJlbTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAmOmhvdmVyIC5haC1tci1waG90b19fYWN0aW9ucyB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWN0aW9ucyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAuMzc1cmVtO1xuICAgICAgICByaWdodDogLjM3NXJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAuMjVyZW07XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjE1cztcbiAgICB9XG5cbiAgICAmX19idG4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC45Mik7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY29sb3I6ICMxZTFlMWU7XG4gICAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IC4zNzVyZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LXNpemU6IC44NzVyZW07XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIC4xMik7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjE1cywgY29sb3IgLjE1cztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM4OTAzODI7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRhbmdlcjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZGMyNjI2O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgQW5ub3RhdGlvbiBlZGl0b3Ig4oCUIG1vZGFsIGFsaWduZWQgd2l0aCB0aGUgcmVzdCBvZiB0aGUgYXBwIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuXG4uYWgtbXItZWRpdG9yLW1vZGFsIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJveC1zaGFkb3c6IDAgMjBweCA1MHB4IHJnYmEoMCwgMCwgMCwgLjI1KTtcblxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM4OTAzODIgMCUsICNiOTExN2MgMTAwJSk7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMS4yNXJlbTtcblxuICAgICAgICAubW9kYWwtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgfVxuICAgICAgICAuYnRuLWNsb3NlIHtcbiAgICAgICAgICAgIGZpbHRlcjogaW52ZXJ0KDEpIGJyaWdodG5lc3MoMik7XG4gICAgICAgICAgICBvcGFjaXR5OiAuODU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ib2R5IHtcbiAgICAgICAgYmFja2dyb3VuZDogI2Y2ZjdmYjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAmX19mb290ZXIge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMDYpO1xuICAgICAgICBwYWRkaW5nOiAuODc1cmVtIDEuMjVyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgfVxufVxuXG4uYWgtbXItZWRpdG9yLXRvb2xiYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAuMzc1cmVtO1xuICAgIHBhZGRpbmc6IC43NXJlbSAxcmVtO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjA2KTtcblxuICAgICZfX2dyb3VwIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogLjI1cmVtO1xuXG4gICAgICAgICYtLWNvbG9ycyB7XG4gICAgICAgICAgICBnYXA6IC4zNzVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1hY3Rpb25zIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgZ2FwOiAuMjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kaXZpZGVyIHtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgaGVpZ2h0OiAxLjc1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC4wOCk7XG4gICAgICAgIG1hcmdpbjogMCAuMjVyZW07XG4gICAgfVxufVxuXG4uYWgtbXItdG9vbC1idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuMzc1cmVtO1xuICAgIHBhZGRpbmc6IC4zNzVyZW0gLjYyNXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAuNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzQ3NTU2OTtcbiAgICBmb250LXNpemU6IC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjE1cywgY29sb3IgLjE1cywgYm9yZGVyLWNvbG9yIC4xNXM7XG5cbiAgICBpIHsgZm9udC1zaXplOiAuOTM3NXJlbTsgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LCAzLCAxMzAsIC4wNik7XG4gICAgICAgIGNvbG9yOiAjODkwMzgyO1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxMzcsIDMsIDEzMCwgLjEpO1xuICAgICAgICBjb2xvcjogIzg5MDM4MjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDEzNywgMywgMTMwLCAuMjUpO1xuICAgIH1cblxuICAgICYtLWdob3N0IHtcbiAgICAgICAgcGFkZGluZzogLjM3NXJlbSAuNXJlbTtcblxuICAgICAgICBzcGFuIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cbn1cblxuLmFoLW1yLWNvbG9yLXN3YXRjaCB7XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgwLCAwLCAwLCAuMDgpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMTJzLCBib3JkZXItY29sb3IgLjEycywgYm94LXNoYWRvdyAuMTJzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xMik7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZmY7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjODkwMzgyO1xuICAgIH1cbn1cblxuLmFoLW1yLWVkaXRvci1jYW52YXMtd3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDUwdmg7XG4gICAgbWF4LWhlaWdodDogNjV2aDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDpcbiAgICAgICAgbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAjZTllY2VmIDI1JSwgdHJhbnNwYXJlbnQgMjUlKSxcbiAgICAgICAgbGluZWFyLWdyYWRpZW50KC00NWRlZywgI2U5ZWNlZiAyNSUsIHRyYW5zcGFyZW50IDI1JSksXG4gICAgICAgIGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQgNzUlLCAjZTllY2VmIDc1JSksXG4gICAgICAgIGxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHRyYW5zcGFyZW50IDc1JSwgI2U5ZWNlZiA3NSUpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjBweCAyMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMCwgMCAxMHB4LCAxMHB4IC0xMHB4LCAtMTBweCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY3ZmI7XG4gICAgcGFkZGluZzogMS41cmVtO1xuXG4gICAgLmNhbnZhcy1jb250YWluZXIge1xuICAgICAgICBib3gtc2hhZG93OiAwIDRweCAyMHB4IHJnYmEoMCwgMCwgMCwgLjEpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAuMzc1cmVtO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbn1cblxuLyogLS0tIEF0dGVuZGVlcyBwaWNrZXIgKENSIMKrIFByw6lzZW50cyDCuykgLS0tICovXG4uYWgtbXItYXR0ZW5kZWVzLWNoaXBzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IC40cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IC42cmVtO1xuXG4gICAgJi5pcy1lbXB0eSB7IGRpc3BsYXk6IG5vbmU7IH1cbn1cblxuLmFoLW1yLWNoaXAge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuMzVyZW07XG4gICAgcGFkZGluZzogLjNyZW0gLjM1cmVtIC4zcmVtIC43cmVtO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LCAzLCAxMzAsIC4wOCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMzcsIDMsIDEzMCwgLjIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGZvbnQtc2l6ZTogLjg1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgY29sb3I6ICM1YTA1NTY7XG59XG5cbi5haC1tci1jaGlwX194IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LCAzLCAxMzAsIC4xNCk7XG4gICAgY29sb3I6ICM4OTAzODI7XG4gICAgZm9udC1zaXplOiAuOHJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMTJzIGVhc2UsIGNvbG9yIC4xMnMgZWFzZTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICM4OTAzODI7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbn1cblxuLyogUHLDqXNlbnRzIOKAlCBhZmZpY2hhZ2UgZW4gbGVjdHVyZSAodnVlIGTDqXRhaWwpICovXG4uYWgtbXItcHJlc2VuY2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAuNXJlbTtcbn1cblxuLmFoLW1yLXByZXNlbmNlX19zdGF0dXMge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuNHJlbTtcbiAgICBwYWRkaW5nOiAuMzVyZW0gLjg1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGZvbnQtc2l6ZTogLjg1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAmLmlzLXByZXNlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDE2LCAxODUsIDEyOSwgLjEyKTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNiwgMTg1LCAxMjksIC4zNSk7XG4gICAgICAgIGNvbG9yOiAjMGY3YTU1O1xuICAgIH1cbiAgICAmLmlzLWFic2VudCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjIwLCAzOCwgMzgsIC4xKTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMjAsIDM4LCAzOCwgLjMpO1xuICAgICAgICBjb2xvcjogI2I0MjMxODtcbiAgICB9XG59XG5cbi5haC1tci1wcmVzZW5jZV9fbWFyayB7XG4gICAgZm9udC1zaXplOiAuOHJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG4uYWgtbXItcGVyc29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjVyZW07XG4gICAgcGFkZGluZzogLjI1cmVtIC44NXJlbSAuMjVyZW0gLjNyZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWNlN2YwO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjMWUxZTFlO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDE2LCAyNCwgNDAsIC4wNCk7XG59XG5cbi5haC1tci1wZXJzb25fX2F2YXRhciB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM4OTAzODIsICNiNTE3OWUpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogLjcycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5haC1tci1hdHRlbmRlZXMtc2VhcmNoIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICA+IC5iaS1zZWFyY2gge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAuN3JlbTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBjb2xvcjogIzg5MDM4MjtcbiAgICAgICAgZm9udC1zaXplOiAuOTVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICBpbnB1dC5mb3JtLWNvbnRyb2wge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuMnJlbTtcbiAgICB9XG59XG5cbi5haC1tci1hdHRlbmRlZXMtbGlzdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDIwO1xuICAgIHRvcDogY2FsYygxMDAlICsgMnB4KTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1heC1oZWlnaHQ6IDIyMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIC4xMik7XG4gICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gICAgYm94LXNoYWRvdzogMCA4cHggMjRweCByZ2JhKDAsIDAsIDAsIC4xMik7XG4gICAgcGFkZGluZzogLjI1cmVtO1xuXG4gICAgJltoaWRkZW5dIHsgZGlzcGxheTogbm9uZTsgfVxufVxuXG4uYWgtbXItYXR0ZW5kZWUtb3B0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuNXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiAuNXJlbSAuNjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogLjM3NXJlbTtcbiAgICBmb250LXNpemU6IC45cmVtO1xuICAgIGNvbG9yOiAjMWUxZTFlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC5iaSB7XG4gICAgICAgIGNvbG9yOiAjODkwMzgyO1xuICAgICAgICBmb250LXNpemU6IC45cmVtO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LCAzLCAxMzAsIC4wOCk7XG4gICAgfVxufVxuXG5bZGF0YS1jb3JldWktdGhlbWU9XCJkYXJrXCJdIHtcbiAgICAuYWgtbXItYXR0ZW5kZWVzLWxpc3Qge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMmEyYjM2O1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE0KTtcbiAgICB9XG4gICAgLmFoLW1yLWF0dGVuZGVlLW9wdGlvbiB7XG4gICAgICAgIGNvbG9yOiAjZTllY2VmO1xuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHsgYmFja2dyb3VuZDogcmdiYSgxMzcsIDMsIDEzMCwgLjI1KTsgfVxuICAgIH1cbiAgICAuYWgtbXItY2hpcCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTM3LCAzLCAxMzAsIC4yMik7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxMzcsIDMsIDEzMCwgLjQ1KTtcbiAgICAgICAgY29sb3I6ICNmMGQ2ZWU7XG4gICAgfVxuICAgIC5haC1tci1jaGlwX194IHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTIpO1xuICAgICAgICBjb2xvcjogI2YwZDZlZTtcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7IGJhY2tncm91bmQ6ICM4OTAzODI7IGNvbG9yOiAjZmZmOyB9XG4gICAgfVxuICAgIC5haC1tci1wcmVzZW5jZV9fc3RhdHVzLmlzLXByZXNlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDE2LCAxODUsIDEyOSwgLjIpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMTYsIDE4NSwgMTI5LCAuNDUpO1xuICAgICAgICBjb2xvcjogIzZlZTdiNztcbiAgICB9XG4gICAgLmFoLW1yLXByZXNlbmNlX19zdGF0dXMuaXMtYWJzZW50IHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyMjAsIDM4LCAzOCwgLjIpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjIwLCAzOCwgMzgsIC40NSk7XG4gICAgICAgIGNvbG9yOiAjZmNhNWE1O1xuICAgIH1cbiAgICAuYWgtbXItcGVyc29uIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzJhMmIzNjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xMik7XG4gICAgICAgIGNvbG9yOiAjZTllY2VmO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/