:root {
      --navy: #071543;
      --pink: #df1f85;
      --purple: #2f80ed;
      --orange: #ff5a00;
      --blue: #3b82f6;
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
      width: 100%;
      overflow-x: hidden;
    }

    body {
      margin: 0;
      width: 100%;
      min-width: 0;
      padding-top: 68px;
      overflow-x: hidden;
      font-family: Inter, sans-serif;
      color: var(--navy);
      background: #eef4ff;
    }

    body>header {
      position: fixed !important;
      top: 0;
      right: 0;
      left: 0;
      z-index: 60;
    }

    #search {
      scroll-margin-top: 88px;
    }

    main,
    section,
    header,
    footer {
      max-width: 100%;
    }

    .hero-panel {
      min-height: 454px;
      background:
        linear-gradient(90deg, rgba(2, 10, 24, .72) 0%, rgba(2, 10, 24, .44) 48%, rgba(2, 10, 24, .12) 100%),
        url(../images/home.png?b04d00763e86045b85d9663706331d59) center / cover no-repeat;
    }

    .hero-panel::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(255, 255, 255, 0) 72%, rgba(238, 244, 255, 1) 100%);
      pointer-events: none;
      z-index: 0;
    }

    /* .service-tab.active {
      color: var(--purple);
      background: #fff;
      border-color: #dbeafe;
      box-shadow: 0 8px 22px rgba(47, 128, 237, .16);
    } */

    .search-panel {
      display: none;
    }

    .search-panel.active {
      display: block;
      animation: panelIn .18s ease-out;
    }

    .field:focus-within {
      border-color: rgba(241, 90, 36, .55);
      box-shadow: 0 0 0 4px rgba(241, 90, 36, .1);
    }

    .sticky-search {
      transform: translateY(-110%);
      opacity: 0;
      transition: transform .24s ease, opacity .24s ease;
    }

    .sticky-search.show {
      transform: translateY(0);
      opacity: 1;
    }

    .route-card img,
    .place-card img {
      aspect-ratio: 16 / 9;
    }

    .photo-card::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(17, 23, 63, 0) 35%, rgba(17, 23, 63, .82) 100%);
      pointer-events: none;
    }

    .shine {
      background: linear-gradient(110deg, rgba(255, 255, 255, .98), rgba(239, 246, 255, .96), rgba(255, 246, 240, .94));
    }

    .no-scrollbar::-webkit-scrollbar {
      display: none;
    }

    .no-scrollbar {
      scrollbar-width: none;
    }

    @keyframes panelIn {
      from {
        opacity: 0;
        transform: translateY(5px);
      }

      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    @media (max-width: 767px) {
      .hero-panel {
        min-height: auto;
        background-position: center top;
      }

      .hero-panel > div,
      #search,
      #search * {
        min-width: 0;
        max-width: 100%;
      }

      #search .grid,
      #search .md\:grid-cols-\[1fr_auto_1fr\],
      #search .md\:grid-cols-4,
      #search .lg\:grid-cols-2,
      #search .lg\:grid-cols-\[1\.35fr_\.9fr_\.7fr_\.7fr_\.7fr\] {
        grid-template-columns: minmax(0, 1fr) !important;
      }

      #search .relative.grid {
        overflow-x: auto;
      }
    }

    h1 {
      overflow: hidden;
      white-space: nowrap;
      width: 0;
      animation: typing 4s steps(60, end) forwards, blink 0.7s infinite;
    }

    /* IMPORTANT FIX */
    h1 span {
      color: transparent;
      /* hide initially */
      animation: showGradient 0s linear forwards;
      animation-delay: 3.5s;
      /* match typing end */
    }

    /* typing animation */
    @keyframes typing {
      from {
        width: 0;
      }

      to {
        width: 100%;
      }
    }

    /* cursor */
    @keyframes blink {
      50% {
        border-color: transparent;
      }
    }

    /* show gradient text AFTER typing */
    @keyframes showGradient {
      to {
        color: transparent;
        -webkit-background-clip: text;
        background-clip: text;
      }
    }

    .hero-content {
      display: grid;
      gap: 36px;
      align-items: start;
    }

    .hero-visual {
      position: relative;
      display: none;
      min-height: 300px;
    }

    .glass-flight-card {
      position: relative;
      max-width: 390px;
      margin-left: auto;
      border: 1px solid rgba(255, 255, 255, .34);
      background: linear-gradient(145deg, rgba(255, 255, 255, .28), rgba(255, 255, 255, .12));
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
      box-shadow: 0 24px 70px rgba(2, 10, 24, .28);
      animation: floatCard 5.5s ease-in-out infinite;
    }

    .flight-path {
      position: absolute;
      left: -72px;
      top: 82px;
      width: 210px;
      height: 90px;
      border-top: 2px dashed rgba(255, 255, 255, .48);
      border-radius: 100%;
      transform: rotate(-14deg);
    }

    .plane-bubble {
      position: absolute;
      left: 70px;
      top: 42px;
      display: grid;
      height: 54px;
      width: 54px;
      place-items: center;
      border-radius: 999px;
      background: linear-gradient(135deg, #ff7a2f, #df1f85);
      color: white;
      box-shadow: 0 16px 35px rgba(223, 31, 133, .34);
      animation: planeDrift 4.8s ease-in-out infinite;
    }

    .hero-stat-card {
      position: absolute;
      right: 280px;
      bottom: 18px;
      width: 175px;
      border: 1px solid rgba(255, 255, 255, .28);
      background: rgba(255, 255, 255, .18);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      box-shadow: 0 18px 45px rgba(2, 10, 24, .22);
      animation: floatCard 6s ease-in-out infinite reverse;
    }

    @keyframes floatCard {

      0%,
      100% {
        transform: translateY(0);
      }

      50% {
        transform: translateY(-12px);
      }
    }

    @keyframes planeDrift {

      0%,
      100% {
        transform: translate(0, 0) rotate(-8deg);
      }

      50% {
        transform: translate(18px, -10px) rotate(4deg);
      }
    }

    @media (min-width: 1024px) {
      .hero-content {
        grid-template-columns: minmax(0, 610px) minmax(360px, 1fr);
      }

      .hero-visual {
        display: block;
      }
    }

    @media (max-width: 767px) {
      h1 {
        white-space: normal;
        animation: none;
        width: auto;
        border-right: 0;
      }

      h1 span {
        animation: none;
      }
    }

    #search {
      font-family: "Inter", sans-serif;
    }

    @keyframes fadeUp {
      from {
        opacity: 0;
        transform: translateY(26px) scale(.98);
      }

      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }

    @keyframes meshMove {

      0%,
      100% {
        background-position: 0% 50%;
      }

      50% {
        background-position: 100% 50%;
      }
    }

    @keyframes pulseGlow {

      0%,
      100% {
        box-shadow: 0 18px 45px rgba(124, 58, 237, .28);
      }

      50% {
        box-shadow: 0 18px 60px rgba(236, 72, 153, .42);
      }
    }

    .premium-search-shell {
      animation: fadeUp .75s ease both;
    }

    .premium-mesh {
      background-size: 220% 220%;
      animation: meshMove 12s ease infinite;
    }

    .search-panel {
      display: none;
    }

    .search-panel.active {
      display: block;
      animation: fadeUp .38s ease both;
    }

    .shine-btn {
      position: relative;
      overflow: hidden;
    }

    .shine-btn::after {
      content: "";
      position: absolute;
      inset: 0;
      transform: translateX(-130%) skewX(-18deg);
      background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .45), transparent);
      transition: transform .7s ease;
    }

    .shine-btn:hover::after {
      transform: translateX(130%) skewX(-18deg);
    }

    /* Tablet Fix (600px - 1024px) */
    @media (min-width: 600px) and (max-width: 1024px) {

      /* Main form grid adjust */
      #search .grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 14px !important;
      }

      /* Flight top section (From - Swap - To) */
      #search .md\:grid-cols-\[1fr_auto_1fr\] {
        grid-template-columns: 1fr !important;
      }

      /* Fix swap button position */
      #swapBtn {
        margin: 10px auto !important;
        transform: rotate(90deg);
      }

      /* Reduce input size */
      #search label input {
        font-size: 20px !important;
      }

      /* Reduce box padding */
      #search label {
        padding: 16px !important;
      }

      /* Passenger section */
      #search .md\:grid-cols-4 {
        grid-template-columns: 1fr 1fr !important;
      }

      /* Buttons full width */
      .shine-btn {
        width: 100%;
      }

      /* Fix tab overflow */
      #search .relative.grid {
        overflow-x: auto;
        display: flex !important;
      }

      /* Better spacing */
      #search .mt-5 {
        margin-top: 12px !important;
      }

    }

    #tabIndicator {
      position: absolute;
      top: 8px;
      left: 8px;
      height: 48px;
      border-radius: 9999px;
      background: linear-gradient(to right, #7c3aed, #d946ef, #0ea5e9);
      box-shadow: 0 14px 34px rgba(168, 85, 247, .42);
      transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
      width: 0;
    }

    .search-panel {
      display: none;
    }

    .search-panel.active {
      display: block;
      animation: panelIn .18s ease-out;
    }

    @keyframes panelIn {
      from {
        opacity: 0;
        transform: translateY(4px);
      }

      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    @media (max-width: 1024px) {
      #swapBtn {
        transform: rotate(90deg);
      }
    }

    .flatpickr-calendar {
      border-radius: 16px;
      box-shadow: 0 20px 50px rgba(15, 23, 42, .18);
    }

    .flatpickr-day.selected {
      background: #2563eb;
      border-color: #2563eb;
    }

    [data-date-picker] {
      cursor: pointer;
    }

    .flight-city-field {
      z-index: 90;
    }

    .flight-city-field:focus-within {
      z-index: 110;
    }

    .flight-city-dropdown {
      position: fixed;
      left: 0;
      right: 0;
      top: 0;
      z-index: 9999;
      max-height: 206px;
      overflow-y: auto;
      border: 1px solid rgba(226, 232, 240, .95);
      border-radius: 16px;
      background: rgba(255, 255, 255, .98);
      box-shadow: 0 20px 50px rgba(7, 21, 67, .16);
      padding: 6px;
    }

    .flight-city-dropdown.hidden {
      display: none;
    }

    .flight-city-option {
      display: flex;
      width: 100%;
      align-items: center;
      gap: 10px;
      border-radius: 10px;
      padding: 9px 10px;
      text-align: left;
      transition: background .16s ease, transform .16s ease;
    }

    .flight-city-option:hover,
    .flight-city-option.is-active {
      background: #fff7ed;
      transform: translateY(-1px);
    }

    .flight-city-code {
      display: grid;
      width: 48px;
      height: 42px;
      shrink: 0;
      place-items: center;
      border-radius: 12px;
      background: linear-gradient(135deg, #ff7a2f, #df1f85);
      color: #fff;
      font-size: 13px;
      font-weight: 900;
    }

    .flight-city-name {
      display: block;
      color: #071543;
      font-size: 13px;
      font-weight: 900;
      line-height: 1.2;
    }

    .flight-city-meta {
      display: block;
      margin-top: 3px;
      color: #64748b;
      font-size: 12px;
      font-weight: 700;
      line-height: 1.35;
    }

    .flight-city-empty {
      padding: 14px 12px;
      color: #64748b;
      font-size: 13px;
      font-weight: 800;
      text-align: center;
    }

    .smf-native-select {
      display: none !important;
    }

    .smf-select-trigger {
      display: flex;
      width: 100%;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      border: 1px solid #e2e8f0;
      border-radius: 10px;
      background: #fff;
      color: #071543;
      font-size: 14px;
      font-weight: 700;
      outline: none;
      padding: 12px 14px;
      text-align: left;
      transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
    }

    .smf-select-trigger:hover,
    .smf-select-trigger.is-open {
      border-color: rgba(47, 128, 237, .55);
      background: #fff;
      box-shadow: 0 0 0 4px rgba(47, 128, 237, .1);
    }

    .smf-select-trigger.is-field {
      margin-top: 12px;
      border: 0;
      background: transparent;
      box-shadow: none;
      padding: 0;
    }

    .smf-select-trigger.is-field:hover,
    .smf-select-trigger.is-field.is-open {
      box-shadow: none;
    }

    .smf-select-value {
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .smf-date-picker {
      position: fixed;
      z-index: 120;
      width: min(310px, calc(100vw - 24px));
      overflow: visible;
      border: 1px solid rgba(226, 232, 240, .95);
      border-radius: 18px;
      background: rgba(255, 255, 255, .98);
      box-shadow: 0 24px 70px rgba(7, 21, 67, .2);
      color: #071543;
      opacity: 1;
      transform: translateY(0) scale(1);
      transform-origin: top center;
      transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
      visibility: visible;
    }

    .smf-date-picker.hidden {
      opacity: 0;
      pointer-events: none;
      transform: translateY(-8px) scale(.98);
      visibility: hidden;
    }

    .smf-date-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      background: linear-gradient(90deg, #ff7a2f, #df1f85);
      padding: 11px 12px;
      color: #fff;
    }

    .smf-date-title {
      flex: 1;
      font-size: 14px;
      font-weight: 900;
      text-align: center;
    }

    .smf-date-year-trigger {
      display: inline-flex;
      height: 32px;
      min-width: 78px;
      align-items: center;
      justify-content: center;
      gap: 5px;
      border: 1px solid rgba(255, 255, 255, .28);
      border-radius: 10px;
      background: rgba(255, 255, 255, .16);
      color: #fff;
      font-size: 12px;
      font-weight: 900;
      transition: background .18s ease, transform .18s ease;
    }

    .smf-date-year-trigger:hover,
    .smf-date-year-trigger.is-open {
      background: rgba(255, 255, 255, .24);
      transform: translateY(-1px);
    }

    .smf-date-year-menu {
      position: absolute;
      top: 50px;
      right: 52px;
      z-index: 2;
      width: 96px;
      max-height: 206px;
      overflow-y: auto;
      border: 1px solid rgba(226, 232, 240, .95);
      border-radius: 14px;
      background: rgba(255, 255, 255, .98);
      box-shadow: 0 22px 54px rgba(7, 21, 67, .18);
      padding: 6px;
    }

    .smf-date-year-menu.hidden {
      display: none;
    }

    .smf-date-year-option {
      display: flex;
      width: 100%;
      align-items: center;
      border-radius: 10px;
      color: #071543;
      font-size: 13px;
      font-weight: 900;
      padding: 9px 10px;
      text-align: left;
      transition: background .16s ease, transform .16s ease;
    }

    .smf-date-year-option:hover,
    .smf-date-year-option.is-active {
      background: #fff7ed;
      transform: translateY(-1px);
    }

    .smf-date-nav {
      display: grid;
      width: 32px;
      height: 32px;
      place-items: center;
      border: 1px solid rgba(255, 255, 255, .28);
      border-radius: 12px;
      background: rgba(255, 255, 255, .12);
      color: #fff;
      font-weight: 900;
      transition: background .18s ease, transform .18s ease;
    }

    .smf-date-nav:hover {
      background: rgba(255, 255, 255, .2);
      transform: translateY(-1px);
    }

    .smf-date-week,
    .smf-date-grid {
      display: grid;
      grid-template-columns: repeat(7, minmax(0, 1fr));
      gap: 5px;
      padding: 0 12px;
    }

    .smf-date-week {
      padding-top: 12px;
      color: #64748b;
      font-size: 11px;
      font-weight: 900;
      text-align: center;
      text-transform: uppercase;
    }

    .smf-date-grid {
      padding-bottom: 12px;
      padding-top: 7px;
    }

    .smf-date-day {
      display: flex;
      min-width: 0;
      height: 42px;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      gap: 2px;
      place-items: center;
      border-radius: 11px;
      color: #071543;
      font-size: 13px;
      font-weight: 800;
      transition: background .16s ease, color .16s ease, transform .16s ease;
    }

    .smf-date-num {
      line-height: 1;
    }

    .smf-date-fare {
      color: #64748b;
      font-size: 9px;
      font-weight: 900;
      line-height: 1;
      letter-spacing: 0;
    }

    .smf-date-day:not(:disabled):hover {
      background: #fff7ed;
      color: #ff5a00;
      transform: translateY(-1px);
    }

    .smf-date-day.is-today {
      box-shadow: inset 0 0 0 1px rgba(47, 128, 237, .35);
      color: #2563eb;
    }

    .smf-date-day.is-selected {
      background: linear-gradient(90deg, #ff7a2f, #df1f85);
      color: #fff;
      box-shadow: 0 10px 20px rgba(223, 31, 133, .2);
    }

    .smf-date-day.is-low-fare .smf-date-fare {
      color: #00a88f;
    }

    .smf-date-day.is-selected .smf-date-fare {
      color: rgba(255, 255, 255, .88);
    }

    .smf-date-day:disabled {
      cursor: default;
      color: #cbd5e1;
    }

    .smf-date-day:disabled .smf-date-fare {
      color: #cbd5e1;
    }

    .smf-date-actions {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      border-top: 1px solid #f1f5f9;
      padding: 12px 14px;
    }

    .smf-date-action {
      border-radius: 10px;
      padding: 8px 11px;
      font-size: 12px;
      font-weight: 900;
      transition: transform .18s ease;
    }

    .smf-date-action:hover {
      transform: translateY(-1px);
    }

    .smf-date-clear {
      background: #f8fafc;
      color: #64748b;
    }

    .smf-date-today {
      background: #eff6ff;
      color: #2563eb;
    }

    .no-scrollbar::-webkit-scrollbar {
      display: none;
    }

    .no-scrollbar {
      scrollbar-width: none;
    }

    .absolute-plan {
      position: absolute;
      left: -154px;
      rotate: -16deg;
      top: 22px;
    }


/* Migrated from resources\views\frontend\includes\login_header.blade.php */
.static-hero {
            position: relative;
            overflow: hidden;
            background:
                linear-gradient(135deg, rgba(7, 21, 67, .94), rgba(7, 21, 67, .82)),
                url(../images/home.png?b04d00763e86045b85d9663706331d59) center 45% / cover no-repeat;
        }

        .static-hero::after {
            content: "";
            position: absolute;
            inset: auto -12% -58% 48%;
            height: 190px;
            rotate: -8deg;
            border-radius: 32px;
            background: rgba(255, 122, 47, .18);
            pointer-events: none;
        }

        .static-hero>div {
            position: relative;
            z-index: 1;
        }

        .static-card {
            border: 1px solid rgba(226, 232, 240, .95);
            border-radius: 18px;
            background: rgba(255, 255, 255, .96);
            box-shadow: 0 14px 34px rgba(7, 21, 67, .08);
        }

        .static-section {
            border-bottom: 1px solid #f1f5f9;
            padding: 22px;
        }

        .static-section:last-child {
            border-bottom: 0;
        }

        .static-section h2 {
            color: #071543;
            font-size: 22px;
            font-weight: 900;
            line-height: 1.2;
        }

        .static-section p,
        .static-section li {
            color: #475569;
            font-size: 14px;
            font-weight: 600;
            line-height: 1.8;
        }

        .static-section ul {
            margin-top: 12px;
            display: grid;
            gap: 8px;
        }

        .static-icon {
            display: grid;
            width: 46px;
            height: 46px;
            place-items: center;
            border-radius: 16px;
            background: #eff6ff;
            color: #2563eb;
        }

        .contact-input {
            border: 1px solid #e2e8f0;
            background: #f8fafc;
            transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
        }

        .contact-input:focus {
            border-color: rgba(255, 90, 0, .55);
            background: #fff;
            box-shadow: 0 0 0 4px rgba(255, 90, 0, .1);
        }

        .theme-btn {
            background: linear-gradient(90deg, #ff7a2f, #df1f85);
            box-shadow: 0 12px 24px rgba(223, 31, 133, .18);
        }

        .smf-account-menu {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
            transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
        }

        .smf-account-menu.hidden {
            display: none;
        }

/* Migrated from resources\views\frontend\partials\page-footers\index.php */
.flight-city-dropdown {
    position: fixed;
    z-index: 99999;
  }

  .ui-autocomplete {
    display: none !important;
  }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRlbmQvY3NzL3BhZ2VzL2lubGluZV9faW5kZXguY3NzIiwibWFwcGluZ3MiOiJBQUFBO01BQ00sZUFBZTtNQUNmLGVBQWU7TUFDZixpQkFBaUI7TUFDakIsaUJBQWlCO01BQ2pCLGVBQWU7SUFDakI7O0lBRUE7TUFDRSxzQkFBc0I7SUFDeEI7O0lBRUE7TUFDRSx1QkFBdUI7TUFDdkIsV0FBVztNQUNYLGtCQUFrQjtJQUNwQjs7SUFFQTtNQUNFLFNBQVM7TUFDVCxXQUFXO01BQ1gsWUFBWTtNQUNaLGlCQUFpQjtNQUNqQixrQkFBa0I7TUFDbEIsOEJBQThCO01BQzlCLGtCQUFrQjtNQUNsQixtQkFBbUI7SUFDckI7O0lBRUE7TUFDRSwwQkFBMEI7TUFDMUIsTUFBTTtNQUNOLFFBQVE7TUFDUixPQUFPO01BQ1AsV0FBVztJQUNiOztJQUVBO01BQ0UsdUJBQXVCO0lBQ3pCOztJQUVBOzs7O01BSUUsZUFBZTtJQUNqQjs7SUFFQTtNQUNFLGlCQUFpQjtNQUNqQjs7d0VBRW9FO0lBQ3RFOztJQUVBO01BQ0UsV0FBVztNQUNYLGtCQUFrQjtNQUNsQixRQUFRO01BQ1IsNEZBQTRGO01BQzVGLG9CQUFvQjtNQUNwQixVQUFVO0lBQ1o7O0lBRUE7Ozs7O09BS0c7O0lBRUg7TUFDRSxhQUFhO0lBQ2Y7O0lBRUE7TUFDRSxjQUFjO01BQ2QsZ0NBQWdDO0lBQ2xDOztJQUVBO01BQ0Usb0NBQW9DO01BQ3BDLDJDQUEyQztJQUM3Qzs7SUFFQTtNQUNFLDRCQUE0QjtNQUM1QixVQUFVO01BQ1Ysa0RBQWtEO0lBQ3BEOztJQUVBO01BQ0Usd0JBQXdCO01BQ3hCLFVBQVU7SUFDWjs7SUFFQTs7TUFFRSxvQkFBb0I7SUFDdEI7O0lBRUE7TUFDRSxXQUFXO01BQ1gsa0JBQWtCO01BQ2xCLFFBQVE7TUFDUix3RkFBd0Y7TUFDeEYsb0JBQW9CO0lBQ3RCOztJQUVBO01BQ0UsaUhBQWlIO0lBQ25IOztJQUVBO01BQ0UsYUFBYTtJQUNmOztJQUVBO01BQ0UscUJBQXFCO0lBQ3ZCOztJ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WUFDaEIsZ0JBQWdCO1FBQ3BCOztRQUVBO1lBQ0ksZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixRQUFRO1FBQ1o7O1FBRUE7WUFDSSxhQUFhO1lBQ2IsV0FBVztZQUNYLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQixjQUFjO1FBQ2xCOztRQUVBO1lBQ0kseUJBQXlCO1lBQ3pCLG1CQUFtQjtZQUNuQiw4RUFBOEU7UUFDbEY7O1FBRUE7WUFDSSxtQ0FBbUM7WUFDbkMsZ0JBQWdCO1lBQ2hCLDBDQUEwQztRQUM5Qzs7UUFFQTtZQUNJLG9EQUFvRDtZQUNwRCwrQ0FBK0M7UUFDbkQ7O1FBRUE7WUFDSSxVQUFVO1lBQ1YsbUJBQW1CO1lBQ25CLHdCQUF3QjtZQUN4Qix3RUFBd0U7UUFDNUU7O1FBRUE7WUFDSSxhQUFhO1FBQ2pCOztBQUVSLDJFQUEyRTtBQUMzRTtJQUNJLGVBQWU7SUFDZixjQUFjO0VBQ2hCOztFQUVBO0lBQ0Usd0JBQXdCO0VBQzFCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2Zyb250ZW5kL2Nzcy9wYWdlcy9pbmxpbmVfX2luZGV4LmNzcyJdLCJzb3VyY2VzQ29udGVudCI6WyI6cm9vdCB7XG4gICAgICAtLW5hdnk6ICMwNzE1NDM7XG4gICAgICAtLXBpbms6ICNkZjFmODU7XG4gICAgICAtLXB1cnBsZTogIzJmODBlZDtcbiAgICAgIC0tb3JhbmdlOiAjZmY1YTAwO1xuICAgICAgLS1ibHVlOiAjM2I4MmY2O1xuICAgIH1cblxuICAgICoge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG5cbiAgICBodG1sIHtcbiAgICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgfVxuXG4gICAgYm9keSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIHBhZGRpbmctdG9wOiA2OHB4O1xuICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgZm9udC1mYW1pbHk6IEludGVyLCBzYW5zLXNlcmlmO1xuICAgICAgY29sb3I6IHZhcigtLW5hdnkpO1xuICAgICAgYmFja2dyb3VuZDogI2VlZjRmZjtcbiAgICB9XG5cbiAgICBib2R5PmhlYWRlciB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IDYwO1xuICAgIH1cblxuICAgICNzZWFyY2gge1xuICAgICAgc2Nyb2xsLW1hcmdpbi10b3A6IDg4cHg7XG4gICAgfVxuXG4gICAgbWFpbixcbiAgICBzZWN0aW9uLFxuICAgIGhlYWRlcixcbiAgICBmb290ZXIge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5oZXJvLXBhbmVsIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDQ1NHB4O1xuICAgICAgYmFja2dyb3VuZDpcbiAgICAgICAgbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDIsIDEwLCAyNCwgLjcyKSAwJSwgcmdiYSgyLCAxMCwgMjQsIC40NCkgNDglLCByZ2JhKDIsIDEwLCAyNCwgLjEyKSAxMDAlKSxcbiAgICAgICAgdXJsKFwiLi4vLi4vLi4vLi4vcHVibGljL2Fzc2V0cy9ob21lLnBuZ1wiKSBjZW50ZXIgLyBjb3ZlciBuby1yZXBlYXQ7XG4gICAgfVxuXG4gICAgLmhlcm8tcGFuZWw6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogMDtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgNzIlLCByZ2JhKDIzOCwgMjQ0LCAyNTUsIDEpIDEwMCUpO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB6LWluZGV4OiAwO1xuICAgIH1cblxuICAgIC8qIC5zZXJ2aWNlLXRhYi5hY3RpdmUge1xuICAgICAgY29sb3I6IHZhcigtLXB1cnBsZSk7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZGJlYWZlO1xuICAgICAgYm94LXNoYWRvdzogMCA4cHggMjJweCByZ2JhKDQ3LCAxMjgsIDIzNywgLjE2KTtcbiAgICB9ICovXG5cbiAgICAuc2VhcmNoLXBhbmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1wYW5lbC5hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBhbmltYXRpb246IHBhbmVsSW4gLjE4cyBlYXNlLW91dDtcbiAgICB9XG5cbiAgICAuZmllbGQ6Zm9jdXMtd2l0aGluIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNDEsIDkwLCAzNiwgLjU1KTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDI0MSwgOTAsIDM2LCAuMSk7XG4gICAgfVxuXG4gICAgLnN0aWNreS1zZWFyY2gge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMTAlKTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjI0cyBlYXNlLCBvcGFjaXR5IC4yNHMgZWFzZTtcbiAgICB9XG5cbiAgICAuc3RpY2t5LXNlYXJjaC5zaG93IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgLnJvdXRlLWNhcmQgaW1nLFxuICAgIC5wbGFjZS1jYXJkIGltZyB7XG4gICAgICBhc3BlY3QtcmF0aW86IDE2IC8gOTtcbiAgICB9XG5cbiAgICAucGhvdG8tY2FyZDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAwO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgxNywgMjMsIDYzLCAwKSAzNSUsIHJnYmEoMTcsIDIzLCA2MywgLjgyKSAxMDAlKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5zaGluZSB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTEwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC45OCksIHJnYmEoMjM5LCAyNDYsIDI1NSwgLjk2KSwgcmdiYSgyNTUsIDI0NiwgMjQwLCAuOTQpKTtcbiAgICB9XG5cbiAgICAubm8tc2Nyb2xsYmFyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5uby1zY3JvbGxiYXIge1xuICAgICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgcGFuZWxJbiB7XG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDVweCk7XG4gICAgICB9XG5cbiAgICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLmhlcm8tcGFuZWwge1xuICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wO1xuICAgICAgfVxuXG4gICAgICAuaGVyby1wYW5lbCA+IGRpdixcbiAgICAgICNzZWFyY2gsXG4gICAgICAjc2VhcmNoICoge1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgI3NlYXJjaCAuZ3JpZCxcbiAgICAgICNzZWFyY2ggLm1kXFw6Z3JpZC1jb2xzLVxcWzFmcl9hdXRvXzFmclxcXSxcbiAgICAgICNzZWFyY2ggLm1kXFw6Z3JpZC1jb2xzLTQsXG4gICAgICAjc2VhcmNoIC5sZ1xcOmdyaWQtY29scy0yLFxuICAgICAgI3NlYXJjaCAubGdcXDpncmlkLWNvbHMtXFxbMVxcLjM1ZnJfXFwuOWZyX1xcLjdmcl9cXC43ZnJfXFwuN2ZyXFxdIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAjc2VhcmNoIC5yZWxhdGl2ZS5ncmlkIHtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBoMSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgYW5pbWF0aW9uOiB0eXBpbmcgNHMgc3RlcHMoNjAsIGVuZCkgZm9yd2FyZHMsIGJsaW5rIDAuN3MgaW5maW5pdGU7XG4gICAgfVxuXG4gICAgLyogSU1QT1JUQU5UIEZJWCAqL1xuICAgIGgxIHNwYW4ge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgLyogaGlkZSBpbml0aWFsbHkgKi9cbiAgICAgIGFuaW1hdGlvbjogc2hvd0dyYWRpZW50IDBzIGxpbmVhciBmb3J3YXJkcztcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogMy41cztcbiAgICAgIC8qIG1hdGNoIHR5cGluZyBlbmQgKi9cbiAgICB9XG5cbiAgICAvKiB0eXBpbmcgYW5pbWF0aW9uICovXG4gICAgQGtleWZyYW1lcyB0eXBpbmcge1xuICAgICAgZnJvbSB7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgfVxuXG4gICAgICB0byB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIGN1cnNvciAqL1xuICAgIEBrZXlmcmFtZXMgYmxpbmsge1xuICAgICAgNTAlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBzaG93IGdyYWRpZW50IHRleHQgQUZURVIgdHlwaW5nICovXG4gICAgQGtleWZyYW1lcyBzaG93R3JhZGllbnQge1xuICAgICAgdG8ge1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhlcm8tY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ2FwOiAzNnB4O1xuICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgIH1cblxuICAgIC5oZXJvLXZpc3VhbCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgbWluLWhlaWdodDogMzAwcHg7XG4gICAgfVxuXG4gICAgLmdsYXNzLWZsaWdodC1jYXJkIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1heC13aWR0aDogMzkwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjM0KTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjI4KSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTIpKTtcbiAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxOHB4KTtcbiAgICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDE4cHgpO1xuICAgICAgYm94LXNoYWRvdzogMCAyNHB4IDcwcHggcmdiYSgyLCAxMCwgMjQsIC4yOCk7XG4gICAgICBhbmltYXRpb246IGZsb2F0Q2FyZCA1LjVzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgIH1cblxuICAgIC5mbGlnaHQtcGF0aCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAtNzJweDtcbiAgICAgIHRvcDogODJweDtcbiAgICAgIHdpZHRoOiAyMTBweDtcbiAgICAgIGhlaWdodDogOTBweDtcbiAgICAgIGJvcmRlci10b3A6IDJweCBkYXNoZWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAuNDgpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xNGRlZyk7XG4gICAgfVxuXG4gICAgLnBsYW5lLWJ1YmJsZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiA3MHB4O1xuICAgICAgdG9wOiA0MnB4O1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGhlaWdodDogNTRweDtcbiAgICAgIHdpZHRoOiA1NHB4O1xuICAgICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2ZmN2EyZiwgI2RmMWY4NSk7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBib3gtc2hhZG93OiAwIDE2cHggMzVweCByZ2JhKDIyMywgMzEsIDEzMywgLjM0KTtcbiAgICAgIGFuaW1hdGlvbjogcGxhbmVEcmlmdCA0LjhzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgIH1cblxuICAgIC5oZXJvLXN0YXQtY2FyZCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMjgwcHg7XG4gICAgICBib3R0b206IDE4cHg7XG4gICAgICB3aWR0aDogMTc1cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yOCk7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xOCk7XG4gICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTRweCk7XG4gICAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxNHB4KTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMThweCA0NXB4IHJnYmEoMiwgMTAsIDI0LCAuMjIpO1xuICAgICAgYW5pbWF0aW9uOiBmbG9hdENhcmQgNnMgZWFzZS1pbi1vdXQgaW5maW5pdGUgcmV2ZXJzZTtcbiAgICB9XG5cbiAgICBAa2V5ZnJhbWVzIGZsb2F0Q2FyZCB7XG5cbiAgICAgIDAlLFxuICAgICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgIH1cblxuICAgICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMnB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAa2V5ZnJhbWVzIHBsYW5lRHJpZnQge1xuXG4gICAgICAwJSxcbiAgICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSByb3RhdGUoLThkZWcpO1xuICAgICAgfVxuXG4gICAgICA1MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxOHB4LCAtMTBweCkgcm90YXRlKDRkZWcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5oZXJvLWNvbnRlbnQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCA2MTBweCkgbWlubWF4KDM2MHB4LCAxZnIpO1xuICAgICAgfVxuXG4gICAgICAuaGVyby12aXN1YWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIGgxIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgfVxuXG4gICAgICBoMSBzcGFuIHtcbiAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICNzZWFyY2gge1xuICAgICAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZjtcbiAgICB9XG5cbiAgICBAa2V5ZnJhbWVzIGZhZGVVcCB7XG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI2cHgpIHNjYWxlKC45OCk7XG4gICAgICB9XG5cbiAgICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgbWVzaE1vdmUge1xuXG4gICAgICAwJSxcbiAgICAgIDEwMCUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSA1MCU7XG4gICAgICB9XG5cbiAgICAgIDUwJSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgcHVsc2VHbG93IHtcblxuICAgICAgMCUsXG4gICAgICAxMDAlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxOHB4IDQ1cHggcmdiYSgxMjQsIDU4LCAyMzcsIC4yOCk7XG4gICAgICB9XG5cbiAgICAgIDUwJSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMThweCA2MHB4IHJnYmEoMjM2LCA3MiwgMTUzLCAuNDIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5wcmVtaXVtLXNlYXJjaC1zaGVsbCB7XG4gICAgICBhbmltYXRpb246IGZhZGVVcCAuNzVzIGVhc2UgYm90aDtcbiAgICB9XG5cbiAgICAucHJlbWl1bS1tZXNoIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjIwJSAyMjAlO1xuICAgICAgYW5pbWF0aW9uOiBtZXNoTW92ZSAxMnMgZWFzZSBpbmZpbml0ZTtcbiAgICB9XG5cbiAgICAuc2VhcmNoLXBhbmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1wYW5lbC5hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBhbmltYXRpb246IGZhZGVVcCAuMzhzIGVhc2UgYm90aDtcbiAgICB9XG5cbiAgICAuc2hpbmUtYnRuIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnNoaW5lLWJ0bjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMzAlKSBza2V3WCgtMThkZWcpO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuNDUpLCB0cmFuc3BhcmVudCk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjdzIGVhc2U7XG4gICAgfVxuXG4gICAgLnNoaW5lLWJ0bjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEzMCUpIHNrZXdYKC0xOGRlZyk7XG4gICAgfVxuXG4gICAgLyogVGFibGV0IEZpeCAoNjAwcHggLSAxMDI0cHgpICovXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG5cbiAgICAgIC8qIE1haW4gZm9ybSBncmlkIGFkanVzdCAqL1xuICAgICAgI3NlYXJjaCAuZ3JpZCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDE0cHggIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLyogRmxpZ2h0IHRvcCBzZWN0aW9uIChGcm9tIC0gU3dhcCAtIFRvKSAqL1xuICAgICAgI3NlYXJjaCAubWRcXDpncmlkLWNvbHMtXFxbMWZyX2F1dG9fMWZyXFxdIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLyogRml4IHN3YXAgYnV0dG9uIHBvc2l0aW9uICovXG4gICAgICAjc3dhcEJ0biB7XG4gICAgICAgIG1hcmdpbjogMTBweCBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgIH1cblxuICAgICAgLyogUmVkdWNlIGlucHV0IHNpemUgKi9cbiAgICAgICNzZWFyY2ggbGFiZWwgaW5wdXQge1xuICAgICAgICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLyogUmVkdWNlIGJveCBwYWRkaW5nICovXG4gICAgICAjc2VhcmNoIGxhYmVsIHtcbiAgICAgICAgcGFkZGluZzogMTZweCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAvKiBQYXNzZW5nZXIgc2VjdGlvbiAqL1xuICAgICAgI3NlYXJjaCAubWRcXDpncmlkLWNvbHMtNCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAvKiBCdXR0b25zIGZ1bGwgd2lkdGggKi9cbiAgICAgIC5zaGluZS1idG4ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLyogRml4IHRhYiBvdmVyZmxvdyAqL1xuICAgICAgI3NlYXJjaCAucmVsYXRpdmUuZ3JpZCB7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLyogQmV0dGVyIHNwYWNpbmcgKi9cbiAgICAgICNzZWFyY2ggLm10LTUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAjdGFiSW5kaWNhdG9yIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogOHB4O1xuICAgICAgbGVmdDogOHB4O1xuICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjN2MzYWVkLCAjZDk0NmVmLCAjMGVhNWU5KTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMTRweCAzNHB4IHJnYmEoMTY4LCA4NSwgMjQ3LCAuNDIpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgICAgIHdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5zZWFyY2gtcGFuZWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuc2VhcmNoLXBhbmVsLmFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGFuaW1hdGlvbjogcGFuZWxJbiAuMThzIGVhc2Utb3V0O1xuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgcGFuZWxJbiB7XG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7XG4gICAgICB9XG5cbiAgICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICNzd2FwQnRuIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mbGF0cGlja3ItY2FsZW5kYXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMjBweCA1MHB4IHJnYmEoMTUsIDIzLCA0MiwgLjE4KTtcbiAgICB9XG5cbiAgICAuZmxhdHBpY2tyLWRheS5zZWxlY3RlZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMjU2M2ViO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMjU2M2ViO1xuICAgIH1cblxuICAgIFtkYXRhLWRhdGUtcGlja2VyXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgLmZsaWdodC1jaXR5LWZpZWxkIHtcbiAgICAgIHotaW5kZXg6IDkwO1xuICAgIH1cblxuICAgIC5mbGlnaHQtY2l0eS1maWVsZDpmb2N1cy13aXRoaW4ge1xuICAgICAgei1pbmRleDogMTEwO1xuICAgIH1cblxuICAgIC5mbGlnaHQtY2l0eS1kcm9wZG93biB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICB6LWluZGV4OiA5OTk5O1xuICAgICAgbWF4LWhlaWdodDogMjA2cHg7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMjYsIDIzMiwgMjQwLCAuOTUpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjk4KTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMjBweCA1MHB4IHJnYmEoNywgMjEsIDY3LCAuMTYpO1xuICAgICAgcGFkZGluZzogNnB4O1xuICAgIH1cblxuICAgIC5mbGlnaHQtY2l0eS1kcm9wZG93bi5oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuZmxpZ2h0LWNpdHktb3B0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDEwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgcGFkZGluZzogOXB4IDEwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMTZzIGVhc2UsIHRyYW5zZm9ybSAuMTZzIGVhc2U7XG4gICAgfVxuXG4gICAgLmZsaWdodC1jaXR5LW9wdGlvbjpob3ZlcixcbiAgICAuZmxpZ2h0LWNpdHktb3B0aW9uLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmN2VkO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIH1cblxuICAgIC5mbGlnaHQtY2l0eS1jb2RlIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICB3aWR0aDogNDhweDtcbiAgICAgIGhlaWdodDogNDJweDtcbiAgICAgIHNocmluazogMDtcbiAgICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2ZmN2EyZiwgI2RmMWY4NSk7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgfVxuXG4gICAgLmZsaWdodC1jaXR5LW5hbWUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb2xvcjogIzA3MTU0MztcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIH1cblxuICAgIC5mbGlnaHQtY2l0eS1tZXRhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogM3B4O1xuICAgICAgY29sb3I6ICM2NDc0OGI7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMzU7XG4gICAgfVxuXG4gICAgLmZsaWdodC1jaXR5LWVtcHR5IHtcbiAgICAgIHBhZGRpbmc6IDE0cHggMTJweDtcbiAgICAgIGNvbG9yOiAjNjQ3NDhiO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuc21mLW5hdGl2ZS1zZWxlY3Qge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zbWYtc2VsZWN0LXRyaWdnZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGdhcDogMTJweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGNvbG9yOiAjMDcxNTQzO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAxMnB4IDE0cHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC4xOHMgZWFzZSwgYm94LXNoYWRvdyAuMThzIGVhc2UsIGJhY2tncm91bmQgLjE4cyBlYXNlO1xuICAgIH1cblxuICAgIC5zbWYtc2VsZWN0LXRyaWdnZXI6aG92ZXIsXG4gICAgLnNtZi1zZWxlY3QtdHJpZ2dlci5pcy1vcGVuIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg0NywgMTI4LCAyMzcsIC41NSk7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoNDcsIDEyOCwgMjM3LCAuMSk7XG4gICAgfVxuXG4gICAgLnNtZi1zZWxlY3QtdHJpZ2dlci5pcy1maWVsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuc21mLXNlbGVjdC10cmlnZ2VyLmlzLWZpZWxkOmhvdmVyLFxuICAgIC5zbWYtc2VsZWN0LXRyaWdnZXIuaXMtZmllbGQuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgIC5zbWYtc2VsZWN0LXZhbHVlIHtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLnNtZi1kYXRlLXBpY2tlciB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB6LWluZGV4OiAxMjA7XG4gICAgICB3aWR0aDogbWluKDMxMHB4LCBjYWxjKDEwMHZ3IC0gMjRweCkpO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIyNiwgMjMyLCAyNDAsIC45NSk7XG4gICAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuOTgpO1xuICAgICAgYm94LXNoYWRvdzogMCAyNHB4IDcwcHggcmdiYSg3LCAyMSwgNjcsIC4yKTtcbiAgICAgIGNvbG9yOiAjMDcxNTQzO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgxKTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xOHMgZWFzZSwgdHJhbnNmb3JtIC4xOHMgZWFzZSwgdmlzaWJpbGl0eSAuMThzIGVhc2U7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC5zbWYtZGF0ZS1waWNrZXIuaGlkZGVuIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KSBzY2FsZSguOTgpO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zbWYtZGF0ZS1oZWFkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgZ2FwOiAxMnB4O1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjZmY3YTJmLCAjZGYxZjg1KTtcbiAgICAgIHBhZGRpbmc6IDExcHggMTJweDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgIC5zbWYtZGF0ZS10aXRsZSB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuc21mLWRhdGUteWVhci10cmlnZ2VyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgbWluLXdpZHRoOiA3OHB4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZ2FwOiA1cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yOCk7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTYpO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMThzIGVhc2UsIHRyYW5zZm9ybSAuMThzIGVhc2U7XG4gICAgfVxuXG4gICAgLnNtZi1kYXRlLXllYXItdHJpZ2dlcjpob3ZlcixcbiAgICAuc21mLWRhdGUteWVhci10cmlnZ2VyLmlzLW9wZW4ge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMjQpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIH1cblxuICAgIC5zbWYtZGF0ZS15ZWFyLW1lbnUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MHB4O1xuICAgICAgcmlnaHQ6IDUycHg7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgd2lkdGg6IDk2cHg7XG4gICAgICBtYXgtaGVpZ2h0OiAyMDZweDtcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIyNiwgMjMyLCAyNDAsIC45NSk7XG4gICAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuOTgpO1xuICAgICAgYm94LXNoYWRvdzogMCAyMnB4IDU0cHggcmdiYSg3LCAyMSwgNjcsIC4xOCk7XG4gICAgICBwYWRkaW5nOiA2cHg7XG4gICAgfVxuXG4gICAgLnNtZi1kYXRlLXllYXItbWVudS5oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuc21mLWRhdGUteWVhci1vcHRpb24ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICBjb2xvcjogIzA3MTU0MztcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICBwYWRkaW5nOiA5cHggMTBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4xNnMgZWFzZSwgdHJhbnNmb3JtIC4xNnMgZWFzZTtcbiAgICB9XG5cbiAgICAuc21mLWRhdGUteWVhci1vcHRpb246aG92ZXIsXG4gICAgLnNtZi1kYXRlLXllYXItb3B0aW9uLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmN2VkO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIH1cblxuICAgIC5zbWYtZGF0ZS1uYXYge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjI4KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xMik7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4xOHMgZWFzZSwgdHJhbnNmb3JtIC4xOHMgZWFzZTtcbiAgICB9XG5cbiAgICAuc21mLWRhdGUtbmF2OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIH1cblxuICAgIC5zbWYtZGF0ZS13ZWVrLFxuICAgIC5zbWYtZGF0ZS1ncmlkIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICBnYXA6IDVweDtcbiAgICAgIHBhZGRpbmc6IDAgMTJweDtcbiAgICB9XG5cbiAgICAuc21mLWRhdGUtd2VlayB7XG4gICAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICAgIGNvbG9yOiAjNjQ3NDhiO1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgLnNtZi1kYXRlLWdyaWQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEycHg7XG4gICAgICBwYWRkaW5nLXRvcDogN3B4O1xuICAgIH1cblxuICAgIC5zbWYtZGF0ZS1kYXkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIGhlaWdodDogNDJweDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IDJweDtcbiAgICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMXB4O1xuICAgICAgY29sb3I6ICMwNzE1NDM7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMTZzIGVhc2UsIGNvbG9yIC4xNnMgZWFzZSwgdHJhbnNmb3JtIC4xNnMgZWFzZTtcbiAgICB9XG5cbiAgICAuc21mLWRhdGUtbnVtIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cblxuICAgIC5zbWYtZGF0ZS1mYXJlIHtcbiAgICAgIGNvbG9yOiAjNjQ3NDhiO1xuICAgICAgZm9udC1zaXplOiA5cHg7XG4gICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICB9XG5cbiAgICAuc21mLWRhdGUtZGF5Om5vdCg6ZGlzYWJsZWQpOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY3ZWQ7XG4gICAgICBjb2xvcjogI2ZmNWEwMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICB9XG5cbiAgICAuc21mLWRhdGUtZGF5LmlzLXRvZGF5IHtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCByZ2JhKDQ3LCAxMjgsIDIzNywgLjM1KTtcbiAgICAgIGNvbG9yOiAjMjU2M2ViO1xuICAgIH1cblxuICAgIC5zbWYtZGF0ZS1kYXkuaXMtc2VsZWN0ZWQge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjZmY3YTJmLCAjZGYxZjg1KTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDIwcHggcmdiYSgyMjMsIDMxLCAxMzMsIC4yKTtcbiAgICB9XG5cbiAgICAuc21mLWRhdGUtZGF5LmlzLWxvdy1mYXJlIC5zbWYtZGF0ZS1mYXJlIHtcbiAgICAgIGNvbG9yOiAjMDBhODhmO1xuICAgIH1cblxuICAgIC5zbWYtZGF0ZS1kYXkuaXMtc2VsZWN0ZWQgLnNtZi1kYXRlLWZhcmUge1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjg4KTtcbiAgICB9XG5cbiAgICAuc21mLWRhdGUtZGF5OmRpc2FibGVkIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIGNvbG9yOiAjY2JkNWUxO1xuICAgIH1cblxuICAgIC5zbWYtZGF0ZS1kYXk6ZGlzYWJsZWQgLnNtZi1kYXRlLWZhcmUge1xuICAgICAgY29sb3I6ICNjYmQ1ZTE7XG4gICAgfVxuXG4gICAgLnNtZi1kYXRlLWFjdGlvbnMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBnYXA6IDEwcHg7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2YxZjVmOTtcbiAgICAgIHBhZGRpbmc6IDEycHggMTRweDtcbiAgICB9XG5cbiAgICAuc21mLWRhdGUtYWN0aW9uIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICBwYWRkaW5nOiA4cHggMTFweDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjE4cyBlYXNlO1xuICAgIH1cblxuICAgIC5zbWYtZGF0ZS1hY3Rpb246aG92ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIH1cblxuICAgIC5zbWYtZGF0ZS1jbGVhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgICAgY29sb3I6ICM2NDc0OGI7XG4gICAgfVxuXG4gICAgLnNtZi1kYXRlLXRvZGF5IHtcbiAgICAgIGJhY2tncm91bmQ6ICNlZmY2ZmY7XG4gICAgICBjb2xvcjogIzI1NjNlYjtcbiAgICB9XG5cbiAgICAubm8tc2Nyb2xsYmFyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5uby1zY3JvbGxiYXIge1xuICAgICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIC5hYnNvbHV0ZS1wbGFuIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IC0xNTRweDtcbiAgICAgIHJvdGF0ZTogLTE2ZGVnO1xuICAgICAgdG9wOiAyMnB4O1xuICAgIH1cblxuXG4vKiBNaWdyYXRlZCBmcm9tIHJlc291cmNlc1xcdmlld3NcXGZyb250ZW5kXFxpbmNsdWRlc1xcbG9naW5faGVhZGVyLmJsYWRlLnBocCAqL1xuLnN0YXRpYy1oZXJvIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoNywgMjEsIDY3LCAuOTQpLCByZ2JhKDcsIDIxLCA2NywgLjgyKSksXG4gICAgICAgICAgICAgICAgdXJsKFwiLi4vLi4vLi4vLi4vcHVibGljL2Fzc2V0cy9ob21lLnBuZ1wiKSBjZW50ZXIgNDUlIC8gY292ZXIgbm8tcmVwZWF0O1xuICAgICAgICB9XG5cbiAgICAgICAgLnN0YXRpYy1oZXJvOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgaW5zZXQ6IGF1dG8gLTEyJSAtNTglIDQ4JTtcbiAgICAgICAgICAgIGhlaWdodDogMTkwcHg7XG4gICAgICAgICAgICByb3RhdGU6IC04ZGVnO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMzJweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxMjIsIDQ3LCAuMTgpO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuc3RhdGljLWhlcm8+ZGl2IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAuc3RhdGljLWNhcmQge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMjYsIDIzMiwgMjQwLCAuOTUpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMThweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjk2KTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTRweCAzNHB4IHJnYmEoNywgMjEsIDY3LCAuMDgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN0YXRpYy1zZWN0aW9uIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjFmNWY5O1xuICAgICAgICAgICAgcGFkZGluZzogMjJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdGF0aWMtc2VjdGlvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuc3RhdGljLXNlY3Rpb24gaDIge1xuICAgICAgICAgICAgY29sb3I6ICMwNzE1NDM7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdGF0aWMtc2VjdGlvbiBwLFxuICAgICAgICAuc3RhdGljLXNlY3Rpb24gbGkge1xuICAgICAgICAgICAgY29sb3I6ICM0NzU1Njk7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuODtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdGF0aWMtc2VjdGlvbiB1bCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdhcDogOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnN0YXRpYy1pY29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICB3aWR0aDogNDZweDtcbiAgICAgICAgICAgIGhlaWdodDogNDZweDtcbiAgICAgICAgICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2VmZjZmZjtcbiAgICAgICAgICAgIGNvbG9yOiAjMjU2M2ViO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRhY3QtaW5wdXQge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2UyZThmMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmOGZhZmM7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgLjE4cyBlYXNlLCBib3gtc2hhZG93IC4xOHMgZWFzZSwgYmFja2dyb3VuZCAuMThzIGVhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGFjdC1pbnB1dDpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCA5MCwgMCwgLjU1KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSgyNTUsIDkwLCAwLCAuMSk7XG4gICAgICAgIH1cblxuICAgICAgICAudGhlbWUtYnRuIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgI2ZmN2EyZiwgI2RmMWY4NSk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDEycHggMjRweCByZ2JhKDIyMywgMzEsIDEzMywgLjE4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zbWYtYWNjb3VudC1tZW51IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMThzIGVhc2UsIHRyYW5zZm9ybSAuMThzIGVhc2UsIHZpc2liaWxpdHkgLjE4cyBlYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNtZi1hY2NvdW50LW1lbnUuaGlkZGVuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuLyogTWlncmF0ZWQgZnJvbSByZXNvdXJjZXNcXHZpZXdzXFxmcm9udGVuZFxccGFydGlhbHNcXHBhZ2UtZm9vdGVyc1xcaW5kZXgucGhwICovXG4uZmxpZ2h0LWNpdHktZHJvcGRvd24ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA5OTk5OTtcbiAgfVxuXG4gIC51aS1hdXRvY29tcGxldGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/