.micromodal-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.6); }

.micromodal-container {
  box-sizing: border-box;
  max-width: 900px;
  max-height: 100vh;
  padding: 20px;
  overflow-y: auto;
  background-color: #fff;
  border-radius: 5px; }

.micromodal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 0; }

.micromodal-title {
  margin-top: 0;
  margin-bottom: 0; }

.micromodal-close {
  margin-left: auto;
  font-size: 16px;
  color: #333;
  background: transparent;
  border: 0; }

.micromodal-header .micromodal-close::before {
  content: '\2715'; }

.micromodal-content {
  margin-top: 20px; }

.micromodal {
  display: none; }

.micromodal.is-open {
  display: block; }

.lc-link-no-wrap {
  word-break: break-all; }

.lc-text-success {
  color: #007b69; }

.lc-text-danger {
  color: #e05554; }

.lc-scroll-message {
  display: block;
  padding: 10px;
  margin-bottom: 20px;
  border: 1px solid #d2d3d5;
  border-radius: 10px; }
  @media (min-width: 64em) {
    .lc-scroll-message {
      display: none; } }

.lc-scroll-message-always-display {
  display: block; }

.lc-font-weight-bold {
  font-weight: 700; }

.lc-d-inline {
  display: inline; }

* {
  box-sizing: border-box; }

.calendar--upcoming {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start; }
  .calendar--upcoming .event-card {
    margin: 0; }
  .calendar--upcoming .calendar__item {
    display: flex;
    align-items: stretch;
    width: 100%;
    padding: 0 0 10px;
    margin: 0; }
    @media (min-width: 48em) {
      .calendar--upcoming .calendar__item {
        width: 50%;
        padding: 0 0 10px 10px; }
        .calendar--upcoming .calendar__item:nth-child(2n+1) {
          padding-left: 0; } }
    @media (min-width: 64em) {
      .calendar--upcoming .calendar__item {
        width: 33%;
        padding: 0 10px 10px; }
        .calendar--upcoming .calendar__item:nth-child(2n+1) {
          padding-left: 10px; }
        .calendar--upcoming .calendar__item:nth-child(3n+1) {
          padding-right: 0; }
        .calendar--upcoming .calendar__item:nth-child(3n) {
          padding-left: 0; } }

/**
 * Calendar month display.
 *
 * All padding and font-sizes in the month display
 * should uses em units (not rem or px), as defined
 * in the calendar component's local variables partial.
 * The reasoning for that is so that font-sizes can be
 * defined relative to each other, and then the overall
 * font/padding sizes of the calendar can be adjusted
 * proportionally while only modifying the root font
 * size on the .calendar--month container.
 */
.calendar--month {
  font-size: 12px;
  background-color: #fff; }
  @media (min-width: 48em) {
    .calendar--month .desktop-hide {
      display: none; } }
  .calendar--month .mobile-hide {
    position: absolute !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px); }
    @media (min-width: 64em) {
      .calendar--month .mobile-hide {
        position: relative !important;
        width: auto;
        height: auto;
        overflow: visible;
        clip: auto; } }
  .calendar--month .event-card {
    position: relative; }
  .calendar--month .lc-event__registration-icon-container {
    display: flex;
    width: 100%; }
  .calendar--month .lc-event__registration-icon,
  .calendar--month .lc-event__registration-payment-icon {
    margin: .5rem 1rem .5rem 0; }

.calendar__week .event-card__title,
.calendar__week .event-card__details,
.calendar__week .event-card__room {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px); }
  @media (min-width: 48em) {
    .calendar__week .event-card__title,
    .calendar__week .event-card__details,
    .calendar__week .event-card__room {
      position: relative !important;
      width: auto;
      width: 100%;
      height: auto;
      overflow: visible;
      clip: auto; } }

.calendar--month .has-events,
.calendar--week .has-events,
.calendar--day .has-events,
.calendar__week .has-events {
  background-color: #efefef; }

.calendar--month .node--type-lc-closing,
.calendar--week .node--type-lc-closing,
.calendar--day .node--type-lc-closing,
.calendar__week .node--type-lc-closing {
  border: 3px solid #e05554; }

.calendar--month .node--type-lc-reservation,
.calendar--week .node--type-lc-reservation,
.calendar--day .node--type-lc-reservation,
.calendar__week .node--type-lc-reservation {
  border: 3px solid #007b69; }

.calendar--month .all-day,
.calendar--week .all-day,
.calendar--day .all-day,
.calendar__week .all-day {
  border: 3px solid #0098db; }

.calendar--month .private-event,
.calendar--week .private-event,
.calendar--day .private-event,
.calendar__week .private-event {
  border: 3px solid #31809f; }

.calendar--month .has-conflict,
.calendar--week .has-conflict,
.calendar--day .has-conflict,
.calendar__week .has-conflict {
  border: 3px solid #903986; }

.calendar--month .moderation-state--archived,
.calendar--month .moderation-state--draft,
.calendar--month .moderation-state--lc-draft,
.calendar--month .moderation-state--lc_draft,
.calendar--week .moderation-state--archived,
.calendar--week .moderation-state--draft,
.calendar--week .moderation-state--lc-draft,
.calendar--week .moderation-state--lc_draft,
.calendar--day .moderation-state--archived,
.calendar--day .moderation-state--draft,
.calendar--day .moderation-state--lc-draft,
.calendar--day .moderation-state--lc_draft,
.calendar__week .moderation-state--archived,
.calendar__week .moderation-state--draft,
.calendar__week .moderation-state--lc-draft,
.calendar__week .moderation-state--lc_draft {
  border: 3px solid #333; }

.calendar--month .moderation-state--draft,
.calendar--month .moderation-state--lc-draft,
.calendar--month .moderation-state--lc_draft,
.calendar--week .moderation-state--draft,
.calendar--week .moderation-state--lc-draft,
.calendar--week .moderation-state--lc_draft,
.calendar--day .moderation-state--draft,
.calendar--day .moderation-state--lc-draft,
.calendar--day .moderation-state--lc_draft,
.calendar__week .moderation-state--draft,
.calendar__week .moderation-state--lc-draft,
.calendar__week .moderation-state--lc_draft {
  background-color: #fff4f4; }

.calendar__numbers .calendar__day.calendar__day--current {
  color: #fff;
  background-color: #778898;
  transition: background ease-in-out 250ms; }

/**
 * Header and pager
 *
 * The header and pager use flexbox to
 * layout and vertically center the header
 * items.
 */
.calendar--month .calendar__wrap--header .calendar__month-pager,
.calendar--month .calendar__month-pager--lower,
.calendar-week-pager,
.calendar-day-pager {
  display: flex;
  flex: 1;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 600px;
  padding: 10px 0;
  margin: 0 auto;
  text-align: center; }
  @media (min-width: 48em) {
    .calendar--month .calendar__wrap--header .calendar__month-pager,
    .calendar--month .calendar__month-pager--lower,
    .calendar-week-pager,
    .calendar-day-pager {
      width: auto;
      padding-right: 20px; }
      .calendar--month .calendar__wrap--header .calendar__month-pager.calendar__month-pager--lower,
      .calendar--month .calendar__month-pager--lower.calendar__month-pager--lower,
      .calendar-week-pager.calendar__month-pager--lower,
      .calendar-day-pager.calendar__month-pager--lower {
        padding-top: 10px;
        padding-right: 0; } }
  .calendar--month .calendar__wrap--header .calendar__month-pager .mobile-hide,
  .calendar--month .calendar__month-pager--lower .mobile-hide,
  .calendar-week-pager .mobile-hide,
  .calendar-day-pager .mobile-hide {
    position: absolute !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px); }
    @media (min-width: 48em) {
      .calendar--month .calendar__wrap--header .calendar__month-pager .mobile-hide,
      .calendar--month .calendar__month-pager--lower .mobile-hide,
      .calendar-week-pager .mobile-hide,
      .calendar-day-pager .mobile-hide {
        position: relative !important;
        width: auto;
        height: auto;
        overflow: visible; } }

.calendar__wrap--header {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: flex-end;
  justify-content: flex-end;
  width: 100%; }
  @media (min-width: 48em) {
    .calendar__wrap--header {
      flex-direction: row; } }

.calendar__wrap--header,
.calendar__wrap--title {
  font-size: 14px; }
  .calendar__wrap--header .calendar__title h2,
  .calendar__wrap--title .calendar__title h2 {
    margin: 0; }
    @media (max-width: 48em) {
      .calendar__wrap--header .calendar__title h2,
      .calendar__wrap--title .calendar__title h2 {
        font-size: 16px; } }

@media (max-width: 48em) {
  .calendar__wrap--title {
    display: none; } }

.calendar__pager {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  line-height: 1; }
  .calendar__pager::before {
    padding: 0;
    content: ''; }

.calendar__title {
  order: 1;
  margin: 0;
  text-transform: uppercase; }

.button.calendar__pager--left,
.button.calendar__pager--right {
  display: block;
  width: 30px;
  height: 30px;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  background-color: #00549f;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 20px;
  border-radius: 5px;
  transition: background-color ease-in-out .25s; }
  .button.calendar__pager--left:hover, .button.calendar__pager--left:focus,
  .button.calendar__pager--right:hover,
  .button.calendar__pager--right:focus {
    background-color: #31809f;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 20px; }

.button.calendar__pager--left {
  order: 0;
  background-image: url("../assets/dist/images/pager-arrow-prev.svg"); }
  .button.calendar__pager--left:hover, .button.calendar__pager--left:focus {
    background-image: url("../assets/dist/images/pager-arrow-prev.svg"); }

.button.calendar__pager--right {
  order: 2;
  background-image: url("../assets/dist/images/pager-arrow-next.svg"); }
  .button.calendar__pager--right:hover, .button.calendar__pager--right:focus {
    background-image: url("../assets/dist/images/pager-arrow-next.svg"); }

/**
 * Grid styling
 *
 * The grid styling for the single-day event
 * cells uses flexbox containers for the row
 * and 1/7 of the container for the width on
 * each item. The first item in the row is
 * always the multi-day event cell, which is 100%
 * wide, and uses it's own grid to control
 * layout for multi-day events.
 */
.calendar__wrap--grid {
  position: relative;
  border: 2px solid #d1d1d1; }

.calendar__row--header,
.calendar__row--content,
.calendar__numbers {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start; }

@media (max-width: 48em) {
  .calendar__row--footer {
    display: none; } }

.calendar__day,
.calendar__day--number {
  position: relative;
  width: 100%;
  padding: 5px; }
  @media (min-width: 48em) {
    .calendar__day,
    .calendar__day--number {
      width: 14.28571%; } }

.calendar__day--multi {
  width: 100%; }

.calendar__day {
  background-color: #fff; }
  @media (min-width: 48em) {
    .calendar__day {
      min-height: 25px; } }

@media (min-width: 48em) {
  .calenar__day--number {
    min-height: 0; } }

.calendar__day--header {
  min-height: 0;
  text-align: center; }

.calendar__day--blank {
  display: none; }
  @media (min-width: 48em) {
    .calendar__day--blank {
      display: block; } }

.calendar__row--content .calendar__day--blank {
  min-height: 5rem; }

.calendar__day--outside {
  background-color: #efefef; }

/**
 * Calendar borders
 *
 * External borders are wrapped around the
 * .calendar__week element, while internal borders
 * are absolutely positioned empty divs.
 */
.calendar__week {
  position: relative;
  border-top: 2px solid #d1d1d1; }
  @media (min-width: 48em) {
    .calendar__week {
      padding-top: 25px; } }

.calendar__week--empty {
  display: none; }
  @media (min-width: 48em) {
    .calendar__week--empty {
      display: block; } }

.calendar__bar {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  display: none;
  width: 1px;
  height: 100%;
  color: #d1d1d1;
  box-shadow: inset 0 0 0 1px, -1px 0 0 0;
  opacity: .25; }
  @media (min-width: 48em) {
    .calendar__bar {
      display: block; } }

.calendar__bar--1 {
  left: 14.28571%; }

.calendar__bar--2 {
  left: 28.57143%; }

.calendar__bar--3 {
  left: 42.85714%; }

.calendar__bar--4 {
  left: 57.14286%; }

.calendar__bar--5 {
  left: 71.42857%; }

.calendar__bar--6 {
  left: 85.71429%; }

/**
 * Link overlays
 *
 * Each day in the calendar has an associated list of days
 * that is stored below the calendar that contains more
 * information. To access this information, there are link
 * overlays positioned absolutely above the day cells.
 */
.calendar__numbers {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 15;
  width: 100%;
  height: 100%;
  font-size: 11px;
  line-height: 1; }
  @media (min-width: 48em) {
    .calendar__numbers {
      height: 20px; } }

.calendar__number-day--multi {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px); }

/**
 * Multi-day grids
 *
 * Unlike the regular grid cells for the calendar, which
 * use flexbox, the multi-day grids use Singularity GS's
 * float grid-spans so that they can start at arbitrary
 * points within the grid. Clearing has to be applied
 * manually via a clear class, applied when the template
 * is first generated.
 */
.calendar__day--multi {
  width: 100%;
  background-color: #f9f9f9; }
  .calendar__day--multi::after {
    display: table;
    clear: both;
    content: ''; }

.calendar__day-span--1-1 {
  float: left;
  width: 14.28571%;
  margin-right: -100%;
  margin-left: 0;
  clear: none; }

.calendar__day-span--1-7 {
  float: right;
  width: 14.28571%;
  margin-right: 0;
  margin-left: 0;
  clear: none; }

.calendar__day-span--2-1 {
  float: left;
  width: 28.57143%;
  margin-right: -100%;
  margin-left: 0;
  clear: none; }

.calendar__day-span--2-2 {
  float: left;
  width: 28.57143%;
  margin-right: -100%;
  margin-left: 14.28571%;
  clear: none; }

.calendar__day-span--2-3 {
  float: left;
  width: 28.57143%;
  margin-right: -100%;
  margin-left: 28.57143%;
  clear: none; }

.calendar__day-span--2-4 {
  float: left;
  width: 28.57143%;
  margin-right: -100%;
  margin-left: 42.85714%;
  clear: none; }

.calendar__day-span--2-5 {
  float: left;
  width: 28.57143%;
  margin-right: -100%;
  margin-left: 57.14286%;
  clear: none; }

.calendar__day-span--2-6 {
  float: right;
  width: 28.57143%;
  margin-right: 0;
  margin-left: 0;
  clear: none; }

.calendar__day-span--3-1 {
  float: left;
  width: 42.85714%;
  margin-right: -100%;
  margin-left: 0;
  clear: none; }

.calendar__day-span--3-2 {
  float: left;
  width: 42.85714%;
  margin-right: -100%;
  margin-left: 14.28571%;
  clear: none; }

.calendar__day-span--3-3 {
  float: left;
  width: 42.85714%;
  margin-right: -100%;
  margin-left: 28.57143%;
  clear: none; }

.calendar__day-span--3-4 {
  float: left;
  width: 42.85714%;
  margin-right: -100%;
  margin-left: 42.85714%;
  clear: none; }

.calendar__day-span--3-5 {
  float: right;
  width: 42.85714%;
  margin-right: 0;
  margin-left: 0;
  clear: none; }

.calendar__day-span--4-1 {
  float: left;
  width: 57.14286%;
  margin-right: -100%;
  margin-left: 0;
  clear: none; }

.calendar__day-span--4-2 {
  float: left;
  width: 57.14286%;
  margin-right: -100%;
  margin-left: 14.28571%;
  clear: none; }

.calendar__day-span--4-3 {
  float: left;
  width: 57.14286%;
  margin-right: -100%;
  margin-left: 28.57143%;
  clear: none; }

.calendar__day-span--4-4 {
  float: right;
  width: 57.14286%;
  margin-right: 0;
  margin-left: 0;
  clear: none; }

.calendar__day-span--5-1 {
  float: left;
  width: 71.42857%;
  margin-right: -100%;
  margin-left: 0;
  clear: none; }

.calendar__day-span--5-2 {
  float: left;
  width: 71.42857%;
  margin-right: -100%;
  margin-left: 14.28571%;
  clear: none; }

.calendar__day-span--5-3 {
  float: right;
  width: 71.42857%;
  margin-right: 0;
  margin-left: 0;
  clear: none; }

.calendar__day-span--6-1 {
  float: left;
  width: 85.71429%;
  margin-right: -100%;
  margin-left: 0;
  clear: none; }

.calendar__day-span--6-2 {
  float: right;
  width: 85.71429%;
  margin-right: 0;
  margin-left: 0;
  clear: none; }

.calendar__day-span--7-1 {
  float: right;
  width: 100%;
  margin-right: 0;
  margin-left: 0;
  clear: none; }

.calendar__day-span {
  padding: 0 .8px; }
  @media (max-width: 48em) {
    .calendar__day-span {
      display: none; } }

.calendar__day-span--clear {
  clear: both; }

/**
 * Calendar List Styling
 *
 * In addition to the 30-day grid, there's a list view
 * for easier usage on mobile that appears below the
 * normal 30-day calendar. It's brought up a fixed
 * position whenever the user touches it's associated
 * day on the calendar grid.
 */
.calendar__day-header {
  margin-top: 0; }
  @media (min-width: 48em) {
    .calendar__day-header {
      display: none; } }

.calendar__mobile-list {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  max-width: 100%;
  padding: 15px;
  overflow-y: auto;
  background-color: rgba(255, 255, 255, 0.95);
  transition: all 250ms ease-in-out;
  transform: scale(0); }
  .calendar__mobile-list.list {
    z-index: 50;
    transform: scale(1); }
  .calendar__mobile-list .event-card--sparse .time--end,
  .calendar__mobile-list .event-card--sparse .time--separator {
    position: relative !important;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto; }
  .calendar__mobile-list .event-card--sparse .time--start .event-card__day--inline,
  .calendar__mobile-list .event-card--sparse .time--start .event-card__separator {
    position: relative !important;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto; }

.calendar__list,
.calendar__list-item,
.calendar__list--day,
.calendar__list-item--day {
  padding: 0;
  margin: 0;
  list-style-type: none; }

.calendar__list-item {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 15px 0;
  border-bottom: 2px solid #d1d1d1; }

.calendar__list-title {
  padding-right: 8px;
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  text-align: center; }

.calendar__list--day {
  flex-grow: 1; }

.kids {
  color: #fff;
  background-color: #ffbd0a;
  border-color: #e19f00; }
  .kids a:hover {
    color: #4aaca2; }
  .kids h2,
  .kids h3,
  .kids h4 {
    color: #fff; }

.teens {
  color: #fff;
  background-color: #3d4246;
  border-color: #1f2428; }
  .teens h2,
  .teens h3,
  .teens h4 {
    color: #fff; }

.adult {
  color: #fff;
  background-color: #4aaca2;
  border-color: #2c8e84; }
  .adult h2,
  .adult h3,
  .adult h4 {
    color: #fff; }
  .adult a {
    color: #57b7df; }
    .adult a:focus, .adult a:hover, .adult a:active {
      color: #ffbd0a;
      text-decoration: none; }

.calendar-picker {
  position: relative;
  display: block; }

.calendar-picker-title {
  position: relative;
  z-index: 20;
  display: block; }

.calendar-picker-title h2 {
  margin: 0; }

.calendar-picker-input {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  display: block;
  height: auto;
  opacity: 0; }
  .calendar-picker.active .calendar-picker-input {
    margin-top: 10px;
    opacity: 1;
    transition: transform ease-in-out .25s, opacity ease-in-out .25s;
    transform: translate3d(0, 100%, 0); }

.calendar__month-pager--lower {
  margin-bottom: 2.2rem; }
  @media (min-width: 48em) {
    .calendar__month-pager--lower {
      float: right; } }

.calendar-picker-link--lower {
  font-size: 16px; }
  @media (min-width: 48em) {
    .calendar-picker-link--lower {
      font-size: 18px; } }
  .calendar-picker-link--lower p {
    margin: 0; }

@media (min-width: 48em) {
  .calendar__pager--right-lower {
    margin-right: 0; } }

.ie10 .calendar--month .node--view-mode-teaser.event-card--sparse,
.ie11 .calendar--month .node--view-mode-teaser.event-card--sparse {
  flex-wrap: nowrap; }

.ie10 .calendar__wrap--header,
.ie11 .calendar__wrap--header {
  display: block; }
  .ie10 .calendar__wrap--header::after,
  .ie11 .calendar__wrap--header::after {
    display: table;
    clear: both;
    content: ''; }
  .ie10 .calendar__wrap--header .tabs,
  .ie11 .calendar__wrap--header .tabs {
    text-align: right; }
  @media (min-width: 48em) {
    .ie10 .calendar__wrap--header .calendar__month-pager,
    .ie11 .calendar__wrap--header .calendar__month-pager {
      float: left; } }
  @media (min-width: 48em) {
    .ie10 .calendar__wrap--header .calendar__menu-tasks,
    .ie11 .calendar__wrap--header .calendar__menu-tasks {
      float: right; } }

@media (min-width: 48em) {
  .ie10 .calendar__wrap--tilte,
  .ie11 .calendar__wrap--tilte {
    clear: both; } }

.lc-form--calendar-filters .pager__items {
  text-align: center; }
  @media (min-width: 48em) {
    .lc-form--calendar-filters .pager__items {
      text-align: right; } }

.calendar-picker-input--lower {
  z-index: 1; }

.calendar__month-pager--lower .calendar__pager {
  z-index: 2; }

.lc-form__content {
  width: 100%; }
  @media (min-width: 64em) {
    .lc-form__content {
      float: left;
      padding-left: 0; }
      .lc-form__content.active {
        width: 75%;
        padding-left: 20px; } }

@media (min-width: 48em) {
  .ie .calendar__wrap--title {
    width: 100%; } }

.ie .calendar__title {
  z-index: 1; }

.ie .calendar__pager {
  z-index: 2; }

span.lc-event__age-group.lc-event__age-group--child.lc-event__age-group--no-link {
  color: #333; }

.calendar__day-ajax.white-popup .mfp-close {
  position: absolute;
  top: 0;
  right: 5px;
  z-index: 10000;
  width: 40px;
  height: 40px;
  line-height: 40px;
  background-color: #333;
  border-radius: 50%; }
  @media (min-width: 48em) {
    .calendar__day-ajax.white-popup .mfp-close {
      top: -10px;
      right: 5px; } }
  @media (min-width: 64em) {
    .calendar__day-ajax.white-popup .mfp-close {
      top: -15px;
      right: 5px; } }
  .calendar__day-ajax.white-popup .mfp-close:hover, .calendar__day-ajax.white-popup .mfp-close:focus {
    top: 0;
    right: 5px;
    background-color: #333; }
    @media (min-width: 48em) {
      .calendar__day-ajax.white-popup .mfp-close:hover, .calendar__day-ajax.white-popup .mfp-close:focus {
        top: -10px;
        right: 5px; } }
    @media (min-width: 64em) {
      .calendar__day-ajax.white-popup .mfp-close:hover, .calendar__day-ajax.white-popup .mfp-close:focus {
        top: -15px;
        right: 5px; } }

.path-events .mfp-bg {
  background: rgba(255, 255, 255, 0.9); }

.calendar__day-ajax {
  margin-right: 60px; }
  @media (min-width: 48em) {
    .calendar__day-ajax {
      margin-right: 15px; } }
  @media (min-width: 64em) {
    .calendar__day-ajax {
      padding: 0; } }
  .calendar__day-ajax .calendar__day-ajax-content {
    width: 400px;
    max-width: 100%;
    height: calc(100vh - 20px);
    padding: 20px 5px 20px 20px;
    margin: 0 auto;
    background: #fff;
    border: 2px solid #333;
    border-radius: 12px; }
    @media (min-width: 48em) {
      .calendar__day-ajax .calendar__day-ajax-content {
        height: calc(100vh - 60px); } }
    @media (min-width: 64em) {
      .calendar__day-ajax .calendar__day-ajax-content {
        height: 80vh; } }
    .calendar__day-ajax .calendar__day-ajax-content .lc-event--upcoming {
      width: 100%;
      padding: 0;
      margin: 0 0 10px; }
    .calendar__day-ajax .calendar__day-ajax-content .calendar__day-title {
      margin: 0;
      font-weight: 700;
      line-height: 1.5; }
  .calendar__day-ajax .calendar__day-ajax-wrap {
    display: flex;
    flex-direction: column;
    height: 100%;
    max-height: 100%;
    padding-right: 15px; }
  .calendar__day-ajax .calendar__day-wrap--additional {
    position: relative;
    height: 100%;
    max-height: 100%;
    overflow-y: auto; }
    .calendar__day-ajax .calendar__day-wrap--additional .calendar__day--ajax {
      width: 100%; }

.micromodal .calendar__day-ajax {
  margin-right: 0; }

.micromodal .calendar__day-ajax .calendar__day-ajax-content {
  padding: 0;
  border: 0;
  border-radius: 0; }

.micromodal .calendar__day-ajax-wrap {
  padding-right: 0; }

.calendar .calendar__day-load {
  padding: 5px;
  text-align: center;
  border-radius: 5px; }

.block-lc-calendar .calendar__links .calendar__link {
  margin-left: 0;
  list-style-type: none; }

.lc-skip-button {
  width: 100%;
  margin-top: 20px;
  margin-bottom: 20px; }
  @media (min-width: 48em) {
    .lc-skip-button {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0 0 0 0);
      border: 0; }
      .lc-skip-button:active, .lc-skip-button:focus {
        position: static !important;
        width: auto;
        height: auto;
        overflow: auto;
        clip: auto; } }

.calendar--month--suppress-excess-events .calendar__day--outside {
  display: none; }
  @media (min-width: 48em) {
    .calendar--month--suppress-excess-events .calendar__day--outside {
      display: block; } }

.calendar__numbers {
  z-index: 0; }

.lc-week {
  display: block;
  width: 100%;
  margin-bottom: 1rem;
  overflow: scroll; }
  @media (min-width: 64em) {
    .lc-week {
      display: table;
      overflow: auto;
      table-layout: fixed; } }
  .lc-week .lc-week-day {
    vertical-align: top; }
  .lc-week .lc-week-day-col {
    width: 12.5%; }
    @media (min-width: 64em) {
      .lc-week .lc-week-day-col {
        width: auto; } }
    .lc-week .lc-week-day-col.active {
      background-color: #efefef; }
  .lc-week .lc-week-time .all-day-row {
    border-top: none;
    border-bottom: none; }
  .lc-week .lc-week-time-col {
    width: 12.5%; }
    @media (min-width: 64em) {
      .lc-week .lc-week-time-col {
        width: 10%; } }
  .lc-week th,
  .lc-week td {
    padding: 5px;
    color: #000;
    background-color: transparent;
    border: 1px solid #d2d3d5; }
  .lc-week tbody {
    vertical-align: inherit; }
    .lc-week tbody + tbody {
      border-top: 2px solid #d2d3d5; }
  .lc-week td {
    border-bottom: 1px solid #d2d3d5; }
  .lc-week thead th {
    vertical-align: bottom;
    border-bottom-color: #dee2e6; }

.lc-day .all-day-row, .lc-day .lc-day-room-col:first-of-type, .lc-day .lc-day-time th {
  position: -webkit-sticky;
  position: sticky;
  z-index: 3;
  background-color: #fff; }

.lc-day {
  display: block;
  width: 100%;
  margin-bottom: 1rem;
  overflow-x: scroll;
  overflow-y: visible;
  border-spacing: 0;
  border-collapse: separate;
  border-top: 2px solid #d2d3d5;
  border-left: 2px solid #d2d3d5; }
  .lc-day th,
  .lc-day td {
    border: 0; }
  .lc-day th,
  .lc-day td {
    border-right: 2px solid #d2d3d5;
    border-bottom: 2px solid #d2d3d5; }
  .lc-day .lc-day-room {
    vertical-align: top; }
  .lc-day .lc-day-branch-col {
    font-size: large; }
  .lc-day .lc-day-branch-col,
  .lc-day .lc-day-room-col {
    width: 12.5%; }
    @media (min-width: 64em) {
      .lc-day .lc-day-branch-col,
      .lc-day .lc-day-room-col {
        width: auto; } }
    .lc-day .lc-day-branch-col.active,
    .lc-day .lc-day-room-col.active {
      background-color: #efefef; }
  .lc-day th,
  .lc-day td {
    padding: 5px;
    color: #000;
    background-color: transparent; }
  .lc-day tbody {
    vertical-align: inherit; }
  .lc-day thead th {
    vertical-align: bottom; }
  .lc-day .event-card {
    min-width: 175px; }
  .lc-day tr:not(.lc-day-all-day-row) .event-card {
    background-color: transparent;
    border: 0; }
  .lc-day .all-day-row {
    left: 0; }
  .lc-day .lc-day-room-col:first-of-type {
    left: 0; }
  .lc-day .lc-day-time th {
    left: 0; }

.lc-menu-tasks {
  overflow: hidden;
  text-align: right; }
  .lc-menu-tasks a {
    padding: 10px; }

/* Registration Notifications */
.lc-messages__message {
  padding: 0 10px;
  margin-bottom: 5px;
  background-color: #d2d3d5; }

.lc-date-icon {
  display: flex;
  flex-direction: column; }

.lc-date-icon__item {
  width: 3.5rem;
  text-align: center;
  text-transform: uppercase;
  border: 2px solid #00549f;
  border-bottom: none; }

.lc-date-icon__item:last-child {
  border-bottom: 2px solid #00549f; }

.date-icon__year {
  padding-bottom: 5px;
  font-size: 10px; }

.lc-date-icon__item--month {
  line-height: 2;
  color: #fff;
  background-color: #00549f; }

.lc-date-icon__item--day {
  font-size: 28px;
  line-height: 1.2;
  color: #333;
  border-top: none; }

.lc-date-icon__item--multi-day {
  display: flex;
  justify-content: center;
  font-size: 18px; }

.lc-date-icon__item--day-name {
  font-size: 12px;
  line-height: 1.2;
  border-top: none; }

.lc-event__sidebar .lc-date-icon__item--day {
  line-height: 1;
  border-bottom: none; }

.lc-event__sidebar .lc-date-icon__item--year {
  padding-bottom: 5px;
  font-size: 12px;
  line-height: 1;
  border-top: none; }

.lc-event__event-details--upcoming .lc-date-icon__item--year {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  border: 0; }

.event-card {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  justify-content: flex-start;
  width: 100%;
  padding: 20px;
  background: #efefef; }

.event-card,
.event-card__top,
.event-card__bottom {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: flex-start;
  width: 100%; }

.event-card__title {
  margin: 0; }

.event-card__room {
  margin-bottom: 5px;
  font-weight: 700; }

.event-card__day {
  font-size: 14px; }

.event-card__time {
  font-size: 18px;
  font-weight: 300; }

.event-card__date {
  order: 0; }

.event-card__details {
  flex-grow: 1;
  order: 1;
  margin-bottom: 15px; }

.event-card__labels {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stetch;
  justify-content: space-between;
  order: 2;
  width: 100%;
  padding: 0;
  margin: 0; }

.event-card__label {
  flex-grow: 1;
  padding: 10px 5px 0;
  margin: 0;
  text-align: center;
  list-style-type: none; }
  .event-card__label .link {
    display: block;
    padding: .625em;
    color: #fff;
    background-color: #999; }

.lc-event__wrapper {
  display: flex;
  flex: 1;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  line-height: 25px; }
  @media (min-width: 48em) {
    .lc-event__wrapper {
      flex-direction: row; } }

.lc-event__details {
  display: flex;
  width: 100%;
  padding: 10px 0; }
  .lc-event__details h2 {
    margin: 0; }

.lc-event__title {
  margin: 0;
  line-height: 1; }

.lc-event__upcoming {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  width: 100%; }

.lc-event__month-summary {
  display: flex; }

/* color coding strip */
.lc-event__color-coding {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  width: 6px;
  min-width: 6px; }

.lc-event__color-indicator {
  display: flex;
  flex: 1;
  order: 0;
  padding: 3px; }

.lc-event__event-details {
  flex: 1;
  width: calc(100% - 16px);
  margin-left: 5px; }

.no-color-coding .lc-event__event-details {
  margin-left: 0; }

.no-color-coding .lc-event__month-details .lc-date-icon {
  padding-left: 0; }

.event-card--full {
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: space-between; }

.event-card--sparse.node--view-mode-teaser {
  flex-wrap: nowrap;
  padding: 5px;
  margin-bottom: 5px; }
  .event-card--sparse.node--view-mode-teaser h2,
  .event-card--sparse.node--view-mode-teaser h3,
  .event-card--sparse.node--view-mode-teaser h4 {
    margin: 0; }
  .event-card--sparse.node--view-mode-teaser .lc-event__details {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: flex-start; }
  .event-card--sparse.node--view-mode-teaser .event-card__title,
  .event-card--sparse.node--view-mode-teaser .event-card__room,
  .event-card--sparse.node--view-mode-teaser .event-card__day-time {
    width: 100%;
    font-size: 16px;
    line-height: 1.2; }
  .event-card--sparse.node--view-mode-teaser .event-card__title {
    order: 1;
    font-weight: 700;
    border-bottom: 1px solid #333; }
  .event-card--sparse.node--view-mode-teaser .event-card__room {
    order: 2;
    font-style: italic;
    font-weight: 400; }
  .event-card--sparse.node--view-mode-teaser .event-card__details {
    order: 0;
    width: 100%;
    margin: 0; }
  .event-card--sparse.node--view-mode-teaser .event-card__day-time {
    font-size: 12px; }
  .event-card--sparse.node--view-mode-teaser .time--end,
  .event-card--sparse.node--view-mode-teaser .time--separator {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    border: 0; }
  .event-card--sparse.node--view-mode-teaser .time--start .event-card__day--inline,
  .event-card--sparse.node--view-mode-teaser .time--start .event-card__separator {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    border: 0; }
  .calendar__day--multi .event-card--sparse.node--view-mode-teaser .event-card__title,
  .calendar__day--multi .event-card--sparse.node--view-mode-teaser .event-card__room,
  .calendar__day--multi .event-card--sparse.node--view-mode-teaser .event-card__day-time {
    width: 100%;
    margin: 0 10px 0 0; }
  .calendar__day--multi .event-card--sparse.node--view-mode-teaser .time--end,
  .calendar__day--multi .event-card--sparse.node--view-mode-teaser .time--separator {
    position: static !important;
    width: auto;
    height: auto;
    overflow: auto;
    clip: auto; }
  .calendar__day--multi .event-card--sparse.node--view-mode-teaser .time--start .event-card__day--inline,
  .calendar__day--multi .event-card--sparse.node--view-mode-teaser .time--start .event-card__separator {
    position: static !important;
    width: auto;
    height: auto;
    overflow: auto;
    clip: auto; }

.calendar__day--multi .event-card__title,
.calendar__day--multi .event-card__room,
.calendar__day--multi .event-card__day-time {
  width: 100%;
  margin: 0 .625em 0 0; }

.calendar__day--multi .time--end,
.calendar__day--multi .time--separator,
.calendar__day--multi .time--start .event-card__day--inline,
.calendar__day--multi .time--start .event-card__separator {
  position: relative !important;
  width: auto;
  height: auto;
  overflow: visible; }

.date-location__other-dates .date-location__toggle {
  width: 100%;
  padding: 5px; }

.date-location__other-dates .date-location__toggle,
.date-location__other-dates .date-location__repeats-item {
  margin-bottom: 5px;
  font-weight: 700;
  color: #333;
  background-color: #ddd;
  transition: background ease-in-out 500ms; }
  .date-location__other-dates .date-location__toggle:hover, .date-location__other-dates .date-location__toggle:focus,
  .date-location__other-dates .date-location__repeats-item:hover,
  .date-location__other-dates .date-location__repeats-item:focus {
    background-color: #bbb;
    outline: none; }

.date-location__other-dates .date-location__wrapper {
  max-height: 0;
  overflow: hidden;
  transition: all ease-in-out 500ms; }
  .date-location__other-dates .date-location__wrapper.active {
    max-height: 100%; }

.date-location__other-dates .date-location__repeats-list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0;
  margin: 0; }

.date-location__other-dates .date-location__repeats-item {
  width: 49%;
  list-style-type: none; }

.date-location__other-dates .date-location__repeats-link {
  display: block;
  color: #333;
  text-align: center; }

.lc-event--code-unpublished {
  padding: 5px;
  border: 5px solid #d2d3d5; }

.lc-event--code-public-reservation {
  padding: 5px;
  border: 5px solid #007b69; }

.lc-event--code-private-event {
  padding: 5px;
  border: 5px solid #00549f; }

.lc-event--code-has-conflict {
  padding: 5px;
  border: 5px solid #00549f; }

.lc-event--code-room-reserved {
  padding: 5px;
  border: 5px solid #007b69; }

.lc-event__key {
  text-transform: uppercase; }

.lc-event__key--cancelled {
  color: #e05554; }

.lc-event__color-indicator {
  background-color: #d2d3d5; }

.page-events-upcoming .lc-event__wrapper {
  margin-left: 10px; }

.lc-event__color-indicator--adult,
.lc-event__color-indicator--adults {
  background-color: #0098db; }

.lc-event__color-indicator--everyone {
  background-color: #007b69; }

.lc-event__color-indicator--family,
.lc-event__color-indicator--children {
  background-color: #903986; }

.lc-event__color-indicator--infant,
.lc-event__color-indicator--babies {
  background-color: #f3ec7a; }

.lc-event__color-indicator--kids {
  background-color: #fed100; }

.lc-event__color-indicator--preschool {
  background-color: #d7a900; }

.lc-event__color-indicator--school-age {
  background-color: #f68d74; }

.lc-event__color-indicator--teen,
.lc-event__color-indicator--teens {
  background-color: #e05554; }

.lc-event__color-indicator--toddler {
  background-color: #c23736; }

.lc-event__color-indicator--toddler-one {
  background-color: #35bcac; }

.node--type-lc-closing .lc-event__color-indicator {
  background-color: #e05554; }

.node--type-lc-closing .lc-event__color-coding--age,
.node--type-lc-closing .lc-event__color-coding--program {
  display: none; }

.ie10 .lc-event__event-details,
.ie11 .lc-event__event-details {
  flex: inherit; }

.lc-registration-label {
  margin: 0;
  font-size: larger;
  font-weight: 700; }

.lc-event__month-summary .lc-registration-label {
  margin-top: 10px; }

body.lc-no-scroll {
  position: fixed;
  width: 100%;
  overflow-y: scroll; }

.lc-branch-modal {
  position: relative; }

.lc-branch-modal__wrapper {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  width: 100%;
  height: 100%;
  padding: 32px;
  background-color: rgba(0, 0, 0, 0.5); }

.lc-branch-modal__container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  height: 100%;
  background-color: #fff;
  box-shadow: 0 5px 15px 0 #37424a; }

.lc-branch-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 100px;
  padding: 20px;
  background-color: #00549f; }
  @media (min-width: 48em) {
    .lc-branch-modal__header {
      min-height: inherit; } }

.lc-branch-modal__title {
  margin: 0;
  font-size: 14px;
  color: #fff;
  text-transform: uppercase; }
  @media (min-width: 48em) {
    .lc-branch-modal__title {
      font-size: 18px; } }

.lc-branch-modal__content-wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  padding: 20px;
  overflow-y: scroll; }

.lc-branch-modal__content {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
  padding: 10px;
  margin: 10px 0; }
  @media (min-width: 48em) {
    .lc-branch-modal__content {
      width: 49%; } }
  @media (min-width: 64em) {
    .lc-branch-modal__content {
      width: 32%; } }

.lc-branch-modal__branch-select {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: transparent;
  border: 2px solid #f0f0f0; }
  .lc-branch-modal__branch-select:hover, .lc-branch-modal__branch-select:focus {
    background-color: transparent;
    border: 2px solid #f0f0f0;
    outline: none; }
  .lc-branch-modal__branch-select.active {
    border: 2px solid #1797d4; }

.lc-branch-modal__image-container {
  width: 25%;
  height: auto;
  padding-right: 10px; }
  @media (min-width: 48em) {
    .lc-branch-modal__image-container {
      width: 33.33333%; } }
  .lc-branch-modal__image-container img {
    width: 100%; }

.lc-branch-modal__branch-info {
  flex-grow: 1;
  width: 75%;
  font-size: 14px;
  text-align: left; }
  @media (min-width: 48em) {
    .lc-branch-modal__branch-info {
      width: 66.66667%;
      font-size: 16px;
      text-align: left; } }

.lc-branch-modal__branch-title {
  margin: 0;
  font-size: 16px; }
  @media (min-width: 48em) {
    .lc-branch-modal__branch-title {
      font-size: 18px; } }

.lc-branch-modal__exit {
  margin-right: 0;
  margin-left: 0; }

.lc-branch-modal__address {
  line-height: 1; }

.lc-branch-modal__checkboxes {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  border: 0;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important; }
  .lc-branch-modal__checkboxes input,
  .lc-branch-modal__checkboxes label,
  .lc-branch-modal__checkboxes .form-type-checkbox {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    border: 0; }

.lc-branch-modal__submit {
  display: block;
  margin: 0 auto;
  margin-top: 10px;
  margin-bottom: 10px; }
  @media (min-width: 48em) {
    .lc-branch-modal__submit {
      margin-top: 0;
      margin-bottom: 20px; } }

.lc-branch-modal__wrapper {
  left: -9999px;
  opacity: 0;
  transition: opacity ease-in-out 250ms .5s; }
  .lc-branch-modal__wrapper .lc-branch-modal__container {
    transition: transform ease-in-out 250ms .5s;
    transform: scale(0); }
  .lc-branch-modal__wrapper.open {
    left: 0;
    opacity: 1; }
    .lc-branch-modal__wrapper.open .lc-branch-modal__container {
      transform: scale(1); }

.lc-branch-modal__form {
  display: block;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px;
  margin-top: 20px;
  margin-bottom: 20px; }
  @media (min-width: 64em) {
    .lc-branch-modal__form {
      flex-direction: row;
      width: auto; } }
  .lc-branch-modal__form .button {
    width: 100%;
    height: 48px;
    margin: 5px 0;
    text-align: center; }
    @media (min-width: 64em) {
      .lc-branch-modal__form .button {
        width: auto;
        margin: 0 5px; } }
  .lc-branch-modal__form .lc-branch-modal__select-all,
  .lc-branch-modal__form .lc-branch-modal__reset {
    display: inline-block;
    width: 49%;
    padding: 1.25rem 0;
    text-align: left; }
    @media (min-width: 64em) {
      .lc-branch-modal__form .lc-branch-modal__select-all,
      .lc-branch-modal__form .lc-branch-modal__reset {
        width: auto;
        padding-right: inherit;
        padding-left: inherit;
        margin: 0 5px; } }
  .lc-branch-modal__form .lc-branch-modal__select-all {
    text-align: left; }
  .lc-branch-modal__form .lc-branch-modal__reset {
    text-align: right; }

.lc-featured-event-row {
  position: relative;
  display: flex;
  flex-direction: row; }
  .lc-featured-event-row .lc-event__color-coding {
    margin-right: 20px; }

.lc-featured-event-content-row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -10px;
  margin-left: -10px;
  width: 100%; }
  .lc-featured-event-content-row .lc-featured-event-image,
  .lc-featured-event-content-row .lc-featured-event-content {
    position: relative;
    width: 100%;
    padding-right: 10px;
    padding-left: 10px; }
  @media (min-width: 64em) {
    .lc-featured-event-content-row .lc-featured-event-image {
      flex: 0 0 25%;
      max-width: 25%; } }
  @media (min-width: 64em) {
    .lc-featured-event-content-row .lc-featured-event-content {
      flex: 0 0 75%;
      max-width: 75%; } }

.lc-featured-event-row-terms {
  display: flex;
  flex-wrap: wrap;
  margin-right: -10px;
  margin-left: -10px;
  width: 50%;
  padding-right: 0;
  padding-left: 0; }

.lc-featured-event-program-type {
  position: relative;
  width: 100%;
  padding-right: 10px;
  padding-left: 10px; }
  @media (min-width: 64em) {
    .lc-featured-event-program-type {
      flex: 0 0 50%;
      max-width: 50%; } }

.lc-featured-event {
  /* stylelint-disable-next-line rule */
  z-index: auto !important;
  padding: 0;
  background-color: transparent; }
  .lc-featured-event .lc-event__month-details {
    right: auto;
    left: 100%;
    opacity: 0; }
    .lc-featured-event .lc-event__month-details.event-direction-left {
      right: 100%;
      left: auto; }
  .lc-featured-event:hover .lc-event__month-details {
    opacity: 1;
    transition: transform 500ms ease-in-out 250ms;
    transform: translate3d(-100%, 0, 0); }
    .lc-featured-event:hover .lc-event__month-details.event-direction-left {
      transform: translate3d(100%, 0, 0); }

.lc-featured-events-container {
  padding: 10px 20px;
  margin-bottom: 20px;
  background-color: #fff;
  border: 1px solid #d2d3d5;
  border-radius: 5px; }

.lc-featured-events {
  -webkit-user-select: unset;
     -moz-user-select: unset;
      -ms-user-select: unset;
          user-select: unset; }
  .lc-featured-events .lc-featured-event:not(:first-of-type) {
    display: none; }
  .lc-featured-events.slick-initialized .lc-featured-event {
    display: block; }
  .lc-featured-events .slick-track,
  .lc-featured-events .slick-list {
    /* stylelint-disable-next-line declaration-no-important */
    transform: none !important; }

.lc-featured-events-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 10px; }
  .lc-featured-events-controls .slick-arrow {
    position: relative;
    top: auto;
    bottom: auto;
    width: 20px;
    height: 20px;
    font-size: 0;
    background-color: transparent;
    background-size: contain;
    border: 0; }
    .lc-featured-events-controls .slick-arrow.slick-prev {
      left: 0;
      background-image: url(../assets/dist/icons/chevron-left-black.svg); }
    .lc-featured-events-controls .slick-arrow.slick-next {
      right: 0;
      background-image: url(../assets/dist/icons/chevron-right-black.svg); }
  .lc-featured-events-controls .slick-dots {
    position: relative;
    display: flex;
    flex-direction: row;
    padding: 0;
    margin: 0;
    list-style: none; }
    .lc-featured-events-controls .slick-dots > li {
      display: flex;
      align-items: center;
      list-style: none; }
    .lc-featured-events-controls .slick-dots button {
      width: 10px;
      height: 10px;
      min-height: auto;
      padding: 0;
      margin-right: 5px;
      margin-left: 5px;
      font-size: 0;
      background-color: #000;
      border: 0;
      border-radius: 50%;
      opacity: .25;
      transition: opacity 250ms; }
      .lc-featured-events-controls .slick-dots button:hover, .lc-featured-events-controls .slick-dots button:focus, .lc-featured-events-controls .slick-dots button:active {
        opacity: .5; }
    .lc-featured-events-controls .slick-dots .slick-active button {
      opacity: .5; }

.lc-featured-event-btn {
  margin-top: 10px; }

.lc-form .form-submit {
  margin-top: 10px; }

.lc-form .lc-form__half .form-text,
.lc-form .lc-form__full .form-text {
  margin: 0; }

.lc-form__flex-wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 2px solid #efefef; }
  .lc-form__flex-wrapper .form-item {
    margin-bottom: 0; }

.lc-form__half {
  flex: initial;
  padding-right: 5px; }
  .lc-form__half .form-item,
  .lc-form__half .form-text,
  .lc-form__half .form-select {
    display: block;
    width: 100%; }
  .lc-form__half:nth-child(even) {
    padding-right: 0; }

.lc-form__half--flex {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: flex-start; }

.lc-form__full {
  width: 100%; }
  .lc-form__full .form-item,
  .lc-form__full .form-text,
  .lc-form__full .form-select {
    display: block;
    width: 100%; }

.lc-form--reserve-by-time .form-item,
.lc-form--reserve-by-time .form-select,
.lc-form--reserve-by-time .form-text,
.lc-form--reserve-by-time .form-type-select,
.lc-form--reserve-by-time .form-type-date-popup,
.lc-form--reserve-by-time .form-submit,
.lc-form--reserve-by-time .container-inline-date {
  float: none;
  width: 100%; }
  @media (min-width: 48em) {
    .lc-form--reserve-by-time .form-item,
    .lc-form--reserve-by-time .form-select,
    .lc-form--reserve-by-time .form-text,
    .lc-form--reserve-by-time .form-type-select,
    .lc-form--reserve-by-time .form-type-date-popup,
    .lc-form--reserve-by-time .form-submit,
    .lc-form--reserve-by-time .container-inline-date {
      float: none;
      width: auto; } }

.lc-form--reserve-by-time .form-item,
.lc-form--reserve-by-time .container-inline {
  padding-bottom: 10px; }

.lc-form--reserve-by-time .container-inline-date {
  display: block;
  float: none; }
  .lc-form--reserve-by-time .container-inline-date .form-item,
  .lc-form--reserve-by-time .container-inline-date .form-item input {
    float: none;
    width: 100%; }
    @media (min-width: 48em) {
      .lc-form--reserve-by-time .container-inline-date .form-item,
      .lc-form--reserve-by-time .container-inline-date .form-item input {
        float: left;
        width: auto; } }
  @media (min-width: 48em) {
    .lc-form--reserve-by-time .container-inline-date {
      float: left;
      margin-left: 5px;
      clear: none; } }

@media (min-width: 48em) {
  .lc-form--reserve-by-time .form-type-select {
    clear: left; } }

@media (min-width: 64em) {
  .lc-form--reserve-by-time .form-type-select {
    clear: none; } }

@media (min-width: 48em) {
  .lc-form--reserve-by-time .form-submit {
    margin: 0 0 0 5px; } }

.block--lc-gmap .block__title {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  border: 0; }

.lc-form__message {
  padding: 1rem;
  margin-bottom: 2rem;
  background-color: #efefef; }

/* form */
.lc-form-container {
  padding: 10px;
  border: 2px solid #efefef; }

.lc-form input[type='text'],
.lc-form input[type='email'],
.lc-form input[type='password'],
.node-lc-reservation-form input[type='text'],
.node-lc-reservation-form input[type='email'],
.node-lc-reservation-form input[type='password'],
.node-lc-event-form input[type='text'],
.node-lc-event-form input[type='email'],
.node-lc-event-form input[type='password'],
.node-lc-closing-form input[type='text'],
.node-lc-closing-form input[type='email'],
.node-lc-closing-form input[type='password'] {
  box-sizing: border-box;
  width: 100%; }

.lc-form select,
.node-lc-reservation-form select,
.node-lc-event-form select,
.node-lc-closing-form select {
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  border-color: #efefef; }
  @media (min-width: 48em) {
    .lc-form select,
    .node-lc-reservation-form select,
    .node-lc-event-form select,
    .node-lc-closing-form select {
      width: unset; } }

.lc-form #ajax-phone-wrapper {
  width: 100%;
  padding-right: 0; }
  @media (min-width: 64em) {
    .lc-form #ajax-phone-wrapper {
      display: inline-block;
      width: 40%;
      padding-right: .5em; } }

.lc-form #ajax-phone-extension-wrapper {
  width: 100%; }
  @media (min-width: 64em) {
    .lc-form #ajax-phone-extension-wrapper {
      display: inline-block;
      width: 20%; } }

.form-tel {
  width: 100%; }

.lc-event__subtitle {
  margin: 0;
  line-height: 1.5; }

h4.lc-event__subtitle {
  font-weight: 700; }

.lc-event__details {
  display: flex; }
  .lc-event__details .lc-event-info {
    padding-left: 10px; }
  .lc-event__details .lc-event-info__item {
    line-height: 1.2; }

.lc-event__registration-icon,
.lc-event__registration-payment-icon {
  width: 16px;
  min-width: 16px;
  height: auto;
  padding: 0;
  margin: 5px 10px 0 5px;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain; }

.lc-event__registration-icon {
  margin-top: 0;
  background-image: url("../assets/dist/icons/pencil-square-o-black.svg"); }

.lc-event__registration-payment-icon {
  background-image: url("../assets/dist/icons/dollar-sign-solid.svg"); }

.lc-event__month-details {
  position: fixed;
  top: 0;
  left: 100%;
  z-index: 10050;
  display: none;
  width: 300px;
  height: 100%;
  padding: 40px 30px;
  overflow-y: hidden;
  background: #fff;
  border: 2px solid #778898;
  border-top: none !important;
  border-bottom: none !important;
  opacity: 0;
  transition: transform 500ms ease-in-out 250ms, opacity 0s 750ms;
  transform: translate3d(0, 0, 0); }
  @media (min-width: 48em) {
    .lc-event__month-details {
      display: block; } }

.calendar--day .lc-day-room .node--type-lc-event .lc-event__month-details {
  right: auto;
  left: 100%;
  opacity: 0; }
  .calendar--day .lc-day-room .node--type-lc-event .lc-event__month-details.event-direction-left {
    right: 100%;
    left: auto; }

.calendar--day .lc-day-room .node--type-lc-event:hover .lc-event__month-details {
  opacity: 1;
  transition: transform 500ms ease-in-out 250ms;
  transform: translate3d(-100%, 0, 0); }
  .calendar--day .lc-day-room .node--type-lc-event:hover .lc-event__month-details.event-direction-left {
    transform: translate3d(100%, 0, 0); }

.calendar--day .lc-day-room:nth-child(5) .node--type-lc-event .lc-event__month-details {
  right: 100%;
  left: auto;
  opacity: 0; }
  .calendar--day .lc-day-room:nth-child(5) .node--type-lc-event .lc-event__month-details.event-direction-right {
    right: auto;
    left: 100%; }

.calendar--day .lc-day-room:nth-child(5) .node--type-lc-event:hover .lc-event__month-details {
  opacity: 1;
  transition: transform 500ms ease-in-out 250ms;
  transform: translate3d(100%, 0, 0); }
  .calendar--day .lc-day-room:nth-child(5) .node--type-lc-event:hover .lc-event__month-details.event-direction-right {
    transform: translate3d(-100%, 0, 0); }

.calendar--day .lc-day-room:nth-child(6) .node--type-lc-event .lc-event__month-details {
  right: 100%;
  left: auto;
  opacity: 0; }
  .calendar--day .lc-day-room:nth-child(6) .node--type-lc-event .lc-event__month-details.event-direction-right {
    right: auto;
    left: 100%; }

.calendar--day .lc-day-room:nth-child(6) .node--type-lc-event:hover .lc-event__month-details {
  opacity: 1;
  transition: transform 500ms ease-in-out 250ms;
  transform: translate3d(100%, 0, 0); }
  .calendar--day .lc-day-room:nth-child(6) .node--type-lc-event:hover .lc-event__month-details.event-direction-right {
    transform: translate3d(-100%, 0, 0); }

.calendar--day .lc-day-room:nth-child(7) .node--type-lc-event .lc-event__month-details {
  right: 100%;
  left: auto;
  opacity: 0; }
  .calendar--day .lc-day-room:nth-child(7) .node--type-lc-event .lc-event__month-details.event-direction-right {
    right: auto;
    left: 100%; }

.calendar--day .lc-day-room:nth-child(7) .node--type-lc-event:hover .lc-event__month-details {
  opacity: 1;
  transition: transform 500ms ease-in-out 250ms;
  transform: translate3d(100%, 0, 0); }
  .calendar--day .lc-day-room:nth-child(7) .node--type-lc-event:hover .lc-event__month-details.event-direction-right {
    transform: translate3d(-100%, 0, 0); }

.calendar--day .lc-day-room:nth-child(8) .node--type-lc-event .lc-event__month-details {
  right: 100%;
  left: auto;
  opacity: 0; }
  .calendar--day .lc-day-room:nth-child(8) .node--type-lc-event .lc-event__month-details.event-direction-right {
    right: auto;
    left: 100%; }

.calendar--day .lc-day-room:nth-child(8) .node--type-lc-event:hover .lc-event__month-details {
  opacity: 1;
  transition: transform 500ms ease-in-out 250ms;
  transform: translate3d(100%, 0, 0); }
  .calendar--day .lc-day-room:nth-child(8) .node--type-lc-event:hover .lc-event__month-details.event-direction-right {
    transform: translate3d(-100%, 0, 0); }

.calendar--week .lc-week-day .node--type-lc-event .lc-event__month-details {
  right: auto;
  left: 100%;
  opacity: 0; }
  .calendar--week .lc-week-day .node--type-lc-event .lc-event__month-details.event-direction-left {
    right: 100%;
    left: auto; }

.calendar--week .lc-week-day .node--type-lc-event:hover .lc-event__month-details {
  opacity: 1;
  transition: transform 500ms ease-in-out 250ms;
  transform: translate3d(-100%, 0, 0); }
  .calendar--week .lc-week-day .node--type-lc-event:hover .lc-event__month-details.event-direction-left {
    transform: translate3d(100%, 0, 0); }

.calendar--week .lc-week-day:nth-child(5) .node--type-lc-event .lc-event__month-details {
  right: 100%;
  left: auto;
  opacity: 0; }
  .calendar--week .lc-week-day:nth-child(5) .node--type-lc-event .lc-event__month-details.event-direction-right {
    right: auto;
    left: 100%; }

.calendar--week .lc-week-day:nth-child(5) .node--type-lc-event:hover .lc-event__month-details {
  opacity: 1;
  transition: transform 500ms ease-in-out 250ms;
  transform: translate3d(100%, 0, 0); }
  .calendar--week .lc-week-day:nth-child(5) .node--type-lc-event:hover .lc-event__month-details.event-direction-right {
    transform: translate3d(-100%, 0, 0); }

.calendar--week .lc-week-day:nth-child(6) .node--type-lc-event .lc-event__month-details {
  right: 100%;
  left: auto;
  opacity: 0; }
  .calendar--week .lc-week-day:nth-child(6) .node--type-lc-event .lc-event__month-details.event-direction-right {
    right: auto;
    left: 100%; }

.calendar--week .lc-week-day:nth-child(6) .node--type-lc-event:hover .lc-event__month-details {
  opacity: 1;
  transition: transform 500ms ease-in-out 250ms;
  transform: translate3d(100%, 0, 0); }
  .calendar--week .lc-week-day:nth-child(6) .node--type-lc-event:hover .lc-event__month-details.event-direction-right {
    transform: translate3d(-100%, 0, 0); }

.calendar--week .lc-week-day:nth-child(7) .node--type-lc-event .lc-event__month-details {
  right: 100%;
  left: auto;
  opacity: 0; }
  .calendar--week .lc-week-day:nth-child(7) .node--type-lc-event .lc-event__month-details.event-direction-right {
    right: auto;
    left: 100%; }

.calendar--week .lc-week-day:nth-child(7) .node--type-lc-event:hover .lc-event__month-details {
  opacity: 1;
  transition: transform 500ms ease-in-out 250ms;
  transform: translate3d(100%, 0, 0); }
  .calendar--week .lc-week-day:nth-child(7) .node--type-lc-event:hover .lc-event__month-details.event-direction-right {
    transform: translate3d(-100%, 0, 0); }

.calendar--week .lc-week-day:nth-child(8) .node--type-lc-event .lc-event__month-details {
  right: 100%;
  left: auto;
  opacity: 0; }
  .calendar--week .lc-week-day:nth-child(8) .node--type-lc-event .lc-event__month-details.event-direction-right {
    right: auto;
    left: 100%; }

.calendar--week .lc-week-day:nth-child(8) .node--type-lc-event:hover .lc-event__month-details {
  opacity: 1;
  transition: transform 500ms ease-in-out 250ms;
  transform: translate3d(100%, 0, 0); }
  .calendar--week .lc-week-day:nth-child(8) .node--type-lc-event:hover .lc-event__month-details.event-direction-right {
    transform: translate3d(-100%, 0, 0); }

.calendar--month .calendar__day--multi .event-card .lc-event__month-details,
.calendar--month .calendar__day .event-card .lc-event__month-details {
  right: auto;
  left: 100%;
  opacity: 0; }
  .calendar--month .calendar__day--multi .event-card .lc-event__month-details.event-direction-left,
  .calendar--month .calendar__day .event-card .lc-event__month-details.event-direction-left {
    right: 100%;
    left: auto; }

.calendar--month .calendar__day--multi .event-card:hover .lc-event__month-details,
.calendar--month .calendar__day .event-card:hover .lc-event__month-details {
  opacity: 1;
  transition: transform 500ms ease-in-out 250ms;
  transform: translate3d(-100%, 0, 0); }
  .calendar--month .calendar__day--multi .event-card:hover .lc-event__month-details.event-direction-left,
  .calendar--month .calendar__day .event-card:hover .lc-event__month-details.event-direction-left {
    transform: translate3d(100%, 0, 0); }

.calendar--month .calendar__day:nth-child(5) .event-card .lc-event__month-details {
  right: 100%;
  left: auto;
  opacity: 0; }
  .calendar--month .calendar__day:nth-child(5) .event-card .lc-event__month-details.event-direction-right {
    right: auto;
    left: 100%; }

.calendar--month .calendar__day:nth-child(5) .event-card:hover .lc-event__month-details {
  opacity: 1;
  transition: transform 500ms ease-in-out 250ms;
  transform: translate3d(100%, 0, 0); }
  .calendar--month .calendar__day:nth-child(5) .event-card:hover .lc-event__month-details.event-direction-right {
    transform: translate3d(-100%, 0, 0); }

.calendar--month .calendar__day:nth-child(6) .event-card .lc-event__month-details {
  right: 100%;
  left: auto;
  opacity: 0; }
  .calendar--month .calendar__day:nth-child(6) .event-card .lc-event__month-details.event-direction-right {
    right: auto;
    left: 100%; }

.calendar--month .calendar__day:nth-child(6) .event-card:hover .lc-event__month-details {
  opacity: 1;
  transition: transform 500ms ease-in-out 250ms;
  transform: translate3d(100%, 0, 0); }
  .calendar--month .calendar__day:nth-child(6) .event-card:hover .lc-event__month-details.event-direction-right {
    transform: translate3d(-100%, 0, 0); }

.calendar--month .calendar__day:nth-child(7) .event-card .lc-event__month-details {
  right: 100%;
  left: auto;
  opacity: 0; }
  .calendar--month .calendar__day:nth-child(7) .event-card .lc-event__month-details.event-direction-right {
    right: auto;
    left: 100%; }

.calendar--month .calendar__day:nth-child(7) .event-card:hover .lc-event__month-details {
  opacity: 1;
  transition: transform 500ms ease-in-out 250ms;
  transform: translate3d(100%, 0, 0); }
  .calendar--month .calendar__day:nth-child(7) .event-card:hover .lc-event__month-details.event-direction-right {
    transform: translate3d(-100%, 0, 0); }

.calendar--month .calendar__day:nth-child(8) .event-card .lc-event__month-details {
  right: 100%;
  left: auto;
  opacity: 0; }
  .calendar--month .calendar__day:nth-child(8) .event-card .lc-event__month-details.event-direction-right {
    right: auto;
    left: 100%; }

.calendar--month .calendar__day:nth-child(8) .event-card:hover .lc-event__month-details {
  opacity: 1;
  transition: transform 500ms ease-in-out 250ms;
  transform: translate3d(100%, 0, 0); }
  .calendar--month .calendar__day:nth-child(8) .event-card:hover .lc-event__month-details.event-direction-right {
    transform: translate3d(-100%, 0, 0); }

@media (min-width: 48em) {
  .calendar--upcoming .lc-event--upcoming .lc-event__month-details {
    right: auto;
    left: 100%;
    opacity: 0; }
    .calendar--upcoming .lc-event--upcoming .lc-event__month-details.event-direction-left {
      right: 100%;
      left: auto; }
  .calendar--upcoming .lc-event--upcoming:hover .lc-event__month-details {
    opacity: 1;
    transition: transform 500ms ease-in-out 250ms;
    transform: translate3d(-100%, 0, 0); }
    .calendar--upcoming .lc-event--upcoming:hover .lc-event__month-details.event-direction-left {
      transform: translate3d(100%, 0, 0); }
  .calendar--upcoming .lc-event--upcoming:nth-child(2n+2) .lc-event__month-details {
    right: 100%;
    left: auto;
    opacity: 0; }
    .calendar--upcoming .lc-event--upcoming:nth-child(2n+2) .lc-event__month-details.event-direction-right {
      right: auto;
      left: 100%; }
  .calendar--upcoming .lc-event--upcoming:nth-child(2n+2):hover .lc-event__month-details {
    opacity: 1;
    transition: transform 500ms ease-in-out 250ms;
    transform: translate3d(100%, 0, 0); }
    .calendar--upcoming .lc-event--upcoming:nth-child(2n+2):hover .lc-event__month-details.event-direction-right {
      transform: translate3d(-100%, 0, 0); } }

@media (min-width: 64em) {
  .calendar--upcoming .lc-event--upcoming:nth-child(3n+1) .lc-event__month-details {
    right: auto;
    left: 100%;
    opacity: 0; }
    .calendar--upcoming .lc-event--upcoming:nth-child(3n+1) .lc-event__month-details.event-direction-left {
      right: 100%;
      left: auto; }
  .calendar--upcoming .lc-event--upcoming:nth-child(3n+1):hover .lc-event__month-details {
    opacity: 1;
    transition: transform 500ms ease-in-out 250ms;
    transform: translate3d(-100%, 0, 0); }
    .calendar--upcoming .lc-event--upcoming:nth-child(3n+1):hover .lc-event__month-details.event-direction-left {
      transform: translate3d(100%, 0, 0); }
  .calendar--upcoming .lc-event--upcoming:nth-child(3n+2) .lc-event__month-details {
    right: 100%;
    left: auto;
    opacity: 0; }
    .calendar--upcoming .lc-event--upcoming:nth-child(3n+2) .lc-event__month-details.event-direction-right {
      right: auto;
      left: 100%; }
  .calendar--upcoming .lc-event--upcoming:nth-child(3n+2):hover .lc-event__month-details {
    opacity: 1;
    transition: transform 500ms ease-in-out 250ms;
    transform: translate3d(100%, 0, 0); }
    .calendar--upcoming .lc-event--upcoming:nth-child(3n+2):hover .lc-event__month-details.event-direction-right {
      transform: translate3d(-100%, 0, 0); }
  .calendar--upcoming .lc-event--upcoming:nth-child(3n+3) .lc-event__month-details {
    right: 100%;
    left: auto;
    opacity: 0; }
    .calendar--upcoming .lc-event--upcoming:nth-child(3n+3) .lc-event__month-details.event-direction-right {
      right: auto;
      left: 100%; }
  .calendar--upcoming .lc-event--upcoming:nth-child(3n+3):hover .lc-event__month-details {
    opacity: 1;
    transition: transform 500ms ease-in-out 250ms;
    transform: translate3d(100%, 0, 0); }
    .calendar--upcoming .lc-event--upcoming:nth-child(3n+3):hover .lc-event__month-details.event-direction-right {
      transform: translate3d(-100%, 0, 0); } }

.block-lc-calendar-upcoming-block .calendar--upcoming.hover-left .lc-event--upcoming .lc-event__month-details {
  right: 100%;
  left: auto;
  opacity: 0; }
  .block-lc-calendar-upcoming-block .calendar--upcoming.hover-left .lc-event--upcoming .lc-event__month-details.event-direction-right {
    right: auto;
    left: 100%; }

.block-lc-calendar-upcoming-block .calendar--upcoming.hover-left .lc-event--upcoming:hover .lc-event__month-details {
  opacity: 1;
  transition: transform 500ms ease-in-out 250ms;
  transform: translate3d(100%, 0, 0); }
  .block-lc-calendar-upcoming-block .calendar--upcoming.hover-left .lc-event--upcoming:hover .lc-event__month-details.event-direction-right {
    transform: translate3d(-100%, 0, 0); }

.block-lc-calendar-upcoming-block .calendar--upcoming.hover-right .lc-event--upcoming .lc-event__month-details {
  right: auto;
  left: 100%;
  opacity: 0; }
  .block-lc-calendar-upcoming-block .calendar--upcoming.hover-right .lc-event--upcoming .lc-event__month-details.event-direction-left {
    right: 100%;
    left: auto; }

.block-lc-calendar-upcoming-block .calendar--upcoming.hover-right .lc-event--upcoming:hover .lc-event__month-details {
  opacity: 1;
  transition: transform 500ms ease-in-out 250ms;
  transform: translate3d(-100%, 0, 0); }
  .block-lc-calendar-upcoming-block .calendar--upcoming.hover-right .lc-event--upcoming:hover .lc-event__month-details.event-direction-left {
    transform: translate3d(100%, 0, 0); }

.white-popup .lc-event .lc-event__month-details {
  right: auto;
  left: 100%;
  opacity: 0; }
  .white-popup .lc-event .lc-event__month-details.event-direction-left {
    right: 100%;
    left: auto; }

.white-popup .lc-event:hover .lc-event__month-details {
  opacity: 1;
  transition: transform 500ms ease-in-out 250ms;
  transform: translate3d(-100%, 0, 0); }
  .white-popup .lc-event:hover .lc-event__month-details.event-direction-left {
    transform: translate3d(100%, 0, 0); }

.lc-event__month-details {
  line-height: 1; }
  .lc-event__month-details .lc-event__container {
    margin-bottom: 5px;
    font-size: 14px; }
  .lc-event__month-details .lc-event__title--details {
    font-size: 18px; }
  .lc-event__month-details .lc-event__title--state {
    margin-top: 0;
    color: #e05554;
    text-transform: uppercase; }
  .lc-event__month-details .lc-event__date {
    margin-bottom: 5px;
    font-size: 16px;
    line-height: 1.25; }
  .lc-event__month-details .date-location__room {
    color: #778898; }
  .lc-event__month-details .lc-event__age-groups,
  .lc-event__month-details .lc-event__body {
    padding: 0; }
  .lc-event__month-details .lc-event__contact {
    padding-bottom: 5px; }

@media (min-width: 48em) {
  .lc-event.desktop-hide {
    display: none; } }

.lc-event_room-setup-notes > div {
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 10px;
  margin-top: 10px;
  margin-right: 0;
  margin-bottom: 10px;
  margin-left: 0;
  border-left: 2px solid #00549f; }

.lc-event__menu-tasks {
  width: 100%; }
  @media (min-width: 64em) {
    .lc-event__menu-tasks {
      text-align: right; } }

.lc-event__wrapper {
  display: flex;
  flex: 1;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  clear: both;
  line-height: 25px; }
  @media (min-width: 48em) {
    .lc-event__wrapper {
      flex-direction: row; } }

.lc-event__content .lc-event__label {
  font-weight: 700; }

.location-address {
  padding: 20px 0 0 0; }

.lc-event__sidebar .lc-event__details {
  padding: 5px;
  border: 2px solid #00549f; }

.lc-event__sidebar .lc-event-info__cancelled {
  color: #e05554;
  text-transform: uppercase; }

/* Gmap */
.lc-event-location .lc-event__subtitle {
  margin: 0; }

.lc-event-location .lc-address__line {
  line-height: 1.2; }

/* Repeat Dates */
.lc-repeating-dates__toggle,
.lc-repeating-dates__link {
  color: #333;
  background-color: #d2d3d5;
  border: none;
  transition: background ease-in-out 500ms; }
  .lc-repeating-dates__toggle:hover, .lc-repeating-dates__toggle:focus,
  .lc-repeating-dates__link:hover,
  .lc-repeating-dates__link:focus {
    background-color: #778898;
    border: none; }

.lc-repeating-dates__toggle {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  padding: 5px;
  margin: 5px 0;
  line-height: 1; }
  .lc-repeating-dates__toggle:hover, .lc-repeating-dates__toggle:focus {
    outline: none; }

.lc-repeating-dates__toggle-icon {
  display: block;
  width: 15px;
  height: 15px;
  margin-left: 10px;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  background-image: url("../assets/dist/icons/chevron-down.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 15px;
  transition: all ease-in-out 250ms;
  transform: rotate(0deg); }

.lc-repeating-dates__toggle.open .lc-repeating-dates__toggle-icon {
  transform: rotate(180deg); }

.lc-repeating-dates__wrapper {
  max-height: 0;
  overflow: hidden;
  transition: all ease-in-out 500ms; }

.lc-repeating-dates__list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0;
  margin: 0; }

.lc-repeating-dates__item {
  width: 49%;
  margin-bottom: 5px;
  list-style-type: none; }
  .lc-repeating-dates__item.lc-repeating-date-master > .lc-repeating-dates__link::before {
    color: currentColor;
    content: '\2605'; }

.lc-repeating-dates__link {
  display: block;
  text-align: center; }

/* Categories styling */
.lc-event__categories {
  line-height: 1.7; }
  .lc-event__categories a {
    border-bottom: none; }

/* Registraion Form */
.lc-event__info-item {
  line-height: 1.7; }

.lc-event__sidebar--second::after {
  display: table;
  clear: both;
  content: ''; }

@media (min-width: 48em) {
  .lc-event__sidebar--second {
    flex: initial;
    width: 100%; } }

@media (min-width: 64em) {
  .lc-event__sidebar--second {
    flex: 1;
    width: 200px; } }

.calendar__wrap--upcoming {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start;
  width: 100%; }

.lc-event--upcoming {
  width: 100%;
  margin-bottom: 10px; }
  @media (min-width: 48em) {
    .lc-event--upcoming {
      width: 50%; }
      .lc-event--upcoming:nth-child(2n-1) {
        padding-right: 5px; }
      .lc-event--upcoming:nth-child(2n) {
        padding-left: 5px; } }
  @media (min-width: 64em) {
    .lc-event--upcoming {
      width: 33.333%;
      margin-bottom: 15px; }
      .lc-event--upcoming:nth-child(2n-1), .lc-event--upcoming:nth-child(2n) {
        padding-right: 0;
        padding-left: 0; }
      .lc-event--upcoming:nth-child(3n-2) {
        padding-right: 10px; }
      .lc-event--upcoming:nth-child(3n-1) {
        padding: 0 5px; }
      .lc-event--upcoming:nth-child(3n) {
        padding-left: 10px; } }
  .lc-event--upcoming .event-card {
    height: 100%;
    padding: 10px;
    background-color: #efefef;
    border: 2px solid #778898; }
  .lc-event--upcoming .lc-event__event-details--upcoming {
    display: flex; }
  .lc-event--upcoming .lc-date-icon__item--day {
    padding-bottom: 5px; }

.lc-event__event-details--lc_registrant_print > * {
  float: left; }

.lc-event__title,
.lc-event__title--details {
  margin: 0; }

.lc-event__info {
  padding-left: 10px; }
  .lc-event__info .lc-event__title,
  .lc-event__info .lc-event__title--details {
    margin: 0;
    font-size: 18px; }

.lc-event__month-details .lc-date-icon {
  padding-left: 5px; }

.lc-event__month-details .lc-date-icon__item--day {
  padding: 0;
  border-bottom: none; }

.lc-event__month-details .lc-date-icon__item--year {
  padding-bottom: 5px;
  font-size: 12px;
  border-top: none; }

.lc-event-info__item--categories {
  font-size: 14px; }

.block-lc-calendar-upcoming-block .lc-event--upcoming {
  width: 100%; }

.block-lc-calendar-upcoming-block .lc-event:nth-child(2n-1), .block-lc-calendar-upcoming-block .lc-event:nth-child(2n), .block-lc-calendar-upcoming-block .lc-event:nth-child(3n-2), .block-lc-calendar-upcoming-block .lc-event:nth-child(3n-1), .block-lc-calendar-upcoming-block .lc-event:nth-child(3n) {
  padding: 0; }

.block-lc-calendar-upcoming-block .event-card {
  padding: 0; }

.block-lc-calendar-upcoming-block .lc-event__event-details {
  padding: 10px 10px 10px 0; }

.scroll-info {
  padding: 1rem;
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: 1px solid;
  border-radius: 4px; }

.lc-event__registration-list .view-content {
  overflow-x: scroll;
  overflow-y: hidden; }

.lc-event__registration-list th,
.lc-event__registration-list td {
  white-space: nowrap; }

.lc-event__registration-list td .dropbutton-widget {
  position: relative; }
  .lc-event__registration-list td .dropbutton-widget button:hover, .lc-event__registration-list td .dropbutton-widget button:focus, .lc-event__registration-list td .dropbutton-widget button:active {
    background-color: transparent; }

.ie10 .lc-event__sidebar--first .lc-event-info,
.ie11 .lc-event__sidebar--first .lc-event-info {
  width: 100%; }

.ie10 .lc-event__sidebar--first .lc-event__branch-image a,
.ie11 .lc-event__sidebar--first .lc-event__branch-image a {
  width: 100%; }

.ie10 .lc-event__featured-image,
.ie11 .lc-event__featured-image {
  overflow: hidden; }
  .ie10 .lc-event__featured-image .open-popup-link,
  .ie11 .lc-event__featured-image .open-popup-link {
    width: 100%; }

.ie10 .calendar__wrap--header,
.ie11 .calendar__wrap--header {
  display: block; }

.lc-event-wrapper {
  display: flex;
  flex-wrap: wrap;
  margin-right: -10px;
  margin-left: -10px; }
  .lc-event-wrapper .lc-event-sidebar,
  .lc-event-wrapper .lc-event-content {
    position: relative;
    width: 100%;
    padding-right: 10px;
    padding-left: 10px;
    margin-bottom: 20px; }
    @media (min-width: 64em) {
      .lc-event-wrapper .lc-event-sidebar,
      .lc-event-wrapper .lc-event-content {
        margin-bottom: unset; } }
  @media (min-width: 64em) {
    .lc-event-wrapper .lc-event-sidebar {
      flex: 0 0 25%;
      max-width: 25%; } }
  @media (min-width: 64em) {
    .lc-event-wrapper .lc-event-content {
      flex: 0 0 50%;
      max-width: 50%; } }
  .lc-event-wrapper .lc-event-details {
    display: flex;
    flex-wrap: wrap;
    margin-right: -5px;
    margin-left: -5px; }
  .lc-event-wrapper .lc-date-icon,
  .lc-event-wrapper .lc-event-info {
    position: relative;
    width: 100%;
    padding-right: 5px;
    padding-left: 5px; }
  .lc-event-wrapper .lc-date-icon {
    flex: 0 0 3.5rem; }
    .lc-event-wrapper .lc-date-icon .lc-date-icon__item {
      width: auto; }
  .lc-event-wrapper .lc-event-info {
    flex: 2; }
    .lc-event-wrapper .lc-event-info .lc-event-subtitle {
      line-height: 1; }
  .lc-event-wrapper .lc-event-info-cancelled {
    color: #e05554;
    text-transform: uppercase; }
  .lc-event-wrapper .lc-event-room-setup-image img {
    border: 1px solid #d2d3d5;
    border-radius: 5px; }
  .lc-event-wrapper .lc-event-section {
    margin-bottom: 10px; }

@media (min-width: 64em) {
  .node--type-lc-closing .lc-event-content {
    flex: 0 0 75%;
    max-width: 75%; } }

.lc-closing-color {
  color: #e05554; }

.lc-reservation-options__links {
  display: flex;
  flex-wrap: wrap;
  margin-right: -10px;
  margin-left: -10px;
  padding: 0;
  margin-top: 0;
  margin-bottom: 0; }

.lc-reservation-btn {
  position: relative;
  width: 100%;
  padding-right: 10px;
  padding-left: 10px;
  margin-bottom: 10px;
  list-style-type: none; }
  @media (min-width: 64em) {
    .lc-reservation-btn {
      flex: 0 0 33.33333%;
      max-width: 33.33333%; } }
  .lc-reservation-btn a {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
    height: 100%;
    padding: 20px 40px;
    font-size: 16px;
    line-height: 1;
    text-align: center;
    text-transform: uppercase; }
    @media (min-width: 64em) {
      .lc-reservation-btn a {
        font-size: 28px; } }
    .lc-reservation-btn a svg {
      display: block;
      height: 115px;
      margin-right: auto;
      margin-bottom: 1rem;
      margin-left: auto; }
    .lc-reservation-btn a svg path {
      fill: currentColor; }
    .lc-reservation-btn a svg g {
      stroke: currentColor; }

.reservation-types {
  display: flex;
  flex-wrap: wrap;
  margin-right: -10px;
  margin-left: -10px; }
  .reservation-types .reservation-type {
    position: relative;
    width: 100%;
    padding-right: 10px;
    padding-left: 10px;
    margin-bottom: 20px; }
    @media (min-width: 64em) {
      .reservation-types .reservation-type {
        flex: 0 0 33.33333%;
        max-width: 33.33333%; } }
    .reservation-types .reservation-type a {
      width: 100%; }

.lc-reservation-options__link--room a::after {
  background-image: url("../assets/dist/icons/building.svg"); }

.lc-reservation-options__link--time a::after {
  background-image: url("../assets/dist/icons/clock.svg"); }

.lc-reservation-options__link--date a::after {
  background-image: url("../assets/dist/icons/calendar.svg"); }

.lc-available-rooms {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start; }

.lc-available-rooms__group-label {
  width: 100%; }

.lc-available-rooms__group {
  width: 100%; }
  @media (min-width: 48em) {
    .lc-available-rooms__group {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      align-items: stretch;
      justify-content: flex-start; } }

.lc-available-rooms {
  display: flex;
  flex-wrap: wrap;
  margin-right: -10px;
  margin-left: -10px; }

.lc-available-rooms__row {
  position: relative;
  width: 100%;
  padding-right: 10px;
  padding-left: 10px;
  margin-bottom: 20px; }
  @media (min-width: 48em) {
    .lc-available-rooms__row {
      flex: 0 0 33.33333%;
      max-width: 33.33333%; } }

.lc-available-rooms__content {
  height: 100%;
  padding: 20px;
  border: 1px solid #d2d3d5;
  border-radius: 5px; }
  .lc-available-rooms__content .lc-available-rooms__room {
    display: flex;
    flex-direction: column;
    height: 100%; }
    .lc-available-rooms__content .lc-available-rooms__room .buttons {
      margin-top: auto; }
  .lc-available-rooms__content .button {
    width: 100%;
    margin-right: 0;
    margin-bottom: 10px;
    margin-left: 0; }
    .lc-available-rooms__content .button:last-of-type {
      margin-bottom: 0; }

.lc-available-rooms__image {
  display: block;
  text-align: center;
  border: none; }
  .lc-available-rooms__image:hover, .lc-available-rooms__image:focus {
    border: none; }

.lc-available-rooms__group-label {
  margin-right: 10px;
  margin-left: 10px; }

.lc-available-rooms__room .buttons.button {
  width: 100%;
  padding: 5px 10px; }

.lc-available-rooms__date {
  margin-bottom: 10px; }

.lc-available-rooms--error-message-container {
  position: relative;
  width: 100%;
  padding-right: 10px;
  padding-left: 10px; }

.lc-room-full .lc-reservation-openings-time-blocks {
  margin: 20px 0; }
  .lc-room-full .lc-reservation-openings-time-blocks:first-child {
    margin-top: 0; }

.lc-room-full .room-row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -10px;
  margin-left: -10px; }

.lc-room-full .room-column {
  position: relative;
  width: 100%;
  padding-right: 10px;
  padding-left: 10px; }
  @media (min-width: 64em) {
    .lc-room-full .room-column {
      flex: 0 0 50%;
      max-width: 50%; } }

.lc-room-full .lc-room-featured-image {
  position: relative;
  width: 100%;
  padding-right: 10px;
  padding-left: 10px;
  margin-bottom: 2rem; }
  @media (min-width: 64em) {
    .lc-room-full .lc-room-featured-image {
      flex: 0 0 50%;
      max-width: 50%; } }

.lc-room-full .lc-room-setups-wrapper {
  position: relative;
  width: 100%;
  padding-right: 10px;
  padding-left: 10px; }
  @media (min-width: 64em) {
    .lc-room-full .lc-room-setups-wrapper {
      flex: 0 0 50%;
      max-width: 50%; } }
  .lc-room-full .lc-room-setups-wrapper .lc-room-setups {
    display: flex;
    flex-wrap: wrap;
    margin-right: -10px;
    margin-left: -10px;
    padding: 0;
    margin-bottom: 0;
    list-style: none; }
    .lc-room-full .lc-room-setups-wrapper .lc-room-setups .room-setups-content {
      position: relative;
      width: 100%;
      padding-right: 10px;
      padding-left: 10px;
      flex: 0 0 50%;
      max-width: 50%;
      margin-bottom: 20px; }
      @media (min-width: 48em) {
        .lc-room-full .lc-room-setups-wrapper .lc-room-setups .room-setups-content {
          flex: 0 0 25%;
          max-width: 25%; } }
      .lc-room-full .lc-room-setups-wrapper .lc-room-setups .room-setups-content:hover .room-setups__title, .lc-room-full .lc-room-setups-wrapper .lc-room-setups .room-setups-content:focus .room-setups__title {
        opacity: 1; }
      .lc-room-full .lc-room-setups-wrapper .lc-room-setups .room-setups-content .room-setups__image {
        position: relative;
        display: flex;
        align-items: center;
        width: 100%;
        height: 100%;
        padding: .5rem;
        overflow: hidden;
        border: 1px solid #d2d3d5;
        border-radius: 5px; }
        @media (min-width: 48em) {
          .lc-room-full .lc-room-setups-wrapper .lc-room-setups .room-setups-content .room-setups__image {
            height: 121px; } }
      .lc-room-full .lc-room-setups-wrapper .lc-room-setups .room-setups-content .room-setups__title {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 999;
        width: 100%;
        height: 100%;
        padding: .5rem;
        color: #fff;
        background-color: rgba(51, 51, 51, 0.8);
        opacity: 0;
        transition: opacity .3s; }
    .lc-room-full .lc-room-setups-wrapper .lc-room-setups.lc-hidden-setups:not(.show) {
      display: none; }
  .lc-room-full .lc-room-setups-wrapper .lc-room-setup-toggle {
    float: right;
    margin-bottom: 2rem; }

.lc-room-full .lc-room-details .room-field {
  margin-bottom: 10px; }

.lc-room-full .lc-reservation-week-display {
  display: flex; }

.lc-room-full .lc-reservation-week-display {
  margin: 0 20px;
  overflow: scroll; }
  @media (min-width: 64em) {
    .lc-room-full .lc-reservation-week-display {
      margin: 0;
      overflow: hidden; } }

.lc-room-full .lc-reservation-openings {
  flex: 1 1 0;
  max-width: 100%; }
  .lc-room-full .lc-reservation-openings h3 {
    padding: 10px;
    margin: 0;
    font-size: 18px;
    text-align: center;
    white-space: nowrap;
    border: 1px solid #d2d3d5;
    border-right: 0; }
  .lc-room-full .lc-reservation-openings.today h3 {
    background-color: #efefef; }
  .lc-room-full .lc-reservation-openings:first-of-type h3 {
    border-top-left-radius: 10px; }
  .lc-room-full .lc-reservation-openings:first-of-type .lc-reservation-openings-hours {
    border-bottom-left-radius: 10px; }
  .lc-room-full .lc-reservation-openings:first-of-type .lc-reservation-openings-hour:last-of-type .lc-reservation-openings-quarter:last-of-type {
    border-bottom-left-radius: 10px; }
  .lc-room-full .lc-reservation-openings .lc-reservation-openings-actions {
    line-height: 0; }
  .lc-room-full .lc-reservation-openings:last-of-type h3 {
    border-right: 1px solid #d2d3d5;
    border-top-right-radius: 10px; }
  .lc-room-full .lc-reservation-openings:last-of-type .lc-reservation-openings-hours {
    border-right: 1px solid #d2d3d5; }
  .lc-room-full .lc-reservation-openings:last-of-type .lc-reservation-openings-hours {
    border-bottom-right-radius: 10px; }
  .lc-room-full .lc-reservation-openings:last-of-type .lc-reservation-openings-hour:last-of-type .lc-reservation-openings-quarter:last-of-type {
    border-bottom-right-radius: 10px; }

.lc-room-full .lc-reservation-openings-hours {
  display: block;
  padding: 0;
  margin: 0;
  border-left: 1px solid #d2d3d5; }

.lc-room-full .lc-reservation-openings-hour {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start;
  margin: 0; }

.lc-room-full .lc-reservation-openings-time--hour {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 33.333%;
  margin-right: 0;
  margin-left: 0;
  clear: both; }

.lc-room-full .lc-reservation-openings-quarters {
  width: 100%;
  padding: 0;
  margin: 0;
  font-size: 14px;
  border-left: none; }

.lc-room-full .lc-reservation-openings-quarter {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: 5px;
  margin: 0;
  color: #778898;
  border-bottom: 1px solid #d2d3d5; }

.lc-room-full .lc-reservation-openings-quarter--blocked {
  background-color: #efefef; }

.lc-form--reserve-room-openings .form-submit {
  margin: 0; }

.lc-form--reserve-room-openings .lc-form__filters {
  float: none;
  width: 100%;
  padding: 0;
  background-color: transparent; }
  .lc-form--reserve-room-openings .lc-form__filters label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    border: 0; }
  .lc-form--reserve-room-openings .lc-form__filters .form-group {
    margin: 0; }
  .lc-form--reserve-room-openings .lc-form__filters .lc-reservation-date-container > .form-wrapper {
    display: flex;
    flex-wrap: wrap; }
    .lc-form--reserve-room-openings .lc-form__filters .lc-reservation-date-container > .form-wrapper .form-item-selected-date {
      margin-right: 10px; }
    .lc-form--reserve-room-openings .lc-form__filters .lc-reservation-date-container > .form-wrapper .form-date {
      height: 100%; }
    .lc-form--reserve-room-openings .lc-form__filters .lc-reservation-date-container > .form-wrapper .form-date::-webkit-inner-spin-button {
      margin: auto; }
    .lc-form--reserve-room-openings .lc-form__filters .lc-reservation-date-container > .form-wrapper .form-submit {
      margin-top: 0; }

.lc-form--reserve-room-openings .lc-form__filters-container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  border: 0;
  border-radius: 0; }

.lc-form--reserve-room-openings .lc-form__next,
.lc-form--reserve-room-openings .lc-form__last {
  display: block;
  width: 50px;
  height: 50px;
  margin: 20px 0;
  font-size: 0;
  background-image: url(../assets/dist/icons/chevron-left-black.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 65%; }

.lc-form--reserve-room-openings .lc-form__next {
  background-image: url(../assets/dist/icons/chevron-right-black.svg); }

.lc-reservation-openings-time {
  flex-grow: 1; }

.lc-reservation-openings-button {
  position: relative;
  width: 44px;
  height: 22px;
  padding: 0;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap; }
  .lc-reservation-openings-button::before, .lc-reservation-openings-button::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 4px;
    height: 12px;
    margin: auto;
    content: '';
    background-color: currentColor; }
  .lc-reservation-openings-button::after {
    width: 12px;
    height: 4px; }

.lc-reservation-openings-hide-text {
  width: 45px;
  height: 25px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  text-indent: 9999px;
  white-space: nowrap; }

.ie10 .lc-room--full .room-setups__image,
.ie11 .lc-room--full .room-setups__image {
  width: 100%; }
  .ie10 .lc-room--full .room-setups__image img,
  .ie11 .lc-room--full .room-setups__image img {
    margin: 0 auto; }

.ie10 .lc-room--full .room-setups__title,
.ie11 .lc-room--full .room-setups__title {
  width: 100%; }

/* Toggle Filters */
.lc-form__header {
  display: block;
  width: 100%; }
  .lc-form__header::after {
    display: table;
    clear: both;
    content: ''; }

.button.lc-form__toggle {
  float: none;
  width: 100%;
  padding: 10px;
  margin-right: 0;
  margin-bottom: 10px;
  margin-left: 0;
  clear: both;
  font-size: 18px;
  color: #fff;
  text-align: left;
  background-color: #00549f;
  background-image: none;
  border: 0;
  border-radius: 0; }
  @media (min-width: 64em) {
    .button.lc-form__toggle {
      float: left;
      width: 25%;
      margin-bottom: 0; } }
  .button.lc-form__toggle.active {
    margin-bottom: 0; }
  .button.lc-form__toggle::before {
    display: block;
    float: left;
    width: 40px;
    height: 20px;
    content: '';
    background-image: url("../assets/dist/icons/list.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain; }
  .button.lc-form__toggle:hover, .button.lc-form__toggle:focus {
    color: #fff;
    background-color: #31809f;
    background-image: none; }

.lc-form__filters {
  position: relative;
  display: block;
  float: none;
  width: 100%;
  padding: 10px 20px;
  margin: 0;
  margin-right: 0;
  margin-bottom: 20px;
  overflow: hidden;
  clear: left;
  color: #fff;
  background-color: #00549f; }
  .lc-form__filters select {
    color: #000; }
  @media (min-width: 64em) {
    .lc-form__filters {
      float: left;
      width: 25%; } }
  .lc-form__filters.collapsed {
    display: none; }

.form-type-date {
  color: #778898; }

.lc-form__filters-container {
  transition: all ease-in-out .25s; }
  .lc-form__filters-container .form-item,
  .lc-form__filters-container .form-actions {
    margin-top: 0;
    margin-bottom: 0; }
  .lc-form__filters-container .form-checkboxes .form-item,
  .lc-form__filters-container .form-radios .form-item {
    margin-top: 0;
    margin-bottom: 0; }
  .lc-form__filters-container details {
    border: 0; }
    .lc-form__filters-container details > div {
      padding: 5px 10px;
      color: #333;
      background-color: #fff; }
    .lc-form__filters-container details > summary {
      width: 100%;
      padding: 10px 0 5px 0;
      font-weight: 700;
      color: #fff;
      list-style: none;
      border-bottom: 2px solid #fff; }
      .lc-form__filters-container details > summary::-webkit-details-marker {
        display: none; }
      .lc-form__filters-container details > summary::after {
        display: block;
        float: right;
        width: 18px;
        height: 18px;
        content: '';
        background-image: url("../assets/dist/icons/chevron-circle-down.svg");
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain; }
  .lc-form__filters-container details[open] > summary::after {
    transform: rotate(180deg); }
  .lc-form__filters-container .fieldset-wrapper {
    padding: 5px 10px;
    overflow: hidden;
    color: #333;
    background-color: #fff; }
    .lc-form__filters-container .fieldset-wrapper.collapsed {
      max-height: 0;
      padding: 0 10px;
      overflow: hidden; }
  .lc-form__filters-container .lc-checkbox-wrapper {
    margin-bottom: 5px; }
  .lc-form__filters-container .form-group:not(.form-check) > label {
    font-weight: 700; }

.color-coding .lc-checkbox-wrapper .form-item {
  padding: 5px;
  background-color: #efefef;
  border-left: 5px solid #efefef; }

@media (min-width: 48em) {
  .lc-room__room-openings .lc-form__filters-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: flex-start; } }

.lc-room__room-openings .form-item {
  margin-right: 10px; }

.lc-room__room-openings .form-actions {
  padding-top: 10px; }
  @media (min-width: 48em) {
    .lc-room__room-openings .form-actions {
      padding-top: 23px; } }

.lc-room__room-openings .form-submit {
  margin-top: 0; }

.lc-room__room-openings .form-date {
  border: 1px solid #778898; }

.lc-room__room-openings .lc-form__filters {
  float: none;
  width: 100%;
  padding: 10px 0;
  background-color: transparent; }

.color-coding .lc-checkbox-wrapper--adult .form-item,
.color-coding .lc-checkbox-wrapper--adults .form-item {
  border-left-color: #0098db; }

.color-coding .lc-checkbox-wrapper--everyone .form-item {
  border-left-color: #007b69; }

.color-coding .lc-checkbox-wrapper--family .form-item,
.color-coding .lc-checkbox-wrapper--children .form-item {
  border-left-color: #903986; }

.color-coding .lc-checkbox-wrapper--infant .form-item,
.color-coding .lc-checkbox-wrapper--babies .form-item {
  border-left-color: #f3ec7a; }

.color-coding .lc-checkbox-wrapper--kids .form-item {
  border-left-color: #fed100; }

.color-coding .lc-checkbox-wrapper--preschool .form-item {
  border-left-color: #d7a900; }

.color-coding .lc-checkbox-wrapper--school-age .form-item {
  border-left-color: #f68d74; }

.color-coding .lc-checkbox-wrapper--teen .form-item,
.color-coding .lc-checkbox-wrapper--teens .form-item {
  border-left-color: #e05554; }

.color-coding .lc-checkbox-wrapper--toddler .form-item {
  border-left-color: #c23736; }

.color-coding .lc-checkbox-wrapper--toddler-one .form-item {
  border-left-color: #35bcac; }

.lc-form .hide-filter {
  display: none !important; }

.mfp-wrap .mfp-inline-holder .mfp-content {
  width: 100%; }
  @media (min-width: 48em) {
    .mfp-wrap .mfp-inline-holder .mfp-content {
      width: auto; } }

.lc-event-actions__list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  flex-grow: 1;
  align-items: stretch;
  padding: 0;
  margin: 5px 0; }

.lc-event-actions__item {
  flex: none;
  width: auto;
  min-width: 0;
  margin-right: 10px;
  margin-bottom: 10px;
  font-size: 12px;
  list-style-type: none; }
  .lc-event-actions__item a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 5px 10px;
    margin: 0;
    color: #fff;
    background-color: #00549f; }
    .lc-event-actions__item a:hover, .lc-event-actions__item a:focus {
      color: #fff; }

.lc-event-actions__container {
  background-color: #fff; }
  .lc-event-actions__container .header {
    padding: 20px 10px;
    color: #fff;
    background-color: #00549f; }
    .lc-event-actions__container .header h2 {
      margin: 0; }
  .lc-event-actions__container .body {
    padding: 10px 20px; }
  .lc-event-actions__container .links {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center; }
  .lc-event-actions__container ul {
    padding: 0;
    margin: 0; }
  .lc-event-actions__container li {
    display: block;
    float: left;
    padding: 0;
    margin: 0;
    list-style-type: none; }
    .lc-event-actions__container li.messages__item {
      float: none;
      clear: both; }
  .lc-event-actions__container a {
    display: inline-block;
    padding: 5px 10px;
    margin: 0 10px 10px 0;
    color: #fff;
    background-color: #00549f;
    border-radius: 10px; }
    @media (min-width: 64em) {
      .lc-event-actions__container a {
        margin-top: 10px;
        margin-bottom: 0; } }
    .lc-event-actions__container a:hover, .lc-event-actions__container a:focus {
      color: #fff; }

.white-popup .mfp-close {
  width: 64px;
  height: 64px;
  color: #fff;
  background-color: #0098db;
  opacity: 1;
  transition: background ease-in-out .25s; }
  .white-popup .mfp-close:hover, .white-popup .mfp-close:focus {
    background-color: #00549f; }
  .white-popup .mfp-close:active {
    top: 0; }

.white-popup .lc-event-actions__icon {
  position: relative;
  top: 3px;
  width: 17px;
  height: 17px;
  background-size: 17px; }

.lc-event-actions__social-icon a {
  width: 60px;
  height: 60px;
  padding: 0;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 40px; }

.lc-event-actions__icon {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 0;
  background-position: center;
  background-size: 16px; }
  @media (min-width: 27.5em) {
    .lc-event-actions__icon {
      margin-right: 10px; } }

.lc-event-actions__text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px); }
  @media (min-width: 27.5em) {
    .lc-event-actions__text {
      position: static;
      width: auto;
      height: auto;
      overflow: auto;
      clip: auto; } }

.lc-event-actions__icon--calendar {
  background-image: url("../assets/dist/icons/calendar.svg"); }

.lc-event-actions__icon--print {
  background-image: url("../assets/dist/icons/print.svg"); }

.lc-event-actions__icon--share {
  background-image: url("../assets/dist/icons/mail-forward.svg"); }

.lc-event-actions__icon--google,
.lc-event-actions__icon--ical {
  background-image: url("../assets/dist/icons/google.svg"); }

.lc-event-actions__icon--reminder {
  background-image: url("../assets/dist/icons/clock-o.svg"); }

.lc-event-actions__icon--pencil {
  background-image: url("../assets/dist/icons/pencil-square-o.svg"); }

.lc-event-actions__social-icon--facebook a {
  background-image: url("../assets/dist/icons/facebook.svg"); }

.lc-event-actions__social-icon--twitter a {
  background-image: url("../assets/dist/icons/twitter.svg"); }

.lc-event-actions__social-icon--linkedin a {
  background-image: url("../assets/dist/icons/linkedin.svg"); }

.lc-event-actions__social-icon--email a {
  background-image: url("../assets/dist/icons/envelope.svg"); }

#attendance-fieldset-wrapper .lc-form__flex-wrapper {
  align-items: stretch;
  padding-bottom: 5px;
  margin-bottom: 10px; }

#attendance-fieldset-wrapper .form-item,
#attendance-fieldset-wrapper .form-actions {
  margin-top: 0; }

#attendance-fieldset-wrapper .form-select,
#attendance-fieldset-wrapper .form-text,
#attendance-fieldset-wrapper .lc-form__remove {
  min-height: 30px;
  margin: 2px 0;
  border-color: #d2d3d5;
  border-radius: 5px; }

#attendance-fieldset-wrapper .form-select,
#attendance-fieldset-wrapper .lc-form__remove {
  background-color: #efefef;
  transition: background ease-in-out 250ms; }
  #attendance-fieldset-wrapper .form-select:hover, #attendance-fieldset-wrapper .form-select:focus,
  #attendance-fieldset-wrapper .lc-form__remove:hover,
  #attendance-fieldset-wrapper .lc-form__remove:focus {
    background-color: #efefef; }

#attendance-fieldset-wrapper .form-select {
  padding: 0 5px;
  padding-right: 1.2rem;
  background-image: url("../assets/dist/icons/angle-down-black.svg");
  background-repeat: no-repeat;
  background-position: center right;
  background-size: 1.3rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }

#attendance-fieldset-wrapper .lc-form__remove {
  margin-left: 10px;
  background-image: none; }

.block-lc-branch-select {
  width: 100%; }
  .block-lc-branch-select h2 {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px); }
    @media (min-width: 64em) {
      .block-lc-branch-select h2 {
        position: relative;
        width: 100%;
        height: 100%;
        overflow: visible; } }

.lc-branch-select__wrapper {
  width: 100%;
  max-height: 0;
  overflow: hidden;
  transition: all ease-in-out 250ms; }
  @media (min-width: 64em) {
    .lc-branch-select__wrapper {
      max-height: 100% !important;
      overflow: visible; } }

.lc-branch-select__wrapper--open {
  max-height: 100% !important;
  overflow: visible; }

.lc-branch-select__select-input {
  width: 100%;
  padding-right: 20px;
  margin-bottom: 10px;
  color: #fff;
  background-color: #0098db;
  background-image: url("../assets/dist/icons/angle-down.svg"), none;
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 25px;
  border: none;
  border-radius: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }

.lc-branch-select-disabled {
  background-image: none; }
  .lc-branch-select-disabled::before, .lc-branch-select-disabled::after {
    content: none !important; }

.lc-branch-select__branch.active-branch {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start; }

.lc-branch-select__address,
.lc-branch-select__hours {
  width: 50%; }

.lc-branch-select__address {
  padding: 5px 10px;
  padding-left: 0; }

.lc-branch-select__hours {
  padding: 5px 10px;
  border: 1px solid #efefef; }

.js-hours-toggle {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 100;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  order: 0;
  padding: 5px;
  font-size: 10px;
  color: #fff;
  text-transform: uppercase;
  background-color: #00549f;
  border-radius: 4px; }
  .js-hours-toggle:hover, .js-hours-toggle:focus, .js-hours-toggle:active {
    background-color: #0098db;
    outline: none; }
  @media (min-width: 64em) {
    .js-hours-toggle {
      display: none; } }

.hours-toggle__icon {
  padding: 0;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  position: relative;
  top: 0;
  z-index: 100;
  display: block;
  width: 24px;
  height: 24px;
  margin: 0 auto;
  margin-bottom: 2.5px;
  font-size: 16px;
  color: #fff;
  background-color: #00549f;
  border-radius: 35px;
  box-shadow: inset 0 0 0 10px #fff; }
  .hours-toggle__icon:hover, .hours-toggle__icon:focus {
    outline: none; }
  .hours-toggle__icon::before, .hours-toggle__icon::after {
    position: absolute;
    top: -7px;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 2px;
    height: 7px;
    margin: auto;
    content: ' ';
    background-color: #00549f;
    border-radius: 4px;
    transition: all ease-in-out .1s;
    transition: transform cubic-bezier(0.42, 0, 0.19, 1.35) 0.75s;
    transform: rotate(0deg);
    transform-origin: bottom; }
  .hours-toggle__icon::before {
    top: -10px;
    height: 10px; }
  .hours-toggle__icon::after {
    transform: rotate(45deg); }
  .hours-toggle__icon.open::before {
    transform: rotate(540deg); }
  .hours-toggle__icon.open::after {
    transform: rotate(135deg); }

.lc-branch-select__collapse-button:hover, .lc-branch-select__collapse-button:focus {
  outline: none; }

.lc-branch-select__collapsed-wrapper {
  display: none; }
  .lc-branch-select__collapsed-wrapper.open {
    display: block; }

.layout__section--announcements {
  width: 100%; }
  .layout__section--announcements .views-field-title {
    font-size: 22px; }

.braintree-method .braintree-method__check {
  padding: 0 10px; }
  .braintree-method .braintree-method__check svg {
    height: inherit; }

#lc-payment-button {
  margin-bottom: 20px; }

.lc-fees,
.lc-fees__fee {
  padding: 0;
  margin: 0;
  list-style-type: none; }

.lc-fees__fee {
  display: flex;
  flex-direction: row;
  align-items: bottom;
  justify-content: space-between;
  padding: 5px 0;
  font-size: 12px;
  border-top: 1px solid #d2d3d5; }
  .lc-fees__fee:first-child {
    border-top: none; }

.lc-fees__fee--total {
  font-size: 18px;
  border-bottom: 2px solid #000; }

.lc-registration-list .item-list li {
  padding-bottom: 10px;
  margin: 0;
  margin-bottom: 10px;
  list-style-type: none;
  border-bottom: 2px solid #778898; }
  .lc-registration-list .item-list li:last-child {
    border-bottom: none; }

.lc-registration-list .registration-wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start; }

.lc-registration-list .registration__items {
  width: 100%;
  margin-bottom: 10px; }
  @media (min-width: 48em) {
    .lc-registration-list .registration__items {
      width: 33.333%; } }
  @media (min-width: 64em) {
    .lc-registration-list .registration__items {
      width: 25%; } }

@media (min-width: 48em) {
  .lc-registration-list .registration__items--contact-info {
    padding-right: 20px; } }

@media (min-width: 48em) {
  .lc-registration-list .registration__items--registrant-info {
    padding: 0 10px; } }

@media (min-width: 48em) {
  .lc-registration-list .registration__items--event-info {
    padding-left: 20px; } }

.lc-registration-list .registration__items--special {
  width: 100%; }

.lc-registration-list .registration-item--name {
  width: 100%;
  font-size: 22px;
  font-weight: 700; }

.lc-event__registration-list tbody tr {
  border-bottom: 1px solid #999; }
  .lc-event__registration-list tbody tr .dropbutton-multiple {
    padding-right: 0; }

.lc-event__registration-list tbody tr:nth-child(even) {
  background-color: #f1f1f1; }

.form-item-reg-save-state {
  padding: 10px;
  border: 1px solid #d2d3d5;
  border-radius: 5px; }

.lc-registrant-heading {
  margin-top: 20px;
  margin-bottom: 20px; }

.lc-registrant-subheading {
  margin-bottom: 20px; }

.lc-registration-field {
  margin-bottom: 10px; }

.field--name-field-lc-registration-reference {
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 1px solid #d2d3d5; }

.lc-closing-location__address:not(:last-child) {
  padding-bottom: 20px; }

@media print {
  * {
    color: #000 !important;
    background: transparent !important; }
  /**
 * Calendar month display.
 *
 * All padding and font-sizes in the month display
 * should uses em units (not rem or px), as defined
 * in the calendar component's local variables partial.
 * The reasoning for that is so that font-sizes can be
 * defined relative to each other, and then the overall
 * font/padding sizes of the calendar can be adjusted
 * proportionally while only modifying the root font
 * size on the .calendar--month container.
 */
  .calendar--month {
    font-size: 12px;
    background-color: #fff; }
    .calendar--month .mobile-hide {
      position: relative !important;
      width: auto;
      height: auto;
      overflow: visible;
      clip: auto; }
    .calendar--month .event-card {
      position: relative; }
    .calendar--month .lc-event__registration-icon,
    .calendar--month .lc-event__registration-payment-icon {
      margin-right: 0; }
  .calendar__week .event-card__title,
  .calendar__week .event-card__details,
  .calendar__week .event-card__room {
    position: relative !important;
    width: auto;
    width: 100%;
    height: auto;
    overflow: visible;
    clip: auto; }
  .calendar--month .node--type-lc-closing,
  .calendar__week .node--type-lc-closing {
    border: 3px solid #e05554; }
  .calendar--month .node--type-lc-reservation,
  .calendar__week .node--type-lc-reservation {
    border: 3px solid #007b69; }
  .calendar--month .all-day,
  .calendar__week .all-day {
    border: 3px solid #0098db; }
  .calendar--month .private-event,
  .calendar__week .private-event {
    border: 3px solid #31809f; }
  .calendar--month .has-conflict,
  .calendar__week .has-conflict {
    border: 3px solid #903986; }
  a.calendar__day--current {
    color: #fff;
    background-color: #778898;
    transition: background ease-in-out 250ms; }
  /**
 * Header and pager
 *
 * The header and pager use flexbox to
 * layout and vertically center the header
 * items.
 */
  .calendar__month-pager {
    display: flex;
    flex: 1;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    width: auto;
    max-width: 600px;
    padding: 10px 0;
    margin: 0 auto;
    text-align: center; }
  .calendar__wrap--header {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-end;
    justify-content: flex-end;
    width: 100%; }
  .calendar__wrap--header,
  .calendar__wrap--title {
    font-size: 14px; }
    .calendar__wrap--header .calendar__title h2,
    .calendar__wrap--title .calendar__title h2 {
      margin: 0;
      font-size: 16px; }
  .calendar__wrap--title {
    display: block; }
  .calendar__pager {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    line-height: 1; }
    .calendar__pager::before {
      padding: 0;
      content: ''; }
  .calendar__title {
    order: 1;
    margin: 0;
    text-transform: uppercase; }
  .button.calendar__pager--left,
  .button.calendar__pager--right {
    display: block;
    width: 30px;
    height: 30px;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    background-color: #00549f;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 20px;
    border-radius: 5px;
    transition: background ease-in-out .25s; }
  .button.calendar__pager--left {
    order: 0;
    background-image: url("../assets/dist/images/pager-arrow-prev.svg"); }
  .button.calendar__pager--right {
    order: 2;
    background-image: url("../assets/dist/images/pager-arrow-next.svg"); }
  /**
 * Grid styling
 *
 * The grid styling for the single-day event
 * cells uses flexbox containers for the row
 * and 1/7 of the container for the width on
 * each item. The first item in the row is
 * always the multi-day event cell, which is 100%
 * wide, and uses it's own grid to control
 * layout for multi-day events.
 */
  .calendar__wrap--grid {
    position: relative;
    border: 2px solid #d1d1d1; }
  .calendar__row--header,
  .calendar__row--content,
  .calendar__numbers {
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: flex-start; }
  .calendar__row--footer {
    display: block; }
  .calendar__day,
  .calendar__day--number {
    position: relative;
    width: 14.28571%;
    padding: 5px; }
  .calendar__day--multi {
    width: 100%; }
    .calendar__day--multi .event-card {
      border: 2px solid #000; }
  .calendar__day {
    min-height: 25px;
    background-color: #fff; }
  .calenar__day--number {
    min-height: 0; }
  .calendar__day--header {
    min-height: 0;
    text-align: center; }
  .calendar__day--blank {
    display: block; }
  .calendar__row--content .calendar__day--blank {
    min-height: 5rem; }
  .calendar__day--outside {
    background-color: #efefef; }
  /**
 * Calendar borders
 *
 * External borders are wrapped around the
 * .calendar__week element, while internal borders
 * are absolutely positioned empty divs.
 */
  .calendar__week {
    position: relative;
    padding-top: 25px;
    border-top: 2px solid #d1d1d1; }
  .calendar__week--empty {
    display: block; }
  .calendar__bar {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    display: block;
    width: 1px;
    height: 100%;
    color: #d1d1d1;
    box-shadow: inset 0 0 0 1px, -1px 0 0 0;
    opacity: .25; }
  .calendar__bar--1 {
    left: 14.28571%; }
  .calendar__bar--2 {
    left: 28.57143%; }
  .calendar__bar--3 {
    left: 42.85714%; }
  .calendar__bar--4 {
    left: 57.14286%; }
  .calendar__bar--5 {
    left: 71.42857%; }
  .calendar__bar--6 {
    left: 85.71429%; }
  /**
 * Link overlays
 *
 * Each day in the calendar has an associated list of days
 * that is stored below the calendar that contains more
 * information. To access this information, there are link
 * overlays positioned absolutely above the day cells.
 */
  .calendar__numbers {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 15;
    width: 100%;
    height: 20px;
    font-size: 11px;
    line-height: 1; }
  .calendar__number-day--multi {
    position: absolute !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px); }
  /**
 * Multi-day grids
 *
 * Unlike the regular grid cells for the calendar, which
 * use flexbox, the multi-day grids use Singularity GS's
 * float grid-spans so that they can start at arbitrary
 * points within the grid. Clearing has to be applied
 * manually via a clear class, applied when the template
 * is first generated.
 */
  .calendar__day--multi {
    width: 100%;
    background-color: #f9f9f9; }
    .calendar__day--multi::after {
      display: table;
      clear: both;
      content: ''; }
  .calendar__day-span--1-1 {
    float: left;
    width: 14.28571%;
    margin-right: -100%;
    margin-left: 0;
    clear: none; }
  .calendar__day-span--1-7 {
    float: right;
    width: 14.28571%;
    margin-right: 0;
    margin-left: 0;
    clear: none; }
  .calendar__day-span--2-1 {
    float: left;
    width: 28.57143%;
    margin-right: -100%;
    margin-left: 0;
    clear: none; }
  .calendar__day-span--2-2 {
    float: left;
    width: 28.57143%;
    margin-right: -100%;
    margin-left: 14.28571%;
    clear: none; }
  .calendar__day-span--2-3 {
    float: left;
    width: 28.57143%;
    margin-right: -100%;
    margin-left: 28.57143%;
    clear: none; }
  .calendar__day-span--2-4 {
    float: left;
    width: 28.57143%;
    margin-right: -100%;
    margin-left: 42.85714%;
    clear: none; }
  .calendar__day-span--2-5 {
    float: left;
    width: 28.57143%;
    margin-right: -100%;
    margin-left: 57.14286%;
    clear: none; }
  .calendar__day-span--2-6 {
    float: right;
    width: 28.57143%;
    margin-right: 0;
    margin-left: 0;
    clear: none; }
  .calendar__day-span--3-1 {
    float: left;
    width: 42.85714%;
    margin-right: -100%;
    margin-left: 0;
    clear: none; }
  .calendar__day-span--3-2 {
    float: left;
    width: 42.85714%;
    margin-right: -100%;
    margin-left: 14.28571%;
    clear: none; }
  .calendar__day-span--3-3 {
    float: left;
    width: 42.85714%;
    margin-right: -100%;
    margin-left: 28.57143%;
    clear: none; }
  .calendar__day-span--3-4 {
    float: left;
    width: 42.85714%;
    margin-right: -100%;
    margin-left: 42.85714%;
    clear: none; }
  .calendar__day-span--3-5 {
    float: right;
    width: 42.85714%;
    margin-right: 0;
    margin-left: 0;
    clear: none; }
  .calendar__day-span--4-1 {
    float: left;
    width: 57.14286%;
    margin-right: -100%;
    margin-left: 0;
    clear: none; }
  .calendar__day-span--4-2 {
    float: left;
    width: 57.14286%;
    margin-right: -100%;
    margin-left: 14.28571%;
    clear: none; }
  .calendar__day-span--4-3 {
    float: left;
    width: 57.14286%;
    margin-right: -100%;
    margin-left: 28.57143%;
    clear: none; }
  .calendar__day-span--4-4 {
    float: right;
    width: 57.14286%;
    margin-right: 0;
    margin-left: 0;
    clear: none; }
  .calendar__day-span--5-1 {
    float: left;
    width: 71.42857%;
    margin-right: -100%;
    margin-left: 0;
    clear: none; }
  .calendar__day-span--5-2 {
    float: left;
    width: 71.42857%;
    margin-right: -100%;
    margin-left: 14.28571%;
    clear: none; }
  .calendar__day-span--5-3 {
    float: right;
    width: 71.42857%;
    margin-right: 0;
    margin-left: 0;
    clear: none; }
  .calendar__day-span--6-1 {
    float: left;
    width: 85.71429%;
    margin-right: -100%;
    margin-left: 0;
    clear: none; }
  .calendar__day-span--6-2 {
    float: right;
    width: 85.71429%;
    margin-right: 0;
    margin-left: 0;
    clear: none; }
  .calendar__day-span--7-1 {
    float: right;
    width: 100%;
    margin-right: 0;
    margin-left: 0;
    clear: none; }
  .calendar__day-span {
    display: block; }
  .calendar__day-span--clear {
    clear: both; }
  /**
 * Calendar List Styling
 *
 * In addition to the 30-day grid, there's a list view
 * for easier usage on mobile that appears below the
 * normal 30-day calendar. It's brought up a fixed
 * position whenever the user touches it's associated
 * day on the calendar grid.
 */
  .calendar__day-header {
    display: none; }
  .calendar__mobile-list {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    max-width: 100%;
    padding: 15px;
    overflow-y: auto;
    background-color: rgba(255, 255, 255, 0.95);
    transition: all 250ms ease-in-out;
    transform: scale(0); }
    .calendar__mobile-list.list {
      z-index: 50;
      transform: scale(1); }
    .calendar__mobile-list .event-card--sparse .time--end,
    .calendar__mobile-list .event-card--sparse .time--separator {
      position: relative !important;
      width: auto;
      height: auto;
      overflow: visible;
      clip: auto; }
    .calendar__mobile-list .event-card--sparse .time--start .event-card__day--inline,
    .calendar__mobile-list .event-card--sparse .time--start .event-card__separator {
      position: relative !important;
      width: auto;
      height: auto;
      overflow: visible;
      clip: auto; }
  .calendar__list,
  .calendar__list-item,
  .calendar__list--day,
  .calendar__list-item--day {
    padding: 0;
    margin: 0;
    list-style-type: none; }
  .calendar__list-item {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 15px 0;
    border-bottom: 2px solid #d1d1d1; }
  .calendar__list-title {
    padding-right: 8px;
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    text-align: center; }
  .calendar__list--day {
    flex-grow: 1; }
  .kids {
    color: #fff;
    background-color: #ffbd0a;
    border-color: #e19f00; }
    .kids a:hover {
      color: #4aaca2; }
    .kids h2,
    .kids h3,
    .kids h4 {
      color: #fff; }
  .teens {
    color: #fff;
    background-color: #3d4246;
    border-color: #1f2428; }
    .teens h2,
    .teens h3,
    .teens h4 {
      color: #fff; }
  .adult {
    color: #fff;
    background-color: #4aaca2;
    border-color: #2c8e84; }
    .adult h2,
    .adult h3,
    .adult h4 {
      color: #fff; }
    .adult a {
      color: #57b7df; }
      .adult a:focus, .adult a:hover, .adult a:active {
        color: #ffbd0a;
        text-decoration: none; }
  .calendar-picker {
    position: relative;
    display: block; }
  .calendar-picker-title {
    position: relative;
    z-index: 20;
    display: block; }
  .calendar-picker-input {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    display: block;
    height: auto;
    opacity: 0; }
    .calendar-picker.active .calendar-picker-input {
      opacity: 1;
      transition: transform ease-in-out .25s, opacity ease-in-out .25s;
      transform: translate3d(0, 100%, 0); }
  .calendar__menu-tasks {
    display: none; }
  .lc-event__event-details h3 {
    font-size: 11px !important; }
  .lc-event__link {
    text-transform: none !important; }
  .lc-event__date {
    font-size: 9px; }
  .lc-event.desktop-hide {
    display: none; }
  .lc-event__key {
    font-size: 9px; }
  .announcement {
    display: none; }
  .lc-event-actions,
  .lc-event__month-details,
  .lc-event__registration-list,
  .lc-repeating-dates__toggle-icon,
  .lc-repeating-dates,
  .lc-event-location-map,
  .lc-event-branch-image,
  .scroll-info,
  .tooltip,
  .lc-event-registrant-list-title,
  .lc-event-location__email {
    display: none; }
  .tooltip {
    visibility: hidden; }
  .lc-event__wrapper {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start; }
    .lc-event__wrapper p,
    .lc-event__wrapper .lc-messages,
    .lc-event__wrapper .lc-event__categories,
    .lc-event__wrapper .lc-event-info,
    .lc-event__wrapper .lc-event-location__address,
    .lc-event__wrapper .lc-event__info-item {
      font-size: 11px; }
  .lc-address__name,
  .lc-event__subtitle {
    font-size: 13px !important; }
  h3.lc-event__subtitle.lc-address__name {
    line-height: 1; }
  .lc-event__sidebar--first {
    width: 25%; }
  .lc-repeating-dates__toggle {
    width: inherit;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1; }
  .lc-repeating-dates__wrapper {
    max-height: 100% !important; }
  .lc-repeating-dates__list {
    display: block;
    width: inherit; }
  .lc-repeating-dates__link {
    padding: 2px 0 !important;
    text-align: left; }
  .lc-repeating-dates__item {
    width: inherit;
    margin: 0; }
  .lc-event__content {
    width: 75%; }
    .lc-event__content .lc-form {
      display: none; }
  .lc-messages,
  .lc-messages__message {
    padding: 0 !important;
    border: 0 !important; }
  .lc-print-row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -10px;
    margin-left: -10px; }
  .lc-print-column {
    position: relative;
    width: 100%;
    padding-right: 10px;
    padding-left: 10px;
    flex: 0 0 50%;
    max-width: 50%; }
  .lc-event-wrapper .lc-event-sidebar,
  .lc-event-wrapper .lc-event-content {
    flex: 0 0 100%;
    max-width: 100%; }
  .lc-event__categories {
    margin-bottom: 10px; }
  .lc-messages {
    margin-bottom: 10px; }
  .lc-form__header,
  .lc-form__filters {
    display: none; }
  .lc-registration-list .item-list li {
    padding-bottom: 0;
    margin-bottom: 5px; }
  .lc-registration-list .registration__items {
    width: 25%;
    margin-bottom: 5px;
    font-size: 10px; }
    .lc-registration-list .registration__items p {
      margin-bottom: 5px; }
  .lc-registration-list .registration__items--contact-info {
    padding-right: 20px; }
  .lc-registration-list .registration__items--registrant-info {
    padding: 0 10px; }
  .lc-registration-list .registration__items--event-info {
    padding-left: 20px; }
  .lc-registration-list .registration__items--special {
    width: 100%; }
  .lc-registration-list .registration-item--name {
    font-size: 14px; }
  .lc-registration-print-btn {
    display: none !important; }
  .button__print {
    display: none !important; }
  .view-filters {
    display: none; }
  .region-highlighted {
    display: none; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJhc2UvYmFzZS9fYmFzZS5zY3NzIiwidXRpbHMvX2NvbG9ycy5zY3NzIiwidXRpbHMvX3ZhcmlhYmxlcy5zY3NzIiwidXRpbHMvX3R5cG9ncmFwaHkuc2NzcyIsInZlbmRvci9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvX2JyZWFrcG9pbnQuc2NzcyIsImJhc2UvdHlwb2dyYXBoeS9fdHlwb2dyYXBoeS5zY3NzIiwiY29tcG9uZW50cy9jYWxlbmRhci9fY2FsZW5kYXIuc2NzcyIsInN0eWxlcy5jc3MiLCJ1dGlscy9fbWl4aW5zLnNjc3MiLCJjb21wb25lbnRzL2NhbGVuZGFyLW1vbnRoL19jYWxlbmRhci1tb250aC5zY3NzIiwiY29tcG9uZW50cy9jYWxlbmRhci13ZWVrL19jYWxlbmRhci13ZWVrLnNjc3MiLCJjb21wb25lbnRzL2NhbGVuZGFyLWRheS9fY2FsZW5kYXItZGF5LnNjc3MiLCJjb21wb25lbnRzL2xjLW1lbnUtdGFza3MvX2xjLW1lbnUtdGFza3Muc2NzcyIsImNvbXBvbmVudHMvbGMtbWVzc2FnZXMvX2xjLW1lc3NhZ2VzLnNjc3MiLCJjb21wb25lbnRzL2RhdGUtaWNvbi9fZGF0ZS1pY29uLnNjc3MiLCJjb21wb25lbnRzL2V2ZW50LWNhcmQvX2V2ZW50LWNhcmQuc2NzcyIsImNvbXBvbmVudHMvbGMtYnJhbmNoLW1vZGFsL19sYy1icmFuY2gtbW9kYWwuc2NzcyIsImNvbXBvbmVudHMvbGMtZmVhdHVyZWQtZXZlbnRzL19sYy1mZWF0dXJlZC1ldmVudHMuc2NzcyIsImNvbXBvbmVudHMvbGMtZm9ybS9fbGMtZm9ybS5zY3NzIiwiY29tcG9uZW50cy9sYy1ldmVudC9fbGMtZXZlbnQuc2NzcyIsImNvbXBvbmVudHMvbGMtZXZlbnQvX2xjLWV2ZW50LS1mdWxsLnNjc3MiLCJjb21wb25lbnRzL3Jlc2VydmF0aW9ucy9fcmVzZXJ2YXRpb25zLnNjc3MiLCJjb21wb25lbnRzL2xjLWZvcm0tZmlsdGVycy9fbGMtZm9ybS1maWx0ZXJzLnNjc3MiLCJjb21wb25lbnRzL2xjLWV2ZW50LWFjdGlvbnMvX2xjLWV2ZW50LWFjdGlvbnMuc2NzcyIsImNvbXBvbmVudHMvbGMtYnJhbmNoLXNlbGVjdC9fbGMtYnJhbmNoLXNlbGVjdC5zY3NzIiwiY29tcG9uZW50cy9sYy1hbm5vdW5jZW1lbnRzL19sYy1hbm5vdW5jZW1lbnRzLnNjc3MiLCJjb21wb25lbnRzL2xjLXBheW1lbnRzL19sYy1wYXltZW50cy5zY3NzIiwiY29tcG9uZW50cy9sYy1mZWVzL19sYy1mZWVzLnNjc3MiLCJjb21wb25lbnRzL2xjLXJlZ2lzdHJhdGlvbnMvX2xjLXJlZ2lzdHJhdGlvbnMuc2NzcyIsImNvbXBvbmVudHMvbGMtY2xvc2luZy9fbGMtY2xvc2luZy5zY3NzIiwicHJpbnQuc2NzcyIsImJhc2UvYmFzZS9fYmFzZS5wcmludC5zY3NzIiwiY29tcG9uZW50cy9jYWxlbmRhci9fY2FsZW5kYXIucHJpbnQuc2NzcyIsImNvbXBvbmVudHMvZXZlbnQtY2FyZC9fZXZlbnQtY2FyZC5wcmludC5zY3NzIiwiY29tcG9uZW50cy9sYy1hbm5vdW5jZW1lbnRzL19sYy1hbm5vdW5jZW1lbnRzLnByaW50LnNjc3MiLCJjb21wb25lbnRzL2xjLWV2ZW50L19sYy1ldmVudC5wcmludC5zY3NzIiwiY29tcG9uZW50cy9sYy1mb3JtLWZpbHRlcnMvX2xjLWZvcm0tZmlsdGVycy5wcmludC5zY3NzIiwiY29tcG9uZW50cy9sYy1yZWdpc3RyYXRpb25zL19sYy1yZWdpc3RyYXRpb25zLnByaW50LnNjc3MiLCJjb21wb25lbnRzL2xjLXJlcG9ydHMvX2xjLXJlcG9ydHMucHJpbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGVBQWU7RUFDZixNQUFNO0VBQ04sUUFBUTtFQUNSLFNBQVM7RUFDVCxPQUFPO0VBQ1AsYUFBYTtFQUNiLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsdUJBQXVCO0VBQ3ZCLDhCQzBDWSxFQUFBOztBRHZDZDtFQUNFLHNCQUFzQjtFQUN0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QjtJQUNyQixvQkFBb0I7SUFDcEIsY0FBYyxFQUFBO0VmOERoQjtJZTFERSwyQkFBMkIsRUFBQTtFZmdFN0I7SWU1REUsY0FBYztJQUNkLGNBQWMsRUFBQTtFZitFaEI7SWUzRUUseUJBQXlCO0lBQ3pCLGdCQUFnQixFQUFBO0VmK0RsQjtJZTNERSxjQUFjO0lBQ2QsU0FBUyxFQUFBO0VBSVg7SUFDRSxVQUFVLEVBQUE7SUFEWjtNQUlJLGFBQWEsRUFBQTtFQUlqQjs7SUFFRSxxQkFBcUI7SUFDckIsb0JBQW9CLEVBQUE7RUFHdEI7STNCa0pFLGFBQWE7SUFDYixlQUFlO0lBQ2YsbUJOaE9lO0lNaU9mLGtCTmpPZSxFQUFBO0VpQ2dGakI7STNCc0pFLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsbUJOeE9lO0lNeU9mLGtCTnpPZTtJTThPZixhQUFzQztJQUN0QyxjQUF1QyxFQUFBO0VZNEh6Qzs7SVo3SEUsY0FBc0M7SUFDdEMsZUFBdUMsRUFBQTtFWXJHekM7SWU3Q0UsbUJqQzdGZSxFQUFBO0VpQ2dHakI7SUFDRSxtQmpDakdlLEVBQUE7RWtDZGpCOztJQUVFLGFBQWEsRUFBQTtFUkRmO0lTRUksaUJBQWlCO0lBQ2pCLGtCbkNTWSxFQUFBO0UwQlpoQjtJU09JLFVBQVU7SUFDVixrQm5DSVk7SW1DSFosZUFBZSxFQUFBO0lBVG5CO01BWU0sa0JuQ0FVLEVBQUE7RTBCWmhCO0lTaUJJLG1CbkNIYSxFQUFBO0UwQmRqQjtJU3FCSSxlbkNSYSxFQUFBO0UwQmJqQjtJU3lCSSxrQm5DWGEsRUFBQTtFMEJkakI7SVM2QkksV0FBVyxFQUFBO0VUN0JmO0lTaUNJLGVsQ0dZLEVBQUE7RWtDQ2hCO0lBQ0Usd0JBQXdCLEVBQUE7RUN2QzFCO0lBQ0Usd0JBQXdCLEVBQUE7RUFHMUI7SUFDRSxhQUFhLEVBQUE7RUFHZjtJQUNFLGFBQWEsRUFBQSxFQUNkIiwiZmlsZSI6InN0eWxlcy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubWljcm9tb2RhbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwNTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiByZ2JhKGNvbG9yKGJsYWNrLCBiYXNlKSwgLjYpO1xufVxuXG4ubWljcm9tb2RhbC1jb250YWluZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXgtd2lkdGg6IDkwMHB4O1xuICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgcGFkZGluZzogJHBhZGRpbmctbWQ7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlLCBiYXNlKTtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yZC1zbTtcbn1cblxuLm1pY3JvbW9kYWwtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMDtcbn1cblxuLm1pY3JvbW9kYWwtdGl0bGUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ubWljcm9tb2RhbC1jbG9zZSB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBmb250LXNpemU6ICRmb250LWItc207XG4gIGNvbG9yOiBjb2xvcihibGFjaywgbGlnaHQpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuXG4ubWljcm9tb2RhbC1oZWFkZXIgLm1pY3JvbW9kYWwtY2xvc2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXDI3MTUnO1xufVxuXG4ubWljcm9tb2RhbC1jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogJHBhZGRpbmctbWQ7XG59XG5cbi5taWNyb21vZGFsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1pY3JvbW9kYWwuaXMtb3BlbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubGMtbGluay1uby13cmFwIHtcbiAgd29yZC1icmVhazogYnJlYWstYWxsO1xufVxuXG4vLy8gRmFsbGJhY2sgY29sb3IgY2xhc3NlcyBmb3Igd2hlbiBCb290c3RyYXAgaXNuJ3QgcHJlc2VudC4gVGhlc2Ugd2lsbCBhbHdheXNcbi8vLyBiZSBvdmVycmlkZGVuIGJlY2F1c2UgQm9vdHN0cmFwIHVzZXMgIWltcG9ydGFudCBmb3IgdGhlc2UgdXRpbGl0aWVzLlxuLmxjLXRleHQtc3VjY2VzcyB7XG4gIGNvbG9yOiBjb2xvcihncmVlbiwgYmFzZSk7XG59XG5cbi5sYy10ZXh0LWRhbmdlciB7XG4gIGNvbG9yOiBjb2xvcihyZWQsIGJhc2UpO1xufVxuXG4ubGMtc2Nyb2xsLW1lc3NhZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZGRpbmctc207XG4gIG1hcmdpbi1ib3R0b206ICRwYWRkaW5nLW1kO1xuICBib3JkZXI6IDFweCBzb2xpZCBjb2xvcihncmF5LCBsaWdodCk7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmQtbWQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWQpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5sYy1zY3JvbGwtbWVzc2FnZS1hbHdheXMtZGlzcGxheSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiLy8gQ29sb3JzXG4vL1xuLy8gTmFtZWQgdXNpbmcgdHA6Ly9jaGlyLmFnL3Byb2plY3RzL25hbWUtdGhhdC1jb2xvclxuLy9cbi8vIENvbG9ycyBhcmUgc3RvcmVkIGluIGEgbWFwIHRoYXQgY2FuIGJlIGFjY2Vzc2VkIHZpYVxuLy8gdGhlIFtjb2xvcigpIGZ1bmN0aW9uXSgja3NzcmVmLXV0aWxzLWZ1bmN0aW9ucy1jb2xvcikuXG4vL1xuLy8gU3R5bGVndWlkZTogdXRpbHMuY29sb3JzXG5cbi8vIFByaW1hcnlcbiRjb2xvcjogKFxuICByZWQ6IChcbiAgICBiYXNlOiAjZTA1NTU0LFxuICAgIGxpZ2h0OiAjZjY4ZDc0LFxuICAgIGRhcms6ICNjMjM3MzYsXG4gICksXG4gIG9yYW5nZTogKFxuICAgIGJhc2U6ICNmZmEwMmYsXG4gICAgbGlnaHQ6ICNmZmJlNGQsXG4gICAgZGFyazogI2Q0NzYwMCxcbiAgKSxcbiAgeWVsbG93OiAoXG4gICAgYmFzZTogI2ZlZDEwMCxcbiAgICBsaWdodDogI2YzZWM3YSxcbiAgICBkYXJrOiAjZDdhOTAwLFxuICApLFxuICBncmVlbjogKFxuICAgIGJhc2U6ICMwMDdiNjksXG4gICAgbGlnaHQ6ICMzNWJjYWMsXG4gICAgZGFyazogIzliYzUzZCxcbiAgKSxcbiAgYmx1ZTogKFxuICAgIGJhc2U6ICMwMDU0OWYsXG4gICAgbGlnaHQ6ICMwMDk4ZGIsXG4gICAgZGFyazogIzMxODA5ZixcbiAgKSxcbiAgcHVycGxlOiAoXG4gICAgYmFzZTogIzkwMzk4NixcbiAgICBsaWdodDogI2FlNTdhNCxcbiAgICBkYXJrOiAjNzIxYjY4LFxuICApLFxuICB3aGl0ZTogKFxuICAgIGJhc2U6ICNmZmYsXG4gICAgbGlnaHQ6ICNmZmYsXG4gICAgZGFyazogI2VmZWZlZixcbiAgKSxcbiAgZ3JheTogKFxuICAgIGJhc2U6ICM3Nzg4OTgsXG4gICAgbGlnaHQ6ICNkMmQzZDUsXG4gICAgZGFyazogIzMzMyxcbiAgKSxcbiAgYmxhY2s6IChcbiAgICBiYXNlOiAjMDAwLFxuICAgIGxpZ2h0OiAjMzMzLFxuICAgIGRhcms6ICMwMDAsXG4gICksXG4pO1xuIiwiLy8gVmFyaWFibGVzXG4vL1xuLy8gU3R5bGVndWlkZTogdXRpbHMudmFyaWFibGVzXG5cbi8vL3VzZWRcbiRhc3NldC1wYXRoOiAnLi4vYXNzZXRzL2Rpc3QnO1xuJGFzc2V0LXNyYy1wYXRoOiAnLi4vYXNzZXRzL3NyYyc7XG4kYXNzZXQtZm9udC1wYXRoOiAnLi4vYXNzZXRzL2ZvbnRzJztcblxuLy8gUGFkZGluZ1xuJHNpdGUtcGFkZGluZzogICAgMjBweDtcbiRjb250ZW50LXBhZGRpbmc6IDIwcHg7XG5cbiRwYWRkaW5nLXhzOiA1cHg7XG4kcGFkZGluZy1zbTogMTBweDtcbiRwYWRkaW5nLW1kOiAyMHB4O1xuJHBhZGRpbmctbGc6IDQwcHg7XG4kcGFkZGluZy14bDogNjBweDtcblxuLy8gQm9yZGVyIFJhZGl1c1xuJGJvcmRlci1yZC1zbTogNXB4O1xuJGJvcmRlci1yZC1tZDogMTBweDtcbiRib3JkZXItcmQtbGc6IDE1cHg7XG5cbi8vIEJ1dHRvbiBIZWlnaHRzXG4kYnV0dG9uLW1pbi1oZWlnaHQtc206IDQzcHg7XG4kYnV0dG9uLW1pbi1oZWlnaHQtbGc6IDU4cHg7XG5cbi8vIFNpdGUgYW5kIENvbnRlbnQgTWF4IFdpZHRoc1xuJHNpdGUtbWF4LXc6IDEwMjBweDtcbiRjb250ZW50LW1heC13OiA4NjBweDtcblxuLy8gQW5pbWF0aW9uIFNwZWVkc1xuJGFuaW0tc3RhbmRhcmQ6IGVhc2UtaW4tb3V0O1xuJGFuaW0tcG9wOiBjdWJpYy1iZXppZXIoLjQyLCAwLCAuMTksIDEuMzUpO1xuJGFuaW0tc3BlZWQtZmFzdGVyOiAxMDBtcztcbiRhbmltLXNwZWVkLWZhc3Q6IDI1MG1zO1xuJGFuaW0tc3BlZWQtbW9kZXJhdGU6IDUwMG1zO1xuJGFuaW0tc3BlZWQtc2xvdzogODAwbXM7XG4kYW5pbS1zcGVlZC1zbG93ZXI6IDEwMDBtcztcblxuLy8gWi1JbmRleFxuLy9cbi8vIFotaW5kaWNlcyBhcmUgc3RvcmVkIGluIGEgbWFwIHRoYXQgY2FuIGJlIGFjY2Vzc2VkXG4vLyB2aWEgdGhlIFt6Z2V0KCkgZnVuY3Rpb25dKCNrc3NyZWYtdXRpbHMtZnVuY3Rpb25zLXpnZXQpLlxuLy8gRGVmYXVsdCB6LWluZGljZXMgYXJlIG5hbWVkIGJhc2VkIG9uIHRoZVxuLy8gW2F0bW9zcGhlcmljIHJlZ2lvbnNdKGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FsdGl0dWRlI0F0bW9zcGhlcmljX3JlZ2lvbnMpLFxuLy8gd2hpbGUgY3VzdG9tIHotaW5kaWNlcyBzaG91bGQgYmUgbmFtZWQgYmFzZWQgb24gdGhlaXIgY29tcG9uZW50LlxuLy9cbi8vICoqRXhhbXBsZSB1c2FnZToqKlxuLy8gPHByZSBjbGFzcz1cInByZXR0eXByaW50IGxpbmVudW1zIGxhbmctY3NzXCI+XG4vLyAuZm9vIHtcbi8vICAgei1pbmRleDogemdldChncm91bmQpO1xuLy8gfVxuLy9cbi8vIC5iYXIge1xuLy8gICBwb3NpdGlvbjogZml4ZWQ7XG4vLyAgIHRvcDogMzAlO1xuLy8gICBsZWZ0OiAzMCU7XG4vLyAgIHJpZ2h0OiAzMCU7XG4vLyAgIGJvdHRvbTogMzAlO1xuLy8gICB3aWR0aDogYXV0bztcbi8vICAgaGVpZ2h0OiBhdXRvO1xuLy8gICB6LWluZGV4OiB6Z2V0KG1vZGFsKTtcbi8vIH1cbi8vIDwvcHJlPlxuLy9cbi8vIC0gZXhvIC0gNTBcbi8vIC0gdGhlcm1vIC0gNDBcbi8vIC0gbWVzbyAtIDMwXG4vLyAtIHN0cmF0byAtIDIwXG4vLyAtIHRyb3BvIC0gMTBcbi8vIC0gZ3JvdW5kIC0gMFxuLy8gLSBpbmZlcm5vIC0gLTFcbi8vXG4vLyBTdHlsZWd1aWRlOiB1dGlscy52YXJpYWJsZXMuei1pbmRleC1tYXBzXG5cbi8vIFotaW5kZXggYmFzZSB2YXJpYWJsZXMuIERPIE5PVCBNT0RJRllcbiR6aS1tYXg6ICAgMTAwMDA7XG4kemktZXhvOiAgICAgIDUwO1xuJHppLXRoZXJtbzogICA0MDtcbiR6aS1tZXNvOiAgICAgMzA7XG4kemktc3RyYXRvOiAgIDIwO1xuJHppLXRyb3BvOiAgICAxMDtcbiR6aS1ncm91bmQ6ICAgMDtcbiR6aS1pbmZlcm5vOiAgLTE7XG5cbi8vIFotaW5kZXggbWFwXG4kemktbWFwOiAoXG4gIG1heDogICAgICAkemktbWF4LFxuICBleG86ICAgICAgJHppLWV4byxcbiAgdGhlcm1vOiAgICR6aS10aGVybW8sXG4gIG1lc286ICAgICAkemktbWVzbyxcbiAgc3RyYXRvOiAgICR6aS1zdHJhdG8sXG4gIHRyb3BvOiAgICAkemktdHJvcG8sXG4gIGdyb3VuZDogICAkemktZ3JvdW5kLFxuICBpbmZlcm5vOiAgJHppLWluZmVybm8sXG4gIGNhcmQ6ICR6aS10cm9wbyxcbiAgbW9kYWw6ICR6aS1tYXgsXG4pO1xuIiwiLy8gVHlwb2dyYXBoeVxuLy9cbi8vIFR5cG9ncmFwaHkgdmFyaWFibGVzIHNob3VsZCBiZSBkZWZpbmVkIGhlcmUuIEZvbnRzIGFyZSBsb2FkZWQgaW5cbi8vIGBiYXNlL3R5cG9ncmFwaHkvX3R5cG9ncmFwaHkuc2Nzc2Bcbi8vXG4vLyAtIEZvbnQgc3RhY2tzIGFyZSBkZWZpbmVkIHN1Y2ggYXMgYCRmb250LXN0YWNrLWJhc2U6ICdMYXRvJywgc2Fucy1zZXJpZjtgLlxuLy8gLSBGb250IHdlaWdodHMgYXJlIGRlZmluZWQgYWJzb2x1dGVseSwgcmF0aGVyIHRoYW5cbi8vICAgd2l0aCByZWxhdGl2ZSB1bml0cyBsaWtlIGBsaWdodGVyYCBvciBgYm9sZGVyYFxuLy8gLSBGb250IHNpemVzIGFyZSBkZWZpbmVkIHdpdGggc2l6ZSBrZXl3b3JkcywgbGlrZSB0aGVcbi8vICAgcGFkZGluZyB2YXJpYWJsZXMuIEFkZGl0aW9uYWwgZm9udCB2YXJpYWJsZXMgY2FuIGJlXG4vLyAgIGNyZWF0ZWQgYXMgbmVlZGVkLlxuLy9cbi8vIFN0eWxlZ3VpZGU6IHV0aWxzLnR5cG9ncmFwaHlcbiRmb250LXN0YWNrLWJhc2U6ICdMaWJyZSBCYXNrZXJ2aWxsZScsIHNlcmlmO1xuJGZvbnQtc3RhY2stc2Vjb25kYXJ5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjtcbiRmb250LXN0YWNrLXRlcnRpYXJ5OiAkZm9udC1zdGFjay1zZWNvbmRhcnk7XG5cbiRmb250LXdlaWdodC1saWdodDogMzAwO1xuJGZvbnQtd2VpZ2h0LXJlZ3VsYXI6IDQwMDtcbiRmb250LXdlaWdodC1ib2xkOiA3MDA7XG4kZm9udC13ZWlnaHQtYmxhY2s6IDkwMDtcblxuLy8gVXNpbmcgcHggaW5zdGVhZCBvZiByZW0gYmVjYXVzZSB3ZSBjYW5ub3QgcmVsaWFibHkgc2V0IHVwIHRoZSBjb252ZXJzaW9uIGZvciB0aGUgaHRtbFxuLy8gZWxlbWVudCdzIGJhc2UgZm9udCBzaXplIHVudGlsIHdlIGtub3cgZXhhY3RseSB3aGF0IHRoZW1lIHdlJ3JlIHVzaW5nLlxuJGZvbnQtaC14eGw6IDk0cHg7XG4kZm9udC1oLXhsOiA1NXB4O1xuJGZvbnQtaC1sZzogMzZweDtcbiRmb250LWgtbWQ6IDI4cHg7XG4kZm9udC1oLXNtOiAyNXB4O1xuJGZvbnQtaC14czogMjJweDtcbiRmb250LWgteHhzOiAxOHB4O1xuXG4kZm9udC1iLXh4bDogJGZvbnQtaC1tZDtcbiRmb250LWIteGw6ICRmb250LWgtc207XG4kZm9udC1iLWxnOiAkZm9udC1oLXhzO1xuJGZvbnQtYi1tZDogJGZvbnQtaC14eHM7XG4kZm9udC1iLXNtOiAxNnB4O1xuJGZvbnQtYi14czogMTRweDtcbiRmb250LWIteHhzOiAxMnB4O1xuJGZvbnQtYi10aW55OiAxMHB4O1xuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBEZWZhdWx0IFZhcmlhYmxlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBEZWZhdWx0IEZlYXR1cmVzXG4kYnJlYWtwb2ludC1kZWZhdWx0LW1lZGlhOiAgICAgIGFsbCAhZGVmYXVsdDtcbiRicmVha3BvaW50LWRlZmF1bHQtZmVhdHVyZTogICAgbWluLXdpZHRoICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtZGVmYXVsdC1wYWlyOiAgICAgICB3aWR0aCAhZGVmYXVsdDtcblxuLy8gRGVmYXVsdCBUcmFuc2Zvcm1zXG4kYnJlYWtwb2ludC1mb3JjZS1tZWRpYS1hbGw6ICAgIGZhbHNlICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtdG8tZW1zOiAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRicmVha3BvaW50LXJlc29sdXRpb25zOiAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcblxuLy8gRGVmYXVsdCBObyBRdWVyeSBPcHRpb25zXG4kYnJlYWtwb2ludC1uby1xdWVyaWVzOiAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtbm8tcXVlcnktZmFsbGJhY2tzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRGVmdGF1bHQgQmFzZSBGb250IFNpemVcbiRicmVha3BvaW50LWJhc2UtZm9udC1zaXplOiAgICAgMTZweCAhZGVmYXVsdDtcblxuLy8gTGVnYWN5IFN5bnRheCBTdXBwb3J0XG4kYnJlYWtwb2ludC1sZWdhY3ktc3ludGF4OiAgICAgIGZhbHNlICFkZWZhdWx0O1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEltcG9ydHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCAnYnJlYWtwb2ludC9jb250ZXh0JztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvaGVscGVycyc7XG5AaW1wb3J0ICdicmVha3BvaW50L3BhcnNlcnMnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9uby1xdWVyeSc7XG5cbkBpbXBvcnQgJ2JyZWFrcG9pbnQvcmVzcG9uZC10byc7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnJlYWtwb2ludCBNaXhpblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICAvLyBSZXNldCBjb250ZXh0c1xuICBAaW5jbHVkZSBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMoKTtcblxuICAkYnJlYWtwb2ludDogYnJlYWtwb2ludCgkcXVlcnksIGZhbHNlKTtcblxuICAkcXVlcnktc3RyaW5nOiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnknKTtcbiAgJHF1ZXJ5LWZhbGxiYWNrOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnZmFsbGJhY2snKTtcblxuICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnY29udGV4dCBob2xkZXInKSAhZ2xvYmFsO1xuICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnkgY291bnQnKSAhZ2xvYmFsO1xuXG4gIC8vIEFsbG93IGZvciBhbiBhcy1uZWVkZWQgb3ZlcnJpZGUgb3IgdXNhZ2Ugb2Ygbm8gcXVlcnkgZmFsbGJhY2suXG4gIEBpZiAkbm8tcXVlcnkgIT0gZmFsc2Uge1xuICAgICRxdWVyeS1mYWxsYmFjazogJG5vLXF1ZXJ5O1xuICB9XG5cbiAgQGlmICRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSB7XG4gICAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJ25vLXF1ZXJ5JywgJHF1ZXJ5LWZhbGxiYWNrKTtcbiAgfVxuXG4gIC8vIFByaW50IE91dCBRdWVyeSBTdHJpbmdcbiAgQGlmIG5vdCAkYnJlYWtwb2ludC1uby1xdWVyaWVzIHtcbiAgICBAbWVkaWEgI3skcXVlcnktc3RyaW5nfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgJGJyZWFrcG9pbnQtbm8tcXVlcnktZmFsbGJhY2tzICE9IGZhbHNlIG9yICRicmVha3BvaW50LW5vLXF1ZXJpZXMgPT0gdHJ1ZSB7XG5cbiAgICAkdHlwZTogdHlwZS1vZigkYnJlYWtwb2ludC1uby1xdWVyeS1mYWxsYmFja3MpO1xuICAgICRwcmludDogZmFsc2U7XG5cbiAgICBAaWYgKCR0eXBlID09ICdib29sJykge1xuICAgICAgJHByaW50OiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ3N0cmluZycpIHtcbiAgICAgIEBpZiAkcXVlcnktZmFsbGJhY2sgPT0gJGJyZWFrcG9pbnQtbm8tcXVlcnktZmFsbGJhY2tzIHtcbiAgICAgICAgJHByaW50OiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ2xpc3QnKSB7XG4gICAgICBAZWFjaCAkd3JhcHBlciBpbiAkYnJlYWtwb2ludC1uby1xdWVyeS1mYWxsYmFja3Mge1xuICAgICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrID09ICR3cmFwcGVyIHtcbiAgICAgICAgICAkcHJpbnQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBXcml0ZSBGYWxsYmFja1xuICAgIEBpZiAoJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlKSBhbmQgKCRwcmludCA9PSB0cnVlKSB7XG4gICAgICAkdHlwZS1mYWxsYmFjazogdHlwZS1vZigkcXVlcnktZmFsbGJhY2spO1xuXG4gICAgICBAaWYgKCR0eXBlLWZhbGxiYWNrICE9ICdib29sJykge1xuICAgICAgICAjeyRxdWVyeS1mYWxsYmFja30gJiB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcHJpdmF0ZS1icmVha3BvaW50LXJlc2V0LWNvbnRleHRzKCk7XG59XG5cblxuQG1peGluIG1xKCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi5sYy1mb250LXdlaWdodC1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmxjLWQtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuIiwiKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5jYWxlbmRhci0tdXBjb21pbmcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgLmV2ZW50LWNhcmQge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5jYWxlbmRhcl9faXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDAgJHBhZGRpbmctc207XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoJGJwLXNtKSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgcGFkZGluZzogMCAwICRwYWRkaW5nLXNtICRwYWRkaW5nLXNtO1xuXG4gICAgICAmOm50aC1jaGlsZCgybisxKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50ICgkYnAtbWQpIHtcbiAgICAgIHdpZHRoOiAzMyU7XG4gICAgICBwYWRkaW5nOiAwICRwYWRkaW5nLXNtICRwYWRkaW5nLXNtO1xuXG4gICAgICAmOm50aC1jaGlsZCgybisxKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmctc207XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDNuKzEpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQoM24pIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIENhbGVuZGFyIG1vbnRoIGRpc3BsYXkuXG4gKlxuICogQWxsIHBhZGRpbmcgYW5kIGZvbnQtc2l6ZXMgaW4gdGhlIG1vbnRoIGRpc3BsYXlcbiAqIHNob3VsZCB1c2VzIGVtIHVuaXRzIChub3QgcmVtIG9yIHB4KSwgYXMgZGVmaW5lZFxuICogaW4gdGhlIGNhbGVuZGFyIGNvbXBvbmVudCdzIGxvY2FsIHZhcmlhYmxlcyBwYXJ0aWFsLlxuICogVGhlIHJlYXNvbmluZyBmb3IgdGhhdCBpcyBzbyB0aGF0IGZvbnQtc2l6ZXMgY2FuIGJlXG4gKiBkZWZpbmVkIHJlbGF0aXZlIHRvIGVhY2ggb3RoZXIsIGFuZCB0aGVuIHRoZSBvdmVyYWxsXG4gKiBmb250L3BhZGRpbmcgc2l6ZXMgb2YgdGhlIGNhbGVuZGFyIGNhbiBiZSBhZGp1c3RlZFxuICogcHJvcG9ydGlvbmFsbHkgd2hpbGUgb25seSBtb2RpZnlpbmcgdGhlIHJvb3QgZm9udFxuICogc2l6ZSBvbiB0aGUgLmNhbGVuZGFyLS1tb250aCBjb250YWluZXIuXG4gKi9cbi5jYWxlbmRhci0tbW9udGgge1xuICBmb250LXNpemU6ICRmb250LWIteHhzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG5cbiAgLmRlc2t0b3AtaGlkZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoJGJwLXNtKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5tb2JpbGUtaGlkZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC1tZCkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgY2xpcDogYXV0bztcbiAgICB9XG4gIH1cblxuICAuZXZlbnQtY2FyZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmxjLWV2ZW50X19yZWdpc3RyYXRpb24taWNvbi1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAubGMtZXZlbnRfX3JlZ2lzdHJhdGlvbi1pY29uLFxuICAubGMtZXZlbnRfX3JlZ2lzdHJhdGlvbi1wYXltZW50LWljb24ge1xuICAgIG1hcmdpbjogLjVyZW0gMXJlbSAuNXJlbSAwO1xuICB9XG59XG5cbi5jYWxlbmRhcl9fd2VlayB7XG4gIC5ldmVudC1jYXJkX190aXRsZSxcbiAgLmV2ZW50LWNhcmRfX2RldGFpbHMsXG4gIC5ldmVudC1jYXJkX19yb29tIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoJGJwLXNtKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIGNsaXA6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbi5jYWxlbmRhci0tbW9udGgsXG4uY2FsZW5kYXItLXdlZWssXG4uY2FsZW5kYXItLWRheSxcbi5jYWxlbmRhcl9fd2VlayB7XG4gIC5oYXMtZXZlbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSwgZGFyayk7XG4gIH1cblxuICAubm9kZS0tdHlwZS1sYy1jbG9zaW5nIHtcbiAgICBib3JkZXI6IDNweCBzb2xpZCBjb2xvcihyZWQsIGJhc2UpO1xuICB9XG5cbiAgLm5vZGUtLXR5cGUtbGMtcmVzZXJ2YXRpb24ge1xuICAgIGJvcmRlcjogM3B4IHNvbGlkIGNvbG9yKGdyZWVuLCBiYXNlKTtcbiAgfVxuXG4gIC5hbGwtZGF5IHtcbiAgICBib3JkZXI6IDNweCBzb2xpZCBjb2xvcihibHVlLCBsaWdodCk7XG4gIH1cblxuICAucHJpdmF0ZS1ldmVudCB7XG4gICAgYm9yZGVyOiAzcHggc29saWQgY29sb3IoYmx1ZSwgZGFyayk7XG4gIH1cblxuICAuaGFzLWNvbmZsaWN0IHtcbiAgICBib3JkZXI6IDNweCBzb2xpZCBjb2xvcihwdXJwbGUsIGJhc2UpO1xuICB9XG5cbiAgLm1vZGVyYXRpb24tc3RhdGUtLWFyY2hpdmVkLFxuICAubW9kZXJhdGlvbi1zdGF0ZS0tZHJhZnQsXG4gIC5tb2RlcmF0aW9uLXN0YXRlLS1sYy1kcmFmdCxcbiAgLm1vZGVyYXRpb24tc3RhdGUtLWxjX2RyYWZ0IHtcbiAgICBib3JkZXI6IDNweCBzb2xpZCBjb2xvcihncmF5LCBkYXJrKTtcbiAgfVxuXG4gIC5tb2RlcmF0aW9uLXN0YXRlLS1kcmFmdCxcbiAgLm1vZGVyYXRpb24tc3RhdGUtLWxjLWRyYWZ0LFxuICAubW9kZXJhdGlvbi1zdGF0ZS0tbGNfZHJhZnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY0ZjQ7XG4gIH1cbn1cblxuLmNhbGVuZGFyX19udW1iZXJzIC5jYWxlbmRhcl9fZGF5LmNhbGVuZGFyX19kYXktLWN1cnJlbnQge1xuICBjb2xvcjogY29sb3Iod2hpdGUsIGJhc2UpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihncmF5LCBiYXNlKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAkYW5pbS1zdGFuZGFyZCAkYW5pbS1zcGVlZC1mYXN0O1xufVxuXG4vKipcbiAqIEhlYWRlciBhbmQgcGFnZXJcbiAqXG4gKiBUaGUgaGVhZGVyIGFuZCBwYWdlciB1c2UgZmxleGJveCB0b1xuICogbGF5b3V0IGFuZCB2ZXJ0aWNhbGx5IGNlbnRlciB0aGUgaGVhZGVyXG4gKiBpdGVtcy5cbiAqL1xuLmNhbGVuZGFyLS1tb250aCAuY2FsZW5kYXJfX3dyYXAtLWhlYWRlciAuY2FsZW5kYXJfX21vbnRoLXBhZ2VyLFxuLmNhbGVuZGFyLS1tb250aCAuY2FsZW5kYXJfX21vbnRoLXBhZ2VyLS1sb3dlcixcbi5jYWxlbmRhci13ZWVrLXBhZ2VyLFxuLmNhbGVuZGFyLWRheS1wYWdlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDE7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDYwMHB4O1xuICBwYWRkaW5nOiAkcGFkZGluZy1zbSAwO1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC1zbSkge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLW1kO1xuXG4gICAgJi5jYWxlbmRhcl9fbW9udGgtcGFnZXItLWxvd2VyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAkcGFkZGluZy1zbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLm1vYmlsZS1oaWRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoJGJwLXNtKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuICB9XG59XG5cbi5jYWxlbmRhcl9fd3JhcC0taGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAoJGJwLXNtKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxufVxuXG4uY2FsZW5kYXJfX3dyYXAtLWhlYWRlcixcbi5jYWxlbmRhcl9fd3JhcC0tdGl0bGUge1xuICBmb250LXNpemU6ICRmb250LWIteHM7XG5cbiAgLmNhbGVuZGFyX190aXRsZSBoMiB7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoJGJwLXNtLS1taW4pIHtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtYi1zbTtcbiAgICB9XG4gIH1cbn1cblxuLmNhbGVuZGFyX193cmFwLS10aXRsZSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC1zbS0tbWluKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY2FsZW5kYXJfX3BhZ2VyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcblxuICAmOjpiZWZvcmUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29udGVudDogJyc7XG4gIH1cbn1cblxuLmNhbGVuZGFyX190aXRsZSB7XG4gIG9yZGVyOiAxO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5idXR0b24uY2FsZW5kYXJfX3BhZ2VyLS1sZWZ0LFxuLmJ1dHRvbi5jYWxlbmRhcl9fcGFnZXItLXJpZ2h0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtaW5kZW50OiAxMDAlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihibHVlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAyMHB4O1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJkLXNtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIGVhc2UtaW4tb3V0IC4yNXM7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoYmx1ZSwgZGFyayk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyMHB4O1xuICB9XG59XG5cbi5idXR0b24uY2FsZW5kYXJfX3BhZ2VyLS1sZWZ0IHtcbiAgb3JkZXI6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnI3skYXNzZXQtcGF0aH0vaW1hZ2VzL3BhZ2VyLWFycm93LXByZXYuc3ZnJyk7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcjeyRhc3NldC1wYXRofS9pbWFnZXMvcGFnZXItYXJyb3ctcHJldi5zdmcnKTtcbiAgfVxufVxuXG4uYnV0dG9uLmNhbGVuZGFyX19wYWdlci0tcmlnaHQge1xuICBvcmRlcjogMjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcjeyRhc3NldC1wYXRofS9pbWFnZXMvcGFnZXItYXJyb3ctbmV4dC5zdmcnKTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJyN7JGFzc2V0LXBhdGh9L2ltYWdlcy9wYWdlci1hcnJvdy1uZXh0LnN2ZycpO1xuICB9XG59XG5cblxuLyoqXG4gKiBHcmlkIHN0eWxpbmdcbiAqXG4gKiBUaGUgZ3JpZCBzdHlsaW5nIGZvciB0aGUgc2luZ2xlLWRheSBldmVudFxuICogY2VsbHMgdXNlcyBmbGV4Ym94IGNvbnRhaW5lcnMgZm9yIHRoZSByb3dcbiAqIGFuZCAxLzcgb2YgdGhlIGNvbnRhaW5lciBmb3IgdGhlIHdpZHRoIG9uXG4gKiBlYWNoIGl0ZW0uIFRoZSBmaXJzdCBpdGVtIGluIHRoZSByb3cgaXNcbiAqIGFsd2F5cyB0aGUgbXVsdGktZGF5IGV2ZW50IGNlbGwsIHdoaWNoIGlzIDEwMCVcbiAqIHdpZGUsIGFuZCB1c2VzIGl0J3Mgb3duIGdyaWQgdG8gY29udHJvbFxuICogbGF5b3V0IGZvciBtdWx0aS1kYXkgZXZlbnRzLlxuICovXG4uY2FsZW5kYXJfX3dyYXAtLWdyaWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNkMWQxZDE7XG59XG5cbi5jYWxlbmRhcl9fcm93LS1oZWFkZXIsXG4uY2FsZW5kYXJfX3Jvdy0tY29udGVudCxcbi5jYWxlbmRhcl9fbnVtYmVycyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4uY2FsZW5kYXJfX3Jvdy0tZm9vdGVyIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAoJGJwLXNtLS1taW4pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5jYWxlbmRhcl9fZGF5LFxuLmNhbGVuZGFyX19kYXktLW51bWJlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXhzO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC1zbSkge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7XG4gIH1cbn1cblxuLmNhbGVuZGFyX19kYXktLW11bHRpIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jYWxlbmRhcl9fZGF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUsIGJhc2UpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC1zbSkge1xuICAgIG1pbi1oZWlnaHQ6IDI1cHg7XG4gIH1cbn1cblxuLmNhbGVuYXJfX2RheS0tbnVtYmVyIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAoJGJwLXNtKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxufVxuXG4uY2FsZW5kYXJfX2RheS0taGVhZGVyIHtcbiAgbWluLWhlaWdodDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY2FsZW5kYXJfX2RheS0tYmxhbmsge1xuICBkaXNwbGF5OiBub25lO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC1zbSkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5jYWxlbmRhcl9fcm93LS1jb250ZW50IC5jYWxlbmRhcl9fZGF5LS1ibGFuayB7XG4gIG1pbi1oZWlnaHQ6IDVyZW07XG59XG5cbi5jYWxlbmRhcl9fZGF5LS1vdXRzaWRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUsIGRhcmspO1xufVxuXG4vKipcbiAqIENhbGVuZGFyIGJvcmRlcnNcbiAqXG4gKiBFeHRlcm5hbCBib3JkZXJzIGFyZSB3cmFwcGVkIGFyb3VuZCB0aGVcbiAqIC5jYWxlbmRhcl9fd2VlayBlbGVtZW50LCB3aGlsZSBpbnRlcm5hbCBib3JkZXJzXG4gKiBhcmUgYWJzb2x1dGVseSBwb3NpdGlvbmVkIGVtcHR5IGRpdnMuXG4gKi9cbi5jYWxlbmRhcl9fd2VlayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNkMWQxZDE7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAoJGJwLXNtKSB7XG4gICAgcGFkZGluZy10b3A6IDI1cHg7XG4gIH1cbn1cblxuLmNhbGVuZGFyX193ZWVrLS1lbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAoJGJwLXNtKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLmNhbGVuZGFyX19iYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBjb2xvcjogI2QxZDFkMTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4LCAtMXB4IDAgMCAwO1xuICBvcGFjaXR5OiAuMjU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAoJGJwLXNtKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLmNhbGVuZGFyX19iYXItLTEge1xuICBsZWZ0OiAxNC4yODU3MSU7XG59XG5cbi5jYWxlbmRhcl9fYmFyLS0yIHtcbiAgbGVmdDogMjguNTcxNDMlO1xufVxuXG4uY2FsZW5kYXJfX2Jhci0tMyB7XG4gIGxlZnQ6IDQyLjg1NzE0JTtcbn1cblxuLmNhbGVuZGFyX19iYXItLTQge1xuICBsZWZ0OiA1Ny4xNDI4NiU7XG59XG5cbi5jYWxlbmRhcl9fYmFyLS01IHtcbiAgbGVmdDogNzEuNDI4NTclO1xufVxuXG4uY2FsZW5kYXJfX2Jhci0tNiB7XG4gIGxlZnQ6IDg1LjcxNDI5JTtcbn1cblxuLyoqXG4gKiBMaW5rIG92ZXJsYXlzXG4gKlxuICogRWFjaCBkYXkgaW4gdGhlIGNhbGVuZGFyIGhhcyBhbiBhc3NvY2lhdGVkIGxpc3Qgb2YgZGF5c1xuICogdGhhdCBpcyBzdG9yZWQgYmVsb3cgdGhlIGNhbGVuZGFyIHRoYXQgY29udGFpbnMgbW9yZVxuICogaW5mb3JtYXRpb24uIFRvIGFjY2VzcyB0aGlzIGluZm9ybWF0aW9uLCB0aGVyZSBhcmUgbGlua1xuICogb3ZlcmxheXMgcG9zaXRpb25lZCBhYnNvbHV0ZWx5IGFib3ZlIHRoZSBkYXkgY2VsbHMuXG4gKi9cbi5jYWxlbmRhcl9fbnVtYmVycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxNTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBsaW5lLWhlaWdodDogMTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50ICgkYnAtc20pIHtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gIH1cbn1cblxuLmNhbGVuZGFyX19udW1iZXItZGF5LS1tdWx0aSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xufVxuXG4vKipcbiAqIE11bHRpLWRheSBncmlkc1xuICpcbiAqIFVubGlrZSB0aGUgcmVndWxhciBncmlkIGNlbGxzIGZvciB0aGUgY2FsZW5kYXIsIHdoaWNoXG4gKiB1c2UgZmxleGJveCwgdGhlIG11bHRpLWRheSBncmlkcyB1c2UgU2luZ3VsYXJpdHkgR1Mnc1xuICogZmxvYXQgZ3JpZC1zcGFucyBzbyB0aGF0IHRoZXkgY2FuIHN0YXJ0IGF0IGFyYml0cmFyeVxuICogcG9pbnRzIHdpdGhpbiB0aGUgZ3JpZC4gQ2xlYXJpbmcgaGFzIHRvIGJlIGFwcGxpZWRcbiAqIG1hbnVhbGx5IHZpYSBhIGNsZWFyIGNsYXNzLCBhcHBsaWVkIHdoZW4gdGhlIHRlbXBsYXRlXG4gKiBpcyBmaXJzdCBnZW5lcmF0ZWQuXG4gKi9cbi5jYWxlbmRhcl9fZGF5LS1tdWx0aSB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiAnJztcbiAgfVxufVxuXG4uY2FsZW5kYXJfX2RheS1zcGFuLS0xLTEge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDE0LjI4NTcxJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGNsZWFyOiBub25lO1xufVxuXG4uY2FsZW5kYXJfX2RheS1zcGFuLS0xLTcge1xuICBmbG9hdDogcmlnaHQ7XG4gIHdpZHRoOiAxNC4yODU3MSU7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGNsZWFyOiBub25lO1xufVxuXG4uY2FsZW5kYXJfX2RheS1zcGFuLS0yLTEge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDI4LjU3MTQzJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGNsZWFyOiBub25lO1xufVxuXG4uY2FsZW5kYXJfX2RheS1zcGFuLS0yLTIge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDI4LjU3MTQzJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDE0LjI4NTcxJTtcbiAgY2xlYXI6IG5vbmU7XG59XG5cbi5jYWxlbmRhcl9fZGF5LXNwYW4tLTItMyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMjguNTcxNDMlO1xuICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICBtYXJnaW4tbGVmdDogMjguNTcxNDMlO1xuICBjbGVhcjogbm9uZTtcbn1cblxuLmNhbGVuZGFyX19kYXktc3Bhbi0tMi00IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyOC41NzE0MyU7XG4gIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gIG1hcmdpbi1sZWZ0OiA0Mi44NTcxNCU7XG4gIGNsZWFyOiBub25lO1xufVxuXG4uY2FsZW5kYXJfX2RheS1zcGFuLS0yLTUge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDI4LjU3MTQzJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDU3LjE0Mjg2JTtcbiAgY2xlYXI6IG5vbmU7XG59XG5cbi5jYWxlbmRhcl9fZGF5LXNwYW4tLTItNiB7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IDI4LjU3MTQzJTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgY2xlYXI6IG5vbmU7XG59XG5cbi5jYWxlbmRhcl9fZGF5LXNwYW4tLTMtMSB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNDIuODU3MTQlO1xuICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgY2xlYXI6IG5vbmU7XG59XG5cbi5jYWxlbmRhcl9fZGF5LXNwYW4tLTMtMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNDIuODU3MTQlO1xuICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICBtYXJnaW4tbGVmdDogMTQuMjg1NzElO1xuICBjbGVhcjogbm9uZTtcbn1cblxuLmNhbGVuZGFyX19kYXktc3Bhbi0tMy0zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA0Mi44NTcxNCU7XG4gIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAyOC41NzE0MyU7XG4gIGNsZWFyOiBub25lO1xufVxuXG4uY2FsZW5kYXJfX2RheS1zcGFuLS0zLTQge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDQyLjg1NzE0JTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDQyLjg1NzE0JTtcbiAgY2xlYXI6IG5vbmU7XG59XG5cbi5jYWxlbmRhcl9fZGF5LXNwYW4tLTMtNSB7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IDQyLjg1NzE0JTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgY2xlYXI6IG5vbmU7XG59XG5cbi5jYWxlbmRhcl9fZGF5LXNwYW4tLTQtMSB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNTcuMTQyODYlO1xuICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgY2xlYXI6IG5vbmU7XG59XG5cbi5jYWxlbmRhcl9fZGF5LXNwYW4tLTQtMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNTcuMTQyODYlO1xuICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICBtYXJnaW4tbGVmdDogMTQuMjg1NzElO1xuICBjbGVhcjogbm9uZTtcbn1cblxuLmNhbGVuZGFyX19kYXktc3Bhbi0tNC0zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA1Ny4xNDI4NiU7XG4gIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAyOC41NzE0MyU7XG4gIGNsZWFyOiBub25lO1xufVxuXG4uY2FsZW5kYXJfX2RheS1zcGFuLS00LTQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHdpZHRoOiA1Ny4xNDI4NiU7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGNsZWFyOiBub25lO1xufVxuXG4uY2FsZW5kYXJfX2RheS1zcGFuLS01LTEge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDcxLjQyODU3JTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGNsZWFyOiBub25lO1xufVxuXG4uY2FsZW5kYXJfX2RheS1zcGFuLS01LTIge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDcxLjQyODU3JTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDE0LjI4NTcxJTtcbiAgY2xlYXI6IG5vbmU7XG59XG5cbi5jYWxlbmRhcl9fZGF5LXNwYW4tLTUtMyB7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IDcxLjQyODU3JTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgY2xlYXI6IG5vbmU7XG59XG5cbi5jYWxlbmRhcl9fZGF5LXNwYW4tLTYtMSB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogODUuNzE0MjklO1xuICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgY2xlYXI6IG5vbmU7XG59XG5cbi5jYWxlbmRhcl9fZGF5LXNwYW4tLTYtMiB7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IDg1LjcxNDI5JTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgY2xlYXI6IG5vbmU7XG59XG5cbi5jYWxlbmRhcl9fZGF5LXNwYW4tLTctMSB7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGNsZWFyOiBub25lO1xufVxuXG4uY2FsZW5kYXJfX2RheS1zcGFuIHtcbiAgcGFkZGluZzogMCAuOHB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXNtLS1taW4pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5jYWxlbmRhcl9fZGF5LXNwYW4tLWNsZWFyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi8qKlxuICogQ2FsZW5kYXIgTGlzdCBTdHlsaW5nXG4gKlxuICogSW4gYWRkaXRpb24gdG8gdGhlIDMwLWRheSBncmlkLCB0aGVyZSdzIGEgbGlzdCB2aWV3XG4gKiBmb3IgZWFzaWVyIHVzYWdlIG9uIG1vYmlsZSB0aGF0IGFwcGVhcnMgYmVsb3cgdGhlXG4gKiBub3JtYWwgMzAtZGF5IGNhbGVuZGFyLiBJdCdzIGJyb3VnaHQgdXAgYSBmaXhlZFxuICogcG9zaXRpb24gd2hlbmV2ZXIgdGhlIHVzZXIgdG91Y2hlcyBpdCdzIGFzc29jaWF0ZWRcbiAqIGRheSBvbiB0aGUgY2FsZW5kYXIgZ3JpZC5cbiAqL1xuLmNhbGVuZGFyX19kYXktaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1zbSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmNhbGVuZGFyX19tb2JpbGUtbGlzdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTVweDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuOTUpO1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG5cbiAgJi5saXN0IHtcbiAgICB6LWluZGV4OiA1MDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgLmV2ZW50LWNhcmQtLXNwYXJzZSB7XG4gICAgLnRpbWUtLWVuZCxcbiAgICAudGltZS0tc2VwYXJhdG9yIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIGNsaXA6IGF1dG87XG4gICAgfVxuXG4gICAgLnRpbWUtLXN0YXJ0IC5ldmVudC1jYXJkX19kYXktLWlubGluZSxcbiAgICAudGltZS0tc3RhcnQgLmV2ZW50LWNhcmRfX3NlcGFyYXRvciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICBjbGlwOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5cbi5jYWxlbmRhcl9fbGlzdCxcbi5jYWxlbmRhcl9fbGlzdC1pdGVtLFxuLmNhbGVuZGFyX19saXN0LS1kYXksXG4uY2FsZW5kYXJfX2xpc3QtaXRlbS0tZGF5IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi5jYWxlbmRhcl9fbGlzdC1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHBhZGRpbmc6IDE1cHggMDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkMWQxZDE7XG59XG5cbi5jYWxlbmRhcl9fbGlzdC10aXRsZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6ICRmb250LWIteHM7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNhbGVuZGFyX19saXN0LS1kYXkge1xuICBmbGV4LWdyb3c6IDE7XG59XG5cbi5raWRzIHtcbiAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmQwYTtcbiAgYm9yZGVyLWNvbG9yOiAjZTE5ZjAwO1xuXG4gIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjNGFhY2EyO1xuICB9XG5cbiAgaDIsXG4gIGgzLFxuICBoNCB7XG4gICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgfVxufVxuXG4udGVlbnMge1xuICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Q0MjQ2O1xuICBib3JkZXItY29sb3I6ICMxZjI0Mjg7XG5cbiAgaDIsXG4gIGgzLFxuICBoNCB7XG4gICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgfVxufVxuXG4uYWR1bHQge1xuICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGFhY2EyO1xuICBib3JkZXItY29sb3I6ICMyYzhlODQ7XG4gIGgyLFxuICBoMyxcbiAgaDQge1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogIzU3YjdkZjtcblxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmYmQwYTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTW9udGhseSBOYXZpZ2F0aW9uXG4uY2FsZW5kYXItcGlja2VyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhbGVuZGFyLXBpY2tlci10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjA7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2FsZW5kYXItcGlja2VyLXRpdGxlIGgyIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4uY2FsZW5kYXItcGlja2VyLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvcGFjaXR5OiAwO1xuXG4gIC5jYWxlbmRhci1waWNrZXIuYWN0aXZlICYge1xuICAgIG1hcmdpbi10b3A6ICRwYWRkaW5nLXNtO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIGVhc2UtaW4tb3V0IC4yNXMsIG9wYWNpdHkgZWFzZS1pbi1vdXQgLjI1cztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG59XG5cbi5jYWxlbmRhcl9fbW9udGgtcGFnZXItLWxvd2VyIHtcbiAgbWFyZ2luLWJvdHRvbTogMi4ycmVtO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC1zbSkge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxufVxuXG4uY2FsZW5kYXItcGlja2VyLWxpbmstLWxvd2VyIHtcbiAgZm9udC1zaXplOiAkZm9udC1iLXNtO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC1zbSkge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtYi1tZDtcbiAgfVxuXG4gIHAge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG4uY2FsZW5kYXJfX3BhZ2VyLS1yaWdodC1sb3dlciB7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAoJGJwLXNtKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi8vIElFIEZJeGVzLlxuLmllMTAsXG4uaWUxMSB7XG4gIC5jYWxlbmRhci0tbW9udGgge1xuICAgIC5ub2RlLS12aWV3LW1vZGUtdGVhc2VyLmV2ZW50LWNhcmQtLXNwYXJzZSB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICB9XG4gIH1cblxuICAuY2FsZW5kYXJfX3dyYXAtLWhlYWRlciB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIC50YWJzIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC5jYWxlbmRhcl9fbW9udGgtcGFnZXIge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoJGJwLXNtKSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jYWxlbmRhcl9fbWVudS10YXNrcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50ICgkYnAtc20pIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jYWxlbmRhcl9fd3JhcC0tdGlsdGUge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC1zbSkge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICB9XG59XG5cbi5sYy1mb3JtLS1jYWxlbmRhci1maWx0ZXJzIC5wYWdlcl9faXRlbXMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAoJGJwLXNtKSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbn1cblxuLmNhbGVuZGFyLXBpY2tlci1pbnB1dC0tbG93ZXIge1xuICB6LWluZGV4OiAxO1xufVxuXG4uY2FsZW5kYXJfX21vbnRoLXBhZ2VyLS1sb3dlciB7XG4gIC5jYWxlbmRhcl9fcGFnZXIge1xuICAgIHotaW5kZXg6IDI7XG4gIH1cbn1cblxuLy8gU2FmYXJpIEZpeC5cbi5sYy1mb3JtX19jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAoJGJwLW1kKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgd2lkdGg6IDc1JTtcbiAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmctbWQ7XG4gICAgfVxuICB9XG59XG5cbi8vIElFIEZpeC5cbi5pZSB7XG4gIC5jYWxlbmRhcl9fd3JhcC0tdGl0bGUge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC1zbSkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmNhbGVuZGFyX190aXRsZSB7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gIC5jYWxlbmRhcl9fcGFnZXIge1xuICAgIHotaW5kZXg6IDI7XG4gIH1cbn1cblxuc3Bhbi5sYy1ldmVudF9fYWdlLWdyb3VwLmxjLWV2ZW50X19hZ2UtZ3JvdXAtLWNoaWxkLmxjLWV2ZW50X19hZ2UtZ3JvdXAtLW5vLWxpbmsge1xuICBjb2xvcjogIzMzMztcbn1cblxuLmNhbGVuZGFyX19kYXktYWpheC53aGl0ZS1wb3B1cCB7XG4gIC5tZnAtY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDVweDtcbiAgICB6LWluZGV4OiB6Z2V0KG1vZGFsKTtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZ3JheSwgZGFyaywgKyAzMCk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoJGJwLXNtKSB7XG4gICAgICB0b3A6IC0xMHB4O1xuICAgICAgcmlnaHQ6IDVweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50ICgkYnAtbWQpIHtcbiAgICAgIHRvcDogLTE1cHg7XG4gICAgICByaWdodDogNXB4O1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogNXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZ3JheSwgZGFyayk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC1zbSkge1xuICAgICAgICB0b3A6IC0xMHB4O1xuICAgICAgICByaWdodDogNXB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50ICgkYnAtbWQpIHtcbiAgICAgICAgdG9wOiAtMTVweDtcbiAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnBhdGgtZXZlbnRzIHtcbiAgLm1mcC1iZyB7XG4gICAgYmFja2dyb3VuZDogcmdiYShjb2xvcih3aGl0ZSksIC45KTtcbiAgfVxufVxuXG4uY2FsZW5kYXJfX2RheS1hamF4IHtcbiAgbWFyZ2luLXJpZ2h0OiA2MHB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC1zbSkge1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC1tZCkge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuY2FsZW5kYXJfX2RheS1hamF4LWNvbnRlbnQge1xuICAgIHdpZHRoOiA0MDBweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjBweCk7XG4gICAgcGFkZGluZzogMjBweCA1cHggMjBweCAyMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGJhY2tncm91bmQ6IGNvbG9yKHdoaXRlKTtcbiAgICAvLyBib3gtc2hhZG93OiAwIDAgMjBweCAwcHggcmdiYShjb2xvcihibGFjayksIDAuMjUpO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIGNvbG9yKGdyYXksIGRhcmspO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50ICgkYnAtc20pIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDYwcHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC1tZCkge1xuICAgICAgaGVpZ2h0OiA4MHZoO1xuICAgIH1cblxuICAgIC5sYy1ldmVudC0tdXBjb21pbmcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICB9XG5cbiAgICAuY2FsZW5kYXJfX2RheS10aXRsZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIH1cbiAgfVxuXG4gIC5jYWxlbmRhcl9fZGF5LWFqYXgtd3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIH1cblxuICAuY2FsZW5kYXJfX2RheS13cmFwLS1hZGRpdGlvbmFsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC5jYWxlbmRhcl9fZGF5LS1hamF4IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4ubWljcm9tb2RhbCB7XG4gIC5jYWxlbmRhcl9fZGF5LWFqYXgge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuXG4gIC5jYWxlbmRhcl9fZGF5LWFqYXggLmNhbGVuZGFyX19kYXktYWpheC1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG5cbiAgLmNhbGVuZGFyX19kYXktYWpheC13cmFwIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5jYWxlbmRhciB7XG4gIC5jYWxlbmRhcl9fZGF5LWxvYWQge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXhzO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJkLXNtO1xuICB9XG59XG5cbi5ibG9jay1sYy1jYWxlbmRhciB7XG4gIC5jYWxlbmRhcl9fbGlua3MgLmNhbGVuZGFyX19saW5rIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIH1cbn1cblxuLmxjLXNraXAtYnV0dG9uIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtc20pIHtcbiAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlO1xuICB9XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6ICRwYWRkaW5nLW1kO1xuICBtYXJnaW4tYm90dG9tOiAkcGFkZGluZy1tZDtcbn1cblxuLmNhbGVuZGFyLS1tb250aC0tc3VwcHJlc3MtZXhjZXNzLWV2ZW50cyAuY2FsZW5kYXJfX2RheS0tb3V0c2lkZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtc20pIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuIiwiLm1pY3JvbW9kYWwtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDUwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpOyB9XG5cbi5taWNyb21vZGFsLWNvbnRhaW5lciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1heC13aWR0aDogOTAwcHg7XG4gIG1heC1oZWlnaHQ6IDEwMHZoO1xuICBwYWRkaW5nOiAyMHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiA1cHg7IH1cblxuLm1pY3JvbW9kYWwtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMDsgfVxuXG4ubWljcm9tb2RhbC10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLm1pY3JvbW9kYWwtY2xvc2Uge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDsgfVxuXG4ubWljcm9tb2RhbC1oZWFkZXIgLm1pY3JvbW9kYWwtY2xvc2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXDI3MTUnOyB9XG5cbi5taWNyb21vZGFsLWNvbnRlbnQge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi5taWNyb21vZGFsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWljcm9tb2RhbC5pcy1vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmxjLWxpbmstbm8td3JhcCB7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsgfVxuXG4ubGMtdGV4dC1zdWNjZXNzIHtcbiAgY29sb3I6ICMwMDdiNjk7IH1cblxuLmxjLXRleHQtZGFuZ2VyIHtcbiAgY29sb3I6ICNlMDU1NTQ7IH1cblxuLmxjLXNjcm9sbC1tZXNzYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkMmQzZDU7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubGMtc2Nyb2xsLW1lc3NhZ2Uge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5sYy1zY3JvbGwtbWVzc2FnZS1hbHdheXMtZGlzcGxheSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5sYy1mb250LXdlaWdodC1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4ubGMtZC1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmU7IH1cblxuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLmNhbGVuZGFyLS11cGNvbWluZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAuY2FsZW5kYXItLXVwY29taW5nIC5ldmVudC1jYXJkIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNhbGVuZGFyLS11cGNvbWluZyAuY2FsZW5kYXJfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCAwIDEwcHg7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYWxlbmRhci0tdXBjb21pbmcgLmNhbGVuZGFyX19pdGVtIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgcGFkZGluZzogMCAwIDEwcHggMTBweDsgfVxuICAgICAgICAuY2FsZW5kYXItLXVwY29taW5nIC5jYWxlbmRhcl9faXRlbTpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jYWxlbmRhci0tdXBjb21pbmcgLmNhbGVuZGFyX19pdGVtIHtcbiAgICAgICAgd2lkdGg6IDMzJTtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4IDEwcHg7IH1cbiAgICAgICAgLmNhbGVuZGFyLS11cGNvbWluZyAuY2FsZW5kYXJfX2l0ZW06bnRoLWNoaWxkKDJuKzEpIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cbiAgICAgICAgLmNhbGVuZGFyLS11cGNvbWluZyAuY2FsZW5kYXJfX2l0ZW06bnRoLWNoaWxkKDNuKzEpIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgICAgIC5jYWxlbmRhci0tdXBjb21pbmcgLmNhbGVuZGFyX19pdGVtOm50aC1jaGlsZCgzbikge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbi8qKlxuICogQ2FsZW5kYXIgbW9udGggZGlzcGxheS5cbiAqXG4gKiBBbGwgcGFkZGluZyBhbmQgZm9udC1zaXplcyBpbiB0aGUgbW9udGggZGlzcGxheVxuICogc2hvdWxkIHVzZXMgZW0gdW5pdHMgKG5vdCByZW0gb3IgcHgpLCBhcyBkZWZpbmVkXG4gKiBpbiB0aGUgY2FsZW5kYXIgY29tcG9uZW50J3MgbG9jYWwgdmFyaWFibGVzIHBhcnRpYWwuXG4gKiBUaGUgcmVhc29uaW5nIGZvciB0aGF0IGlzIHNvIHRoYXQgZm9udC1zaXplcyBjYW4gYmVcbiAqIGRlZmluZWQgcmVsYXRpdmUgdG8gZWFjaCBvdGhlciwgYW5kIHRoZW4gdGhlIG92ZXJhbGxcbiAqIGZvbnQvcGFkZGluZyBzaXplcyBvZiB0aGUgY2FsZW5kYXIgY2FuIGJlIGFkanVzdGVkXG4gKiBwcm9wb3J0aW9uYWxseSB3aGlsZSBvbmx5IG1vZGlmeWluZyB0aGUgcm9vdCBmb250XG4gKiBzaXplIG9uIHRoZSAuY2FsZW5kYXItLW1vbnRoIGNvbnRhaW5lci5cbiAqL1xuLmNhbGVuZGFyLS1tb250aCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYWxlbmRhci0tbW9udGggLmRlc2t0b3AtaGlkZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmNhbGVuZGFyLS1tb250aCAubW9iaWxlLWhpZGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNhbGVuZGFyLS1tb250aCAubW9iaWxlLWhpZGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIGNsaXA6IGF1dG87IH0gfVxuICAuY2FsZW5kYXItLW1vbnRoIC5ldmVudC1jYXJkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNhbGVuZGFyLS1tb250aCAubGMtZXZlbnRfX3JlZ2lzdHJhdGlvbi1pY29uLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY2FsZW5kYXItLW1vbnRoIC5sYy1ldmVudF9fcmVnaXN0cmF0aW9uLWljb24sXG4gIC5jYWxlbmRhci0tbW9udGggLmxjLWV2ZW50X19yZWdpc3RyYXRpb24tcGF5bWVudC1pY29uIHtcbiAgICBtYXJnaW46IC41cmVtIDFyZW0gLjVyZW0gMDsgfVxuXG4uY2FsZW5kYXJfX3dlZWsgLmV2ZW50LWNhcmRfX3RpdGxlLFxuLmNhbGVuZGFyX193ZWVrIC5ldmVudC1jYXJkX19kZXRhaWxzLFxuLmNhbGVuZGFyX193ZWVrIC5ldmVudC1jYXJkX19yb29tIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FsZW5kYXJfX3dlZWsgLmV2ZW50LWNhcmRfX3RpdGxlLFxuICAgIC5jYWxlbmRhcl9fd2VlayAuZXZlbnQtY2FyZF9fZGV0YWlscyxcbiAgICAuY2FsZW5kYXJfX3dlZWsgLmV2ZW50LWNhcmRfX3Jvb20ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICBjbGlwOiBhdXRvOyB9IH1cblxuLmNhbGVuZGFyLS1tb250aCAuaGFzLWV2ZW50cyxcbi5jYWxlbmRhci0td2VlayAuaGFzLWV2ZW50cyxcbi5jYWxlbmRhci0tZGF5IC5oYXMtZXZlbnRzLFxuLmNhbGVuZGFyX193ZWVrIC5oYXMtZXZlbnRzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjsgfVxuXG4uY2FsZW5kYXItLW1vbnRoIC5ub2RlLS10eXBlLWxjLWNsb3NpbmcsXG4uY2FsZW5kYXItLXdlZWsgLm5vZGUtLXR5cGUtbGMtY2xvc2luZyxcbi5jYWxlbmRhci0tZGF5IC5ub2RlLS10eXBlLWxjLWNsb3NpbmcsXG4uY2FsZW5kYXJfX3dlZWsgLm5vZGUtLXR5cGUtbGMtY2xvc2luZyB7XG4gIGJvcmRlcjogM3B4IHNvbGlkICNlMDU1NTQ7IH1cblxuLmNhbGVuZGFyLS1tb250aCAubm9kZS0tdHlwZS1sYy1yZXNlcnZhdGlvbixcbi5jYWxlbmRhci0td2VlayAubm9kZS0tdHlwZS1sYy1yZXNlcnZhdGlvbixcbi5jYWxlbmRhci0tZGF5IC5ub2RlLS10eXBlLWxjLXJlc2VydmF0aW9uLFxuLmNhbGVuZGFyX193ZWVrIC5ub2RlLS10eXBlLWxjLXJlc2VydmF0aW9uIHtcbiAgYm9yZGVyOiAzcHggc29saWQgIzAwN2I2OTsgfVxuXG4uY2FsZW5kYXItLW1vbnRoIC5hbGwtZGF5LFxuLmNhbGVuZGFyLS13ZWVrIC5hbGwtZGF5LFxuLmNhbGVuZGFyLS1kYXkgLmFsbC1kYXksXG4uY2FsZW5kYXJfX3dlZWsgLmFsbC1kYXkge1xuICBib3JkZXI6IDNweCBzb2xpZCAjMDA5OGRiOyB9XG5cbi5jYWxlbmRhci0tbW9udGggLnByaXZhdGUtZXZlbnQsXG4uY2FsZW5kYXItLXdlZWsgLnByaXZhdGUtZXZlbnQsXG4uY2FsZW5kYXItLWRheSAucHJpdmF0ZS1ldmVudCxcbi5jYWxlbmRhcl9fd2VlayAucHJpdmF0ZS1ldmVudCB7XG4gIGJvcmRlcjogM3B4IHNvbGlkICMzMTgwOWY7IH1cblxuLmNhbGVuZGFyLS1tb250aCAuaGFzLWNvbmZsaWN0LFxuLmNhbGVuZGFyLS13ZWVrIC5oYXMtY29uZmxpY3QsXG4uY2FsZW5kYXItLWRheSAuaGFzLWNvbmZsaWN0LFxuLmNhbGVuZGFyX193ZWVrIC5oYXMtY29uZmxpY3Qge1xuICBib3JkZXI6IDNweCBzb2xpZCAjOTAzOTg2OyB9XG5cbi5jYWxlbmRhci0tbW9udGggLm1vZGVyYXRpb24tc3RhdGUtLWFyY2hpdmVkLFxuLmNhbGVuZGFyLS1tb250aCAubW9kZXJhdGlvbi1zdGF0ZS0tZHJhZnQsXG4uY2FsZW5kYXItLW1vbnRoIC5tb2RlcmF0aW9uLXN0YXRlLS1sYy1kcmFmdCxcbi5jYWxlbmRhci0tbW9udGggLm1vZGVyYXRpb24tc3RhdGUtLWxjX2RyYWZ0LFxuLmNhbGVuZGFyLS13ZWVrIC5tb2RlcmF0aW9uLXN0YXRlLS1hcmNoaXZlZCxcbi5jYWxlbmRhci0td2VlayAubW9kZXJhdGlvbi1zdGF0ZS0tZHJhZnQsXG4uY2FsZW5kYXItLXdlZWsgLm1vZGVyYXRpb24tc3RhdGUtLWxjLWRyYWZ0LFxuLmNhbGVuZGFyLS13ZWVrIC5tb2RlcmF0aW9uLXN0YXRlLS1sY19kcmFmdCxcbi5jYWxlbmRhci0tZGF5IC5tb2RlcmF0aW9uLXN0YXRlLS1hcmNoaXZlZCxcbi5jYWxlbmRhci0tZGF5IC5tb2RlcmF0aW9uLXN0YXRlLS1kcmFmdCxcbi5jYWxlbmRhci0tZGF5IC5tb2RlcmF0aW9uLXN0YXRlLS1sYy1kcmFmdCxcbi5jYWxlbmRhci0tZGF5IC5tb2RlcmF0aW9uLXN0YXRlLS1sY19kcmFmdCxcbi5jYWxlbmRhcl9fd2VlayAubW9kZXJhdGlvbi1zdGF0ZS0tYXJjaGl2ZWQsXG4uY2FsZW5kYXJfX3dlZWsgLm1vZGVyYXRpb24tc3RhdGUtLWRyYWZ0LFxuLmNhbGVuZGFyX193ZWVrIC5tb2RlcmF0aW9uLXN0YXRlLS1sYy1kcmFmdCxcbi5jYWxlbmRhcl9fd2VlayAubW9kZXJhdGlvbi1zdGF0ZS0tbGNfZHJhZnQge1xuICBib3JkZXI6IDNweCBzb2xpZCAjMzMzOyB9XG5cbi5jYWxlbmRhci0tbW9udGggLm1vZGVyYXRpb24tc3RhdGUtLWRyYWZ0LFxuLmNhbGVuZGFyLS1tb250aCAubW9kZXJhdGlvbi1zdGF0ZS0tbGMtZHJhZnQsXG4uY2FsZW5kYXItLW1vbnRoIC5tb2RlcmF0aW9uLXN0YXRlLS1sY19kcmFmdCxcbi5jYWxlbmRhci0td2VlayAubW9kZXJhdGlvbi1zdGF0ZS0tZHJhZnQsXG4uY2FsZW5kYXItLXdlZWsgLm1vZGVyYXRpb24tc3RhdGUtLWxjLWRyYWZ0LFxuLmNhbGVuZGFyLS13ZWVrIC5tb2RlcmF0aW9uLXN0YXRlLS1sY19kcmFmdCxcbi5jYWxlbmRhci0tZGF5IC5tb2RlcmF0aW9uLXN0YXRlLS1kcmFmdCxcbi5jYWxlbmRhci0tZGF5IC5tb2RlcmF0aW9uLXN0YXRlLS1sYy1kcmFmdCxcbi5jYWxlbmRhci0tZGF5IC5tb2RlcmF0aW9uLXN0YXRlLS1sY19kcmFmdCxcbi5jYWxlbmRhcl9fd2VlayAubW9kZXJhdGlvbi1zdGF0ZS0tZHJhZnQsXG4uY2FsZW5kYXJfX3dlZWsgLm1vZGVyYXRpb24tc3RhdGUtLWxjLWRyYWZ0LFxuLmNhbGVuZGFyX193ZWVrIC5tb2RlcmF0aW9uLXN0YXRlLS1sY19kcmFmdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY0ZjQ7IH1cblxuLmNhbGVuZGFyX19udW1iZXJzIC5jYWxlbmRhcl9fZGF5LmNhbGVuZGFyX19kYXktLWN1cnJlbnQge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc3ODg5ODtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCBlYXNlLWluLW91dCAyNTBtczsgfVxuXG4vKipcbiAqIEhlYWRlciBhbmQgcGFnZXJcbiAqXG4gKiBUaGUgaGVhZGVyIGFuZCBwYWdlciB1c2UgZmxleGJveCB0b1xuICogbGF5b3V0IGFuZCB2ZXJ0aWNhbGx5IGNlbnRlciB0aGUgaGVhZGVyXG4gKiBpdGVtcy5cbiAqL1xuLmNhbGVuZGFyLS1tb250aCAuY2FsZW5kYXJfX3dyYXAtLWhlYWRlciAuY2FsZW5kYXJfX21vbnRoLXBhZ2VyLFxuLmNhbGVuZGFyLS1tb250aCAuY2FsZW5kYXJfX21vbnRoLXBhZ2VyLS1sb3dlcixcbi5jYWxlbmRhci13ZWVrLXBhZ2VyLFxuLmNhbGVuZGFyLWRheS1wYWdlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDE7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDYwMHB4O1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FsZW5kYXItLW1vbnRoIC5jYWxlbmRhcl9fd3JhcC0taGVhZGVyIC5jYWxlbmRhcl9fbW9udGgtcGFnZXIsXG4gICAgLmNhbGVuZGFyLS1tb250aCAuY2FsZW5kYXJfX21vbnRoLXBhZ2VyLS1sb3dlcixcbiAgICAuY2FsZW5kYXItd2Vlay1wYWdlcixcbiAgICAuY2FsZW5kYXItZGF5LXBhZ2VyIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDsgfVxuICAgICAgLmNhbGVuZGFyLS1tb250aCAuY2FsZW5kYXJfX3dyYXAtLWhlYWRlciAuY2FsZW5kYXJfX21vbnRoLXBhZ2VyLmNhbGVuZGFyX19tb250aC1wYWdlci0tbG93ZXIsXG4gICAgICAuY2FsZW5kYXItLW1vbnRoIC5jYWxlbmRhcl9fbW9udGgtcGFnZXItLWxvd2VyLmNhbGVuZGFyX19tb250aC1wYWdlci0tbG93ZXIsXG4gICAgICAuY2FsZW5kYXItd2Vlay1wYWdlci5jYWxlbmRhcl9fbW9udGgtcGFnZXItLWxvd2VyLFxuICAgICAgLmNhbGVuZGFyLWRheS1wYWdlci5jYWxlbmRhcl9fbW9udGgtcGFnZXItLWxvd2VyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICAuY2FsZW5kYXItLW1vbnRoIC5jYWxlbmRhcl9fd3JhcC0taGVhZGVyIC5jYWxlbmRhcl9fbW9udGgtcGFnZXIgLm1vYmlsZS1oaWRlLFxuICAuY2FsZW5kYXItLW1vbnRoIC5jYWxlbmRhcl9fbW9udGgtcGFnZXItLWxvd2VyIC5tb2JpbGUtaGlkZSxcbiAgLmNhbGVuZGFyLXdlZWstcGFnZXIgLm1vYmlsZS1oaWRlLFxuICAuY2FsZW5kYXItZGF5LXBhZ2VyIC5tb2JpbGUtaGlkZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2FsZW5kYXItLW1vbnRoIC5jYWxlbmRhcl9fd3JhcC0taGVhZGVyIC5jYWxlbmRhcl9fbW9udGgtcGFnZXIgLm1vYmlsZS1oaWRlLFxuICAgICAgLmNhbGVuZGFyLS1tb250aCAuY2FsZW5kYXJfX21vbnRoLXBhZ2VyLS1sb3dlciAubW9iaWxlLWhpZGUsXG4gICAgICAuY2FsZW5kYXItd2Vlay1wYWdlciAubW9iaWxlLWhpZGUsXG4gICAgICAuY2FsZW5kYXItZGF5LXBhZ2VyIC5tb2JpbGUtaGlkZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfSB9XG5cbi5jYWxlbmRhcl9fd3JhcC0taGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FsZW5kYXJfX3dyYXAtLWhlYWRlciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cblxuLmNhbGVuZGFyX193cmFwLS1oZWFkZXIsXG4uY2FsZW5kYXJfX3dyYXAtLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxNHB4OyB9XG4gIC5jYWxlbmRhcl9fd3JhcC0taGVhZGVyIC5jYWxlbmRhcl9fdGl0bGUgaDIsXG4gIC5jYWxlbmRhcl9fd3JhcC0tdGl0bGUgLmNhbGVuZGFyX190aXRsZSBoMiB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYWxlbmRhcl9fd3JhcC0taGVhZGVyIC5jYWxlbmRhcl9fdGl0bGUgaDIsXG4gICAgICAuY2FsZW5kYXJfX3dyYXAtLXRpdGxlIC5jYWxlbmRhcl9fdGl0bGUgaDIge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAuY2FsZW5kYXJfX3dyYXAtLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmNhbGVuZGFyX19wYWdlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmNhbGVuZGFyX19wYWdlcjo6YmVmb3JlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG5cbi5jYWxlbmRhcl9fdGl0bGUge1xuICBvcmRlcjogMTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5idXR0b24uY2FsZW5kYXJfX3BhZ2VyLS1sZWZ0LFxuLmJ1dHRvbi5jYWxlbmRhcl9fcGFnZXItLXJpZ2h0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtaW5kZW50OiAxMDAlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1NDlmO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciBlYXNlLWluLW91dCAuMjVzOyB9XG4gIC5idXR0b24uY2FsZW5kYXJfX3BhZ2VyLS1sZWZ0OmhvdmVyLCAuYnV0dG9uLmNhbGVuZGFyX19wYWdlci0tbGVmdDpmb2N1cyxcbiAgLmJ1dHRvbi5jYWxlbmRhcl9fcGFnZXItLXJpZ2h0OmhvdmVyLFxuICAuYnV0dG9uLmNhbGVuZGFyX19wYWdlci0tcmlnaHQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMTgwOWY7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyMHB4OyB9XG5cbi5idXR0b24uY2FsZW5kYXJfX3BhZ2VyLS1sZWZ0IHtcbiAgb3JkZXI6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2Fzc2V0cy9kaXN0L2ltYWdlcy9wYWdlci1hcnJvdy1wcmV2LnN2Z1wiKTsgfVxuICAuYnV0dG9uLmNhbGVuZGFyX19wYWdlci0tbGVmdDpob3ZlciwgLmJ1dHRvbi5jYWxlbmRhcl9fcGFnZXItLWxlZnQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2Fzc2V0cy9kaXN0L2ltYWdlcy9wYWdlci1hcnJvdy1wcmV2LnN2Z1wiKTsgfVxuXG4uYnV0dG9uLmNhbGVuZGFyX19wYWdlci0tcmlnaHQge1xuICBvcmRlcjogMjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vYXNzZXRzL2Rpc3QvaW1hZ2VzL3BhZ2VyLWFycm93LW5leHQuc3ZnXCIpOyB9XG4gIC5idXR0b24uY2FsZW5kYXJfX3BhZ2VyLS1yaWdodDpob3ZlciwgLmJ1dHRvbi5jYWxlbmRhcl9fcGFnZXItLXJpZ2h0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9hc3NldHMvZGlzdC9pbWFnZXMvcGFnZXItYXJyb3ctbmV4dC5zdmdcIik7IH1cblxuLyoqXG4gKiBHcmlkIHN0eWxpbmdcbiAqXG4gKiBUaGUgZ3JpZCBzdHlsaW5nIGZvciB0aGUgc2luZ2xlLWRheSBldmVudFxuICogY2VsbHMgdXNlcyBmbGV4Ym94IGNvbnRhaW5lcnMgZm9yIHRoZSByb3dcbiAqIGFuZCAxLzcgb2YgdGhlIGNvbnRhaW5lciBmb3IgdGhlIHdpZHRoIG9uXG4gKiBlYWNoIGl0ZW0uIFRoZSBmaXJzdCBpdGVtIGluIHRoZSByb3cgaXNcbiAqIGFsd2F5cyB0aGUgbXVsdGktZGF5IGV2ZW50IGNlbGwsIHdoaWNoIGlzIDEwMCVcbiAqIHdpZGUsIGFuZCB1c2VzIGl0J3Mgb3duIGdyaWQgdG8gY29udHJvbFxuICogbGF5b3V0IGZvciBtdWx0aS1kYXkgZXZlbnRzLlxuICovXG4uY2FsZW5kYXJfX3dyYXAtLWdyaWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNkMWQxZDE7IH1cblxuLmNhbGVuZGFyX19yb3ctLWhlYWRlcixcbi5jYWxlbmRhcl9fcm93LS1jb250ZW50LFxuLmNhbGVuZGFyX19udW1iZXJzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgLmNhbGVuZGFyX19yb3ctLWZvb3RlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5jYWxlbmRhcl9fZGF5LFxuLmNhbGVuZGFyX19kYXktLW51bWJlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDVweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYWxlbmRhcl9fZGF5LFxuICAgIC5jYWxlbmRhcl9fZGF5LS1udW1iZXIge1xuICAgICAgd2lkdGg6IDE0LjI4NTcxJTsgfSB9XG5cbi5jYWxlbmRhcl9fZGF5LS1tdWx0aSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jYWxlbmRhcl9fZGF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYWxlbmRhcl9fZGF5IHtcbiAgICAgIG1pbi1oZWlnaHQ6IDI1cHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY2FsZW5hcl9fZGF5LS1udW1iZXIge1xuICAgIG1pbi1oZWlnaHQ6IDA7IH0gfVxuXG4uY2FsZW5kYXJfX2RheS0taGVhZGVyIHtcbiAgbWluLWhlaWdodDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5jYWxlbmRhcl9fZGF5LS1ibGFuayB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FsZW5kYXJfX2RheS0tYmxhbmsge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uY2FsZW5kYXJfX3Jvdy0tY29udGVudCAuY2FsZW5kYXJfX2RheS0tYmxhbmsge1xuICBtaW4taGVpZ2h0OiA1cmVtOyB9XG5cbi5jYWxlbmRhcl9fZGF5LS1vdXRzaWRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjsgfVxuXG4vKipcbiAqIENhbGVuZGFyIGJvcmRlcnNcbiAqXG4gKiBFeHRlcm5hbCBib3JkZXJzIGFyZSB3cmFwcGVkIGFyb3VuZCB0aGVcbiAqIC5jYWxlbmRhcl9fd2VlayBlbGVtZW50LCB3aGlsZSBpbnRlcm5hbCBib3JkZXJzXG4gKiBhcmUgYWJzb2x1dGVseSBwb3NpdGlvbmVkIGVtcHR5IGRpdnMuXG4gKi9cbi5jYWxlbmRhcl9fd2VlayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNkMWQxZDE7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FsZW5kYXJfX3dlZWsge1xuICAgICAgcGFkZGluZy10b3A6IDI1cHg7IH0gfVxuXG4uY2FsZW5kYXJfX3dlZWstLWVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYWxlbmRhcl9fd2Vlay0tZW1wdHkge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uY2FsZW5kYXJfX2JhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAwO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGNvbG9yOiAjZDFkMWQxO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHgsIC0xcHggMCAwIDA7XG4gIG9wYWNpdHk6IC4yNTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYWxlbmRhcl9fYmFyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLmNhbGVuZGFyX19iYXItLTEge1xuICBsZWZ0OiAxNC4yODU3MSU7IH1cblxuLmNhbGVuZGFyX19iYXItLTIge1xuICBsZWZ0OiAyOC41NzE0MyU7IH1cblxuLmNhbGVuZGFyX19iYXItLTMge1xuICBsZWZ0OiA0Mi44NTcxNCU7IH1cblxuLmNhbGVuZGFyX19iYXItLTQge1xuICBsZWZ0OiA1Ny4xNDI4NiU7IH1cblxuLmNhbGVuZGFyX19iYXItLTUge1xuICBsZWZ0OiA3MS40Mjg1NyU7IH1cblxuLmNhbGVuZGFyX19iYXItLTYge1xuICBsZWZ0OiA4NS43MTQyOSU7IH1cblxuLyoqXG4gKiBMaW5rIG92ZXJsYXlzXG4gKlxuICogRWFjaCBkYXkgaW4gdGhlIGNhbGVuZGFyIGhhcyBhbiBhc3NvY2lhdGVkIGxpc3Qgb2YgZGF5c1xuICogdGhhdCBpcyBzdG9yZWQgYmVsb3cgdGhlIGNhbGVuZGFyIHRoYXQgY29udGFpbnMgbW9yZVxuICogaW5mb3JtYXRpb24uIFRvIGFjY2VzcyB0aGlzIGluZm9ybWF0aW9uLCB0aGVyZSBhcmUgbGlua1xuICogb3ZlcmxheXMgcG9zaXRpb25lZCBhYnNvbHV0ZWx5IGFib3ZlIHRoZSBkYXkgY2VsbHMuXG4gKi9cbi5jYWxlbmRhcl9fbnVtYmVycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxNTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYWxlbmRhcl9fbnVtYmVycyB7XG4gICAgICBoZWlnaHQ6IDIwcHg7IH0gfVxuXG4uY2FsZW5kYXJfX251bWJlci1kYXktLW11bHRpIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7IH1cblxuLyoqXG4gKiBNdWx0aS1kYXkgZ3JpZHNcbiAqXG4gKiBVbmxpa2UgdGhlIHJlZ3VsYXIgZ3JpZCBjZWxscyBmb3IgdGhlIGNhbGVuZGFyLCB3aGljaFxuICogdXNlIGZsZXhib3gsIHRoZSBtdWx0aS1kYXkgZ3JpZHMgdXNlIFNpbmd1bGFyaXR5IEdTJ3NcbiAqIGZsb2F0IGdyaWQtc3BhbnMgc28gdGhhdCB0aGV5IGNhbiBzdGFydCBhdCBhcmJpdHJhcnlcbiAqIHBvaW50cyB3aXRoaW4gdGhlIGdyaWQuIENsZWFyaW5nIGhhcyB0byBiZSBhcHBsaWVkXG4gKiBtYW51YWxseSB2aWEgYSBjbGVhciBjbGFzcywgYXBwbGllZCB3aGVuIHRoZSB0ZW1wbGF0ZVxuICogaXMgZmlyc3QgZ2VuZXJhdGVkLlxuICovXG4uY2FsZW5kYXJfX2RheS0tbXVsdGkge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsgfVxuICAuY2FsZW5kYXJfX2RheS0tbXVsdGk6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiAnJzsgfVxuXG4uY2FsZW5kYXJfX2RheS1zcGFuLS0xLTEge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDE0LjI4NTcxJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGNsZWFyOiBub25lOyB9XG5cbi5jYWxlbmRhcl9fZGF5LXNwYW4tLTEtNyB7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IDE0LjI4NTcxJTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgY2xlYXI6IG5vbmU7IH1cblxuLmNhbGVuZGFyX19kYXktc3Bhbi0tMi0xIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyOC41NzE0MyU7XG4gIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBjbGVhcjogbm9uZTsgfVxuXG4uY2FsZW5kYXJfX2RheS1zcGFuLS0yLTIge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDI4LjU3MTQzJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDE0LjI4NTcxJTtcbiAgY2xlYXI6IG5vbmU7IH1cblxuLmNhbGVuZGFyX19kYXktc3Bhbi0tMi0zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyOC41NzE0MyU7XG4gIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAyOC41NzE0MyU7XG4gIGNsZWFyOiBub25lOyB9XG5cbi5jYWxlbmRhcl9fZGF5LXNwYW4tLTItNCB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMjguNTcxNDMlO1xuICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICBtYXJnaW4tbGVmdDogNDIuODU3MTQlO1xuICBjbGVhcjogbm9uZTsgfVxuXG4uY2FsZW5kYXJfX2RheS1zcGFuLS0yLTUge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDI4LjU3MTQzJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDU3LjE0Mjg2JTtcbiAgY2xlYXI6IG5vbmU7IH1cblxuLmNhbGVuZGFyX19kYXktc3Bhbi0tMi02IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB3aWR0aDogMjguNTcxNDMlO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBjbGVhcjogbm9uZTsgfVxuXG4uY2FsZW5kYXJfX2RheS1zcGFuLS0zLTEge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDQyLjg1NzE0JTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGNsZWFyOiBub25lOyB9XG5cbi5jYWxlbmRhcl9fZGF5LXNwYW4tLTMtMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNDIuODU3MTQlO1xuICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICBtYXJnaW4tbGVmdDogMTQuMjg1NzElO1xuICBjbGVhcjogbm9uZTsgfVxuXG4uY2FsZW5kYXJfX2RheS1zcGFuLS0zLTMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDQyLjg1NzE0JTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDI4LjU3MTQzJTtcbiAgY2xlYXI6IG5vbmU7IH1cblxuLmNhbGVuZGFyX19kYXktc3Bhbi0tMy00IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA0Mi44NTcxNCU7XG4gIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gIG1hcmdpbi1sZWZ0OiA0Mi44NTcxNCU7XG4gIGNsZWFyOiBub25lOyB9XG5cbi5jYWxlbmRhcl9fZGF5LXNwYW4tLTMtNSB7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IDQyLjg1NzE0JTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgY2xlYXI6IG5vbmU7IH1cblxuLmNhbGVuZGFyX19kYXktc3Bhbi0tNC0xIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA1Ny4xNDI4NiU7XG4gIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBjbGVhcjogbm9uZTsgfVxuXG4uY2FsZW5kYXJfX2RheS1zcGFuLS00LTIge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDU3LjE0Mjg2JTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDE0LjI4NTcxJTtcbiAgY2xlYXI6IG5vbmU7IH1cblxuLmNhbGVuZGFyX19kYXktc3Bhbi0tNC0zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA1Ny4xNDI4NiU7XG4gIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAyOC41NzE0MyU7XG4gIGNsZWFyOiBub25lOyB9XG5cbi5jYWxlbmRhcl9fZGF5LXNwYW4tLTQtNCB7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IDU3LjE0Mjg2JTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgY2xlYXI6IG5vbmU7IH1cblxuLmNhbGVuZGFyX19kYXktc3Bhbi0tNS0xIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA3MS40Mjg1NyU7XG4gIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBjbGVhcjogbm9uZTsgfVxuXG4uY2FsZW5kYXJfX2RheS1zcGFuLS01LTIge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDcxLjQyODU3JTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDE0LjI4NTcxJTtcbiAgY2xlYXI6IG5vbmU7IH1cblxuLmNhbGVuZGFyX19kYXktc3Bhbi0tNS0zIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB3aWR0aDogNzEuNDI4NTclO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBjbGVhcjogbm9uZTsgfVxuXG4uY2FsZW5kYXJfX2RheS1zcGFuLS02LTEge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDg1LjcxNDI5JTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGNsZWFyOiBub25lOyB9XG5cbi5jYWxlbmRhcl9fZGF5LXNwYW4tLTYtMiB7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IDg1LjcxNDI5JTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgY2xlYXI6IG5vbmU7IH1cblxuLmNhbGVuZGFyX19kYXktc3Bhbi0tNy0xIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgY2xlYXI6IG5vbmU7IH1cblxuLmNhbGVuZGFyX19kYXktc3BhbiB7XG4gIHBhZGRpbmc6IDAgLjhweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgIC5jYWxlbmRhcl9fZGF5LXNwYW4ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5jYWxlbmRhcl9fZGF5LXNwYW4tLWNsZWFyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLyoqXG4gKiBDYWxlbmRhciBMaXN0IFN0eWxpbmdcbiAqXG4gKiBJbiBhZGRpdGlvbiB0byB0aGUgMzAtZGF5IGdyaWQsIHRoZXJlJ3MgYSBsaXN0IHZpZXdcbiAqIGZvciBlYXNpZXIgdXNhZ2Ugb24gbW9iaWxlIHRoYXQgYXBwZWFycyBiZWxvdyB0aGVcbiAqIG5vcm1hbCAzMC1kYXkgY2FsZW5kYXIuIEl0J3MgYnJvdWdodCB1cCBhIGZpeGVkXG4gKiBwb3NpdGlvbiB3aGVuZXZlciB0aGUgdXNlciB0b3VjaGVzIGl0J3MgYXNzb2NpYXRlZFxuICogZGF5IG9uIHRoZSBjYWxlbmRhciBncmlkLlxuICovXG4uY2FsZW5kYXJfX2RheS1oZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhbGVuZGFyX19kYXktaGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uY2FsZW5kYXJfX21vYmlsZS1saXN0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxNXB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7IH1cbiAgLmNhbGVuZGFyX19tb2JpbGUtbGlzdC5saXN0IHtcbiAgICB6LWluZGV4OiA1MDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIC5jYWxlbmRhcl9fbW9iaWxlLWxpc3QgLmV2ZW50LWNhcmQtLXNwYXJzZSAudGltZS0tZW5kLFxuICAuY2FsZW5kYXJfX21vYmlsZS1saXN0IC5ldmVudC1jYXJkLS1zcGFyc2UgLnRpbWUtLXNlcGFyYXRvciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87IH1cbiAgLmNhbGVuZGFyX19tb2JpbGUtbGlzdCAuZXZlbnQtY2FyZC0tc3BhcnNlIC50aW1lLS1zdGFydCAuZXZlbnQtY2FyZF9fZGF5LS1pbmxpbmUsXG4gIC5jYWxlbmRhcl9fbW9iaWxlLWxpc3QgLmV2ZW50LWNhcmQtLXNwYXJzZSAudGltZS0tc3RhcnQgLmV2ZW50LWNhcmRfX3NlcGFyYXRvciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87IH1cblxuLmNhbGVuZGFyX19saXN0LFxuLmNhbGVuZGFyX19saXN0LWl0ZW0sXG4uY2FsZW5kYXJfX2xpc3QtLWRheSxcbi5jYWxlbmRhcl9fbGlzdC1pdGVtLS1kYXkge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuXG4uY2FsZW5kYXJfX2xpc3QtaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBwYWRkaW5nOiAxNXB4IDA7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZDFkMWQxOyB9XG5cbi5jYWxlbmRhcl9fbGlzdC10aXRsZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uY2FsZW5kYXJfX2xpc3QtLWRheSB7XG4gIGZsZXgtZ3JvdzogMTsgfVxuXG4ua2lkcyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiZDBhO1xuICBib3JkZXItY29sb3I6ICNlMTlmMDA7IH1cbiAgLmtpZHMgYTpob3ZlciB7XG4gICAgY29sb3I6ICM0YWFjYTI7IH1cbiAgLmtpZHMgaDIsXG4gIC5raWRzIGgzLFxuICAua2lkcyBoNCB7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLnRlZW5zIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzZDQyNDY7XG4gIGJvcmRlci1jb2xvcjogIzFmMjQyODsgfVxuICAudGVlbnMgaDIsXG4gIC50ZWVucyBoMyxcbiAgLnRlZW5zIGg0IHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4uYWR1bHQge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRhYWNhMjtcbiAgYm9yZGVyLWNvbG9yOiAjMmM4ZTg0OyB9XG4gIC5hZHVsdCBoMixcbiAgLmFkdWx0IGgzLFxuICAuYWR1bHQgaDQge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5hZHVsdCBhIHtcbiAgICBjb2xvcjogIzU3YjdkZjsgfVxuICAgIC5hZHVsdCBhOmZvY3VzLCAuYWR1bHQgYTpob3ZlciwgLmFkdWx0IGE6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmZiZDBhO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5jYWxlbmRhci1waWNrZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jYWxlbmRhci1waWNrZXItdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDIwO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY2FsZW5kYXItcGlja2VyLXRpdGxlIGgyIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5jYWxlbmRhci1waWNrZXItaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGF1dG87XG4gIG9wYWNpdHk6IDA7IH1cbiAgLmNhbGVuZGFyLXBpY2tlci5hY3RpdmUgLmNhbGVuZGFyLXBpY2tlci1pbnB1dCB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBlYXNlLWluLW91dCAuMjVzLCBvcGFjaXR5IGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsgfVxuXG4uY2FsZW5kYXJfX21vbnRoLXBhZ2VyLS1sb3dlciB7XG4gIG1hcmdpbi1ib3R0b206IDIuMnJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYWxlbmRhcl9fbW9udGgtcGFnZXItLWxvd2VyIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbi5jYWxlbmRhci1waWNrZXItbGluay0tbG93ZXIge1xuICBmb250LXNpemU6IDE2cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FsZW5kYXItcGlja2VyLWxpbmstLWxvd2VyIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG4gIC5jYWxlbmRhci1waWNrZXItbGluay0tbG93ZXIgcCB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jYWxlbmRhcl9fcGFnZXItLXJpZ2h0LWxvd2VyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uaWUxMCAuY2FsZW5kYXItLW1vbnRoIC5ub2RlLS12aWV3LW1vZGUtdGVhc2VyLmV2ZW50LWNhcmQtLXNwYXJzZSxcbi5pZTExIC5jYWxlbmRhci0tbW9udGggLm5vZGUtLXZpZXctbW9kZS10ZWFzZXIuZXZlbnQtY2FyZC0tc3BhcnNlIHtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cblxuLmllMTAgLmNhbGVuZGFyX193cmFwLS1oZWFkZXIsXG4uaWUxMSAuY2FsZW5kYXJfX3dyYXAtLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5pZTEwIC5jYWxlbmRhcl9fd3JhcC0taGVhZGVyOjphZnRlcixcbiAgLmllMTEgLmNhbGVuZGFyX193cmFwLS1oZWFkZXI6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiAnJzsgfVxuICAuaWUxMCAuY2FsZW5kYXJfX3dyYXAtLWhlYWRlciAudGFicyxcbiAgLmllMTEgLmNhbGVuZGFyX193cmFwLS1oZWFkZXIgLnRhYnMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmllMTAgLmNhbGVuZGFyX193cmFwLS1oZWFkZXIgLmNhbGVuZGFyX19tb250aC1wYWdlcixcbiAgICAuaWUxMSAuY2FsZW5kYXJfX3dyYXAtLWhlYWRlciAuY2FsZW5kYXJfX21vbnRoLXBhZ2VyIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuaWUxMCAuY2FsZW5kYXJfX3dyYXAtLWhlYWRlciAuY2FsZW5kYXJfX21lbnUtdGFza3MsXG4gICAgLmllMTEgLmNhbGVuZGFyX193cmFwLS1oZWFkZXIgLmNhbGVuZGFyX19tZW51LXRhc2tzIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5pZTEwIC5jYWxlbmRhcl9fd3JhcC0tdGlsdGUsXG4gIC5pZTExIC5jYWxlbmRhcl9fd3JhcC0tdGlsdGUge1xuICAgIGNsZWFyOiBib3RoOyB9IH1cblxuLmxjLWZvcm0tLWNhbGVuZGFyLWZpbHRlcnMgLnBhZ2VyX19pdGVtcyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5sYy1mb3JtLS1jYWxlbmRhci1maWx0ZXJzIC5wYWdlcl9faXRlbXMge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG4uY2FsZW5kYXItcGlja2VyLWlucHV0LS1sb3dlciB7XG4gIHotaW5kZXg6IDE7IH1cblxuLmNhbGVuZGFyX19tb250aC1wYWdlci0tbG93ZXIgLmNhbGVuZGFyX19wYWdlciB7XG4gIHotaW5kZXg6IDI7IH1cblxuLmxjLWZvcm1fX2NvbnRlbnQge1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sYy1mb3JtX19jb250ZW50IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICAubGMtZm9ybV9fY29udGVudC5hY3RpdmUge1xuICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAuaWUgLmNhbGVuZGFyX193cmFwLS10aXRsZSB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uaWUgLmNhbGVuZGFyX190aXRsZSB7XG4gIHotaW5kZXg6IDE7IH1cblxuLmllIC5jYWxlbmRhcl9fcGFnZXIge1xuICB6LWluZGV4OiAyOyB9XG5cbnNwYW4ubGMtZXZlbnRfX2FnZS1ncm91cC5sYy1ldmVudF9fYWdlLWdyb3VwLS1jaGlsZC5sYy1ldmVudF9fYWdlLWdyb3VwLS1uby1saW5rIHtcbiAgY29sb3I6ICMzMzM7IH1cblxuLmNhbGVuZGFyX19kYXktYWpheC53aGl0ZS1wb3B1cCAubWZwLWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiA1cHg7XG4gIHotaW5kZXg6IDEwMDAwO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcbiAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhbGVuZGFyX19kYXktYWpheC53aGl0ZS1wb3B1cCAubWZwLWNsb3NlIHtcbiAgICAgIHRvcDogLTEwcHg7XG4gICAgICByaWdodDogNXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY2FsZW5kYXJfX2RheS1hamF4LndoaXRlLXBvcHVwIC5tZnAtY2xvc2Uge1xuICAgICAgdG9wOiAtMTVweDtcbiAgICAgIHJpZ2h0OiA1cHg7IH0gfVxuICAuY2FsZW5kYXJfX2RheS1hamF4LndoaXRlLXBvcHVwIC5tZnAtY2xvc2U6aG92ZXIsIC5jYWxlbmRhcl9fZGF5LWFqYXgud2hpdGUtcG9wdXAgLm1mcC1jbG9zZTpmb2N1cyB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2FsZW5kYXJfX2RheS1hamF4LndoaXRlLXBvcHVwIC5tZnAtY2xvc2U6aG92ZXIsIC5jYWxlbmRhcl9fZGF5LWFqYXgud2hpdGUtcG9wdXAgLm1mcC1jbG9zZTpmb2N1cyB7XG4gICAgICAgIHRvcDogLTEwcHg7XG4gICAgICAgIHJpZ2h0OiA1cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY2FsZW5kYXJfX2RheS1hamF4LndoaXRlLXBvcHVwIC5tZnAtY2xvc2U6aG92ZXIsIC5jYWxlbmRhcl9fZGF5LWFqYXgud2hpdGUtcG9wdXAgLm1mcC1jbG9zZTpmb2N1cyB7XG4gICAgICAgIHRvcDogLTE1cHg7XG4gICAgICAgIHJpZ2h0OiA1cHg7IH0gfVxuXG4ucGF0aC1ldmVudHMgLm1mcC1iZyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTsgfVxuXG4uY2FsZW5kYXJfX2RheS1hamF4IHtcbiAgbWFyZ2luLXJpZ2h0OiA2MHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhbGVuZGFyX19kYXktYWpheCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jYWxlbmRhcl9fZGF5LWFqYXgge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5jYWxlbmRhcl9fZGF5LWFqYXggLmNhbGVuZGFyX19kYXktYWpheC1jb250ZW50IHtcbiAgICB3aWR0aDogNDAwcHg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDIwcHgpO1xuICAgIHBhZGRpbmc6IDIwcHggNXB4IDIwcHggMjBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMzMzM7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2FsZW5kYXJfX2RheS1hamF4IC5jYWxlbmRhcl9fZGF5LWFqYXgtY29udGVudCB7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDYwcHgpOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNhbGVuZGFyX19kYXktYWpheCAuY2FsZW5kYXJfX2RheS1hamF4LWNvbnRlbnQge1xuICAgICAgICBoZWlnaHQ6IDgwdmg7IH0gfVxuICAgIC5jYWxlbmRhcl9fZGF5LWFqYXggLmNhbGVuZGFyX19kYXktYWpheC1jb250ZW50IC5sYy1ldmVudC0tdXBjb21pbmcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICAgIC5jYWxlbmRhcl9fZGF5LWFqYXggLmNhbGVuZGFyX19kYXktYWpheC1jb250ZW50IC5jYWxlbmRhcl9fZGF5LXRpdGxlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gIC5jYWxlbmRhcl9fZGF5LWFqYXggLmNhbGVuZGFyX19kYXktYWpheC13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDsgfVxuICAuY2FsZW5kYXJfX2RheS1hamF4IC5jYWxlbmRhcl9fZGF5LXdyYXAtLWFkZGl0aW9uYWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gICAgLmNhbGVuZGFyX19kYXktYWpheCAuY2FsZW5kYXJfX2RheS13cmFwLS1hZGRpdGlvbmFsIC5jYWxlbmRhcl9fZGF5LS1hamF4IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5taWNyb21vZGFsIC5jYWxlbmRhcl9fZGF5LWFqYXgge1xuICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLm1pY3JvbW9kYWwgLmNhbGVuZGFyX19kYXktYWpheCAuY2FsZW5kYXJfX2RheS1hamF4LWNvbnRlbnQge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLm1pY3JvbW9kYWwgLmNhbGVuZGFyX19kYXktYWpheC13cmFwIHtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4uY2FsZW5kYXIgLmNhbGVuZGFyX19kYXktbG9hZCB7XG4gIHBhZGRpbmc6IDVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA1cHg7IH1cblxuLmJsb2NrLWxjLWNhbGVuZGFyIC5jYWxlbmRhcl9fbGlua3MgLmNhbGVuZGFyX19saW5rIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuXG4ubGMtc2tpcC1idXR0b24ge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5sYy1za2lwLWJ1dHRvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgICBib3JkZXI6IDA7IH1cbiAgICAgIC5sYy1za2lwLWJ1dHRvbjphY3RpdmUsIC5sYy1za2lwLWJ1dHRvbjpmb2N1cyB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIGNsaXA6IGF1dG87IH0gfVxuXG4uY2FsZW5kYXItLW1vbnRoLS1zdXBwcmVzcy1leGNlc3MtZXZlbnRzIC5jYWxlbmRhcl9fZGF5LS1vdXRzaWRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYWxlbmRhci0tbW9udGgtLXN1cHByZXNzLWV4Y2Vzcy1ldmVudHMgLmNhbGVuZGFyX19kYXktLW91dHNpZGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uY2FsZW5kYXJfX251bWJlcnMge1xuICB6LWluZGV4OiAwOyB9XG5cbi5sYy13ZWVrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdmVyZmxvdzogc2Nyb2xsOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmxjLXdlZWsge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7IH0gfVxuICAubGMtd2VlayAubGMtd2Vlay1kYXkge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgLmxjLXdlZWsgLmxjLXdlZWstZGF5LWNvbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5sYy13ZWVrIC5sYy13ZWVrLWRheS1jb2wge1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgLmxjLXdlZWsgLmxjLXdlZWstZGF5LWNvbC5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjsgfVxuICAubGMtd2VlayAubGMtd2Vlay10aW1lIC5hbGwtZGF5LXJvdyB7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gIC5sYy13ZWVrIC5sYy13ZWVrLXRpbWUtY29sIHtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmxjLXdlZWsgLmxjLXdlZWstdGltZS1jb2wge1xuICAgICAgICB3aWR0aDogMTAlOyB9IH1cbiAgLmxjLXdlZWsgdGgsXG4gIC5sYy13ZWVrIHRkIHtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2QyZDNkNTsgfVxuICAubGMtd2VlayB0Ym9keSB7XG4gICAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7IH1cbiAgICAubGMtd2VlayB0Ym9keSArIHRib2R5IHtcbiAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZDJkM2Q1OyB9XG4gIC5sYy13ZWVrIHRkIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QyZDNkNTsgfVxuICAubGMtd2VlayB0aGVhZCB0aCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZGVlMmU2OyB9XG5cbi5sYy1kYXkgLmFsbC1kYXktcm93LCAubGMtZGF5IC5sYy1kYXktcm9vbS1jb2w6Zmlyc3Qtb2YtdHlwZSwgLmxjLWRheSAubGMtZGF5LXRpbWUgdGgge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB6LWluZGV4OiAzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cbi5sYy1kYXkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG92ZXJmbG93LXg6IHNjcm9sbDtcbiAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZDJkM2Q1O1xuICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNkMmQzZDU7IH1cbiAgLmxjLWRheSB0aCxcbiAgLmxjLWRheSB0ZCB7XG4gICAgYm9yZGVyOiAwOyB9XG4gIC5sYy1kYXkgdGgsXG4gIC5sYy1kYXkgdGQge1xuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNkMmQzZDU7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkMmQzZDU7IH1cbiAgLmxjLWRheSAubGMtZGF5LXJvb20ge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgLmxjLWRheSAubGMtZGF5LWJyYW5jaC1jb2wge1xuICAgIGZvbnQtc2l6ZTogbGFyZ2U7IH1cbiAgLmxjLWRheSAubGMtZGF5LWJyYW5jaC1jb2wsXG4gIC5sYy1kYXkgLmxjLWRheS1yb29tLWNvbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5sYy1kYXkgLmxjLWRheS1icmFuY2gtY29sLFxuICAgICAgLmxjLWRheSAubGMtZGF5LXJvb20tY29sIHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgIC5sYy1kYXkgLmxjLWRheS1icmFuY2gtY29sLmFjdGl2ZSxcbiAgICAubGMtZGF5IC5sYy1kYXktcm9vbS1jb2wuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7IH1cbiAgLmxjLWRheSB0aCxcbiAgLmxjLWRheSB0ZCB7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5sYy1kYXkgdGJvZHkge1xuICAgIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0OyB9XG4gIC5sYy1kYXkgdGhlYWQgdGgge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cbiAgLmxjLWRheSAuZXZlbnQtY2FyZCB7XG4gICAgbWluLXdpZHRoOiAxNzVweDsgfVxuICAubGMtZGF5IHRyOm5vdCgubGMtZGF5LWFsbC1kYXktcm93KSAuZXZlbnQtY2FyZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwOyB9XG4gIC5sYy1kYXkgLmFsbC1kYXktcm93IHtcbiAgICBsZWZ0OiAwOyB9XG4gIC5sYy1kYXkgLmxjLWRheS1yb29tLWNvbDpmaXJzdC1vZi10eXBlIHtcbiAgICBsZWZ0OiAwOyB9XG4gIC5sYy1kYXkgLmxjLWRheS10aW1lIHRoIHtcbiAgICBsZWZ0OiAwOyB9XG5cbi5sYy1tZW51LXRhc2tzIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmxjLW1lbnUtdGFza3MgYSB7XG4gICAgcGFkZGluZzogMTBweDsgfVxuXG4vKiBSZWdpc3RyYXRpb24gTm90aWZpY2F0aW9ucyAqL1xuLmxjLW1lc3NhZ2VzX19tZXNzYWdlIHtcbiAgcGFkZGluZzogMCAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMmQzZDU7IH1cblxuLmxjLWRhdGUtaWNvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLmxjLWRhdGUtaWNvbl9faXRlbSB7XG4gIHdpZHRoOiAzLjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyOiAycHggc29saWQgIzAwNTQ5ZjtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuXG4ubGMtZGF0ZS1pY29uX19pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwNTQ5ZjsgfVxuXG4uZGF0ZS1pY29uX195ZWFyIHtcbiAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgZm9udC1zaXplOiAxMHB4OyB9XG5cbi5sYy1kYXRlLWljb25fX2l0ZW0tLW1vbnRoIHtcbiAgbGluZS1oZWlnaHQ6IDI7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1NDlmOyB9XG5cbi5sYy1kYXRlLWljb25fX2l0ZW0tLWRheSB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgY29sb3I6ICMzMzM7XG4gIGJvcmRlci10b3A6IG5vbmU7IH1cblxuLmxjLWRhdGUtaWNvbl9faXRlbS0tbXVsdGktZGF5IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMThweDsgfVxuXG4ubGMtZGF0ZS1pY29uX19pdGVtLS1kYXktbmFtZSB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgYm9yZGVyLXRvcDogbm9uZTsgfVxuXG4ubGMtZXZlbnRfX3NpZGViYXIgLmxjLWRhdGUtaWNvbl9faXRlbS0tZGF5IHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLmxjLWV2ZW50X19zaWRlYmFyIC5sYy1kYXRlLWljb25fX2l0ZW0tLXllYXIge1xuICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItdG9wOiBub25lOyB9XG5cbi5sYy1ldmVudF9fZXZlbnQtZGV0YWlscy0tdXBjb21pbmcgLmxjLWRhdGUtaWNvbl9faXRlbS0teWVhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgYm9yZGVyOiAwOyB9XG5cbi5ldmVudC1jYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJhY2tncm91bmQ6ICNlZmVmZWY7IH1cblxuLmV2ZW50LWNhcmQsXG4uZXZlbnQtY2FyZF9fdG9wLFxuLmV2ZW50LWNhcmRfX2JvdHRvbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB3aWR0aDogMTAwJTsgfVxuXG4uZXZlbnQtY2FyZF9fdGl0bGUge1xuICBtYXJnaW46IDA7IH1cblxuLmV2ZW50LWNhcmRfX3Jvb20ge1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmV2ZW50LWNhcmRfX2RheSB7XG4gIGZvbnQtc2l6ZTogMTRweDsgfVxuXG4uZXZlbnQtY2FyZF9fdGltZSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuXG4uZXZlbnQtY2FyZF9fZGF0ZSB7XG4gIG9yZGVyOiAwOyB9XG5cbi5ldmVudC1jYXJkX19kZXRhaWxzIHtcbiAgZmxleC1ncm93OiAxO1xuICBvcmRlcjogMTtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuXG4uZXZlbnQtY2FyZF9fbGFiZWxzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogc3RldGNoO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG9yZGVyOiAyO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwOyB9XG5cbi5ldmVudC1jYXJkX19sYWJlbCB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgcGFkZGluZzogMTBweCA1cHggMDtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAuZXZlbnQtY2FyZF9fbGFiZWwgLmxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IC42MjVlbTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5OyB9XG5cbi5sYy1ldmVudF9fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDE7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubGMtZXZlbnRfX3dyYXBwZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG5cbi5sYy1ldmVudF9fZGV0YWlscyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgLmxjLWV2ZW50X19kZXRhaWxzIGgyIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLmxjLWV2ZW50X190aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLmxjLWV2ZW50X191cGNvbWluZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmxjLWV2ZW50X19tb250aC1zdW1tYXJ5IHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4vKiBjb2xvciBjb2Rpbmcgc3RyaXAgKi9cbi5sYy1ldmVudF9fY29sb3ItY29kaW5nIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICB3aWR0aDogNnB4O1xuICBtaW4td2lkdGg6IDZweDsgfVxuXG4ubGMtZXZlbnRfX2NvbG9yLWluZGljYXRvciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDE7XG4gIG9yZGVyOiAwO1xuICBwYWRkaW5nOiAzcHg7IH1cblxuLmxjLWV2ZW50X19ldmVudC1kZXRhaWxzIHtcbiAgZmxleDogMTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICBtYXJnaW4tbGVmdDogNXB4OyB9XG5cbi5uby1jb2xvci1jb2RpbmcgLmxjLWV2ZW50X19ldmVudC1kZXRhaWxzIHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLm5vLWNvbG9yLWNvZGluZyAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMgLmxjLWRhdGUtaWNvbiB7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uZXZlbnQtY2FyZC0tZnVsbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5ldmVudC1jYXJkLS1zcGFyc2Uubm9kZS0tdmlldy1tb2RlLXRlYXNlciB7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBwYWRkaW5nOiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAuZXZlbnQtY2FyZC0tc3BhcnNlLm5vZGUtLXZpZXctbW9kZS10ZWFzZXIgaDIsXG4gIC5ldmVudC1jYXJkLS1zcGFyc2Uubm9kZS0tdmlldy1tb2RlLXRlYXNlciBoMyxcbiAgLmV2ZW50LWNhcmQtLXNwYXJzZS5ub2RlLS12aWV3LW1vZGUtdGVhc2VyIGg0IHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmV2ZW50LWNhcmQtLXNwYXJzZS5ub2RlLS12aWV3LW1vZGUtdGVhc2VyIC5sYy1ldmVudF9fZGV0YWlscyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5ldmVudC1jYXJkLS1zcGFyc2Uubm9kZS0tdmlldy1tb2RlLXRlYXNlciAuZXZlbnQtY2FyZF9fdGl0bGUsXG4gIC5ldmVudC1jYXJkLS1zcGFyc2Uubm9kZS0tdmlldy1tb2RlLXRlYXNlciAuZXZlbnQtY2FyZF9fcm9vbSxcbiAgLmV2ZW50LWNhcmQtLXNwYXJzZS5ub2RlLS12aWV3LW1vZGUtdGVhc2VyIC5ldmVudC1jYXJkX19kYXktdGltZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgLmV2ZW50LWNhcmQtLXNwYXJzZS5ub2RlLS12aWV3LW1vZGUtdGVhc2VyIC5ldmVudC1jYXJkX190aXRsZSB7XG4gICAgb3JkZXI6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzMzMzsgfVxuICAuZXZlbnQtY2FyZC0tc3BhcnNlLm5vZGUtLXZpZXctbW9kZS10ZWFzZXIgLmV2ZW50LWNhcmRfX3Jvb20ge1xuICAgIG9yZGVyOiAyO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5ldmVudC1jYXJkLS1zcGFyc2Uubm9kZS0tdmlldy1tb2RlLXRlYXNlciAuZXZlbnQtY2FyZF9fZGV0YWlscyB7XG4gICAgb3JkZXI6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5ldmVudC1jYXJkLS1zcGFyc2Uubm9kZS0tdmlldy1tb2RlLXRlYXNlciAuZXZlbnQtY2FyZF9fZGF5LXRpbWUge1xuICAgIGZvbnQtc2l6ZTogMTJweDsgfVxuICAuZXZlbnQtY2FyZC0tc3BhcnNlLm5vZGUtLXZpZXctbW9kZS10ZWFzZXIgLnRpbWUtLWVuZCxcbiAgLmV2ZW50LWNhcmQtLXNwYXJzZS5ub2RlLS12aWV3LW1vZGUtdGVhc2VyIC50aW1lLS1zZXBhcmF0b3Ige1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBib3JkZXI6IDA7IH1cbiAgLmV2ZW50LWNhcmQtLXNwYXJzZS5ub2RlLS12aWV3LW1vZGUtdGVhc2VyIC50aW1lLS1zdGFydCAuZXZlbnQtY2FyZF9fZGF5LS1pbmxpbmUsXG4gIC5ldmVudC1jYXJkLS1zcGFyc2Uubm9kZS0tdmlldy1tb2RlLXRlYXNlciAudGltZS0tc3RhcnQgLmV2ZW50LWNhcmRfX3NlcGFyYXRvciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGJvcmRlcjogMDsgfVxuICAuY2FsZW5kYXJfX2RheS0tbXVsdGkgLmV2ZW50LWNhcmQtLXNwYXJzZS5ub2RlLS12aWV3LW1vZGUtdGVhc2VyIC5ldmVudC1jYXJkX190aXRsZSxcbiAgLmNhbGVuZGFyX19kYXktLW11bHRpIC5ldmVudC1jYXJkLS1zcGFyc2Uubm9kZS0tdmlldy1tb2RlLXRlYXNlciAuZXZlbnQtY2FyZF9fcm9vbSxcbiAgLmNhbGVuZGFyX19kYXktLW11bHRpIC5ldmVudC1jYXJkLS1zcGFyc2Uubm9kZS0tdmlldy1tb2RlLXRlYXNlciAuZXZlbnQtY2FyZF9fZGF5LXRpbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAxMHB4IDAgMDsgfVxuICAuY2FsZW5kYXJfX2RheS0tbXVsdGkgLmV2ZW50LWNhcmQtLXNwYXJzZS5ub2RlLS12aWV3LW1vZGUtdGVhc2VyIC50aW1lLS1lbmQsXG4gIC5jYWxlbmRhcl9fZGF5LS1tdWx0aSAuZXZlbnQtY2FyZC0tc3BhcnNlLm5vZGUtLXZpZXctbW9kZS10ZWFzZXIgLnRpbWUtLXNlcGFyYXRvciB7XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBjbGlwOiBhdXRvOyB9XG4gIC5jYWxlbmRhcl9fZGF5LS1tdWx0aSAuZXZlbnQtY2FyZC0tc3BhcnNlLm5vZGUtLXZpZXctbW9kZS10ZWFzZXIgLnRpbWUtLXN0YXJ0IC5ldmVudC1jYXJkX19kYXktLWlubGluZSxcbiAgLmNhbGVuZGFyX19kYXktLW11bHRpIC5ldmVudC1jYXJkLS1zcGFyc2Uubm9kZS0tdmlldy1tb2RlLXRlYXNlciAudGltZS0tc3RhcnQgLmV2ZW50LWNhcmRfX3NlcGFyYXRvciB7XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBjbGlwOiBhdXRvOyB9XG5cbi5jYWxlbmRhcl9fZGF5LS1tdWx0aSAuZXZlbnQtY2FyZF9fdGl0bGUsXG4uY2FsZW5kYXJfX2RheS0tbXVsdGkgLmV2ZW50LWNhcmRfX3Jvb20sXG4uY2FsZW5kYXJfX2RheS0tbXVsdGkgLmV2ZW50LWNhcmRfX2RheS10aW1lIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCAuNjI1ZW0gMCAwOyB9XG5cbi5jYWxlbmRhcl9fZGF5LS1tdWx0aSAudGltZS0tZW5kLFxuLmNhbGVuZGFyX19kYXktLW11bHRpIC50aW1lLS1zZXBhcmF0b3IsXG4uY2FsZW5kYXJfX2RheS0tbXVsdGkgLnRpbWUtLXN0YXJ0IC5ldmVudC1jYXJkX19kYXktLWlubGluZSxcbi5jYWxlbmRhcl9fZGF5LS1tdWx0aSAudGltZS0tc3RhcnQgLmV2ZW50LWNhcmRfX3NlcGFyYXRvciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4uZGF0ZS1sb2NhdGlvbl9fb3RoZXItZGF0ZXMgLmRhdGUtbG9jYXRpb25fX3RvZ2dsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiA1cHg7IH1cblxuLmRhdGUtbG9jYXRpb25fX290aGVyLWRhdGVzIC5kYXRlLWxvY2F0aW9uX190b2dnbGUsXG4uZGF0ZS1sb2NhdGlvbl9fb3RoZXItZGF0ZXMgLmRhdGUtbG9jYXRpb25fX3JlcGVhdHMtaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICMzMzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgZWFzZS1pbi1vdXQgNTAwbXM7IH1cbiAgLmRhdGUtbG9jYXRpb25fX290aGVyLWRhdGVzIC5kYXRlLWxvY2F0aW9uX190b2dnbGU6aG92ZXIsIC5kYXRlLWxvY2F0aW9uX19vdGhlci1kYXRlcyAuZGF0ZS1sb2NhdGlvbl9fdG9nZ2xlOmZvY3VzLFxuICAuZGF0ZS1sb2NhdGlvbl9fb3RoZXItZGF0ZXMgLmRhdGUtbG9jYXRpb25fX3JlcGVhdHMtaXRlbTpob3ZlcixcbiAgLmRhdGUtbG9jYXRpb25fX290aGVyLWRhdGVzIC5kYXRlLWxvY2F0aW9uX19yZXBlYXRzLWl0ZW06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiYmI7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuXG4uZGF0ZS1sb2NhdGlvbl9fb3RoZXItZGF0ZXMgLmRhdGUtbG9jYXRpb25fX3dyYXBwZXIge1xuICBtYXgtaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgNTAwbXM7IH1cbiAgLmRhdGUtbG9jYXRpb25fX290aGVyLWRhdGVzIC5kYXRlLWxvY2F0aW9uX193cmFwcGVyLmFjdGl2ZSB7XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuXG4uZGF0ZS1sb2NhdGlvbl9fb3RoZXItZGF0ZXMgLmRhdGUtbG9jYXRpb25fX3JlcGVhdHMtbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cblxuLmRhdGUtbG9jYXRpb25fX290aGVyLWRhdGVzIC5kYXRlLWxvY2F0aW9uX19yZXBlYXRzLWl0ZW0ge1xuICB3aWR0aDogNDklO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cblxuLmRhdGUtbG9jYXRpb25fX290aGVyLWRhdGVzIC5kYXRlLWxvY2F0aW9uX19yZXBlYXRzLWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICMzMzM7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ubGMtZXZlbnQtLWNvZGUtdW5wdWJsaXNoZWQge1xuICBwYWRkaW5nOiA1cHg7XG4gIGJvcmRlcjogNXB4IHNvbGlkICNkMmQzZDU7IH1cblxuLmxjLWV2ZW50LS1jb2RlLXB1YmxpYy1yZXNlcnZhdGlvbiB7XG4gIHBhZGRpbmc6IDVweDtcbiAgYm9yZGVyOiA1cHggc29saWQgIzAwN2I2OTsgfVxuXG4ubGMtZXZlbnQtLWNvZGUtcHJpdmF0ZS1ldmVudCB7XG4gIHBhZGRpbmc6IDVweDtcbiAgYm9yZGVyOiA1cHggc29saWQgIzAwNTQ5ZjsgfVxuXG4ubGMtZXZlbnQtLWNvZGUtaGFzLWNvbmZsaWN0IHtcbiAgcGFkZGluZzogNXB4O1xuICBib3JkZXI6IDVweCBzb2xpZCAjMDA1NDlmOyB9XG5cbi5sYy1ldmVudC0tY29kZS1yb29tLXJlc2VydmVkIHtcbiAgcGFkZGluZzogNXB4O1xuICBib3JkZXI6IDVweCBzb2xpZCAjMDA3YjY5OyB9XG5cbi5sYy1ldmVudF9fa2V5IHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ubGMtZXZlbnRfX2tleS0tY2FuY2VsbGVkIHtcbiAgY29sb3I6ICNlMDU1NTQ7IH1cblxuLmxjLWV2ZW50X19jb2xvci1pbmRpY2F0b3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDJkM2Q1OyB9XG5cbi5wYWdlLWV2ZW50cy11cGNvbWluZyAubGMtZXZlbnRfX3dyYXBwZXIge1xuICBtYXJnaW4tbGVmdDogMTBweDsgfVxuXG4ubGMtZXZlbnRfX2NvbG9yLWluZGljYXRvci0tYWR1bHQsXG4ubGMtZXZlbnRfX2NvbG9yLWluZGljYXRvci0tYWR1bHRzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOThkYjsgfVxuXG4ubGMtZXZlbnRfX2NvbG9yLWluZGljYXRvci0tZXZlcnlvbmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YjY5OyB9XG5cbi5sYy1ldmVudF9fY29sb3ItaW5kaWNhdG9yLS1mYW1pbHksXG4ubGMtZXZlbnRfX2NvbG9yLWluZGljYXRvci0tY2hpbGRyZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTAzOTg2OyB9XG5cbi5sYy1ldmVudF9fY29sb3ItaW5kaWNhdG9yLS1pbmZhbnQsXG4ubGMtZXZlbnRfX2NvbG9yLWluZGljYXRvci0tYmFiaWVzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZWM3YTsgfVxuXG4ubGMtZXZlbnRfX2NvbG9yLWluZGljYXRvci0ta2lkcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWQxMDA7IH1cblxuLmxjLWV2ZW50X19jb2xvci1pbmRpY2F0b3ItLXByZXNjaG9vbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkN2E5MDA7IH1cblxuLmxjLWV2ZW50X19jb2xvci1pbmRpY2F0b3ItLXNjaG9vbC1hZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjY4ZDc0OyB9XG5cbi5sYy1ldmVudF9fY29sb3ItaW5kaWNhdG9yLS10ZWVuLFxuLmxjLWV2ZW50X19jb2xvci1pbmRpY2F0b3ItLXRlZW5zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwNTU1NDsgfVxuXG4ubGMtZXZlbnRfX2NvbG9yLWluZGljYXRvci0tdG9kZGxlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjMjM3MzY7IH1cblxuLmxjLWV2ZW50X19jb2xvci1pbmRpY2F0b3ItLXRvZGRsZXItb25lIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM1YmNhYzsgfVxuXG4ubm9kZS0tdHlwZS1sYy1jbG9zaW5nIC5sYy1ldmVudF9fY29sb3ItaW5kaWNhdG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwNTU1NDsgfVxuXG4ubm9kZS0tdHlwZS1sYy1jbG9zaW5nIC5sYy1ldmVudF9fY29sb3ItY29kaW5nLS1hZ2UsXG4ubm9kZS0tdHlwZS1sYy1jbG9zaW5nIC5sYy1ldmVudF9fY29sb3ItY29kaW5nLS1wcm9ncmFtIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uaWUxMCAubGMtZXZlbnRfX2V2ZW50LWRldGFpbHMsXG4uaWUxMSAubGMtZXZlbnRfX2V2ZW50LWRldGFpbHMge1xuICBmbGV4OiBpbmhlcml0OyB9XG5cbi5sYy1yZWdpc3RyYXRpb24tbGFiZWwge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogbGFyZ2VyO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5sYy1ldmVudF9fbW9udGgtc3VtbWFyeSAubGMtcmVnaXN0cmF0aW9uLWxhYmVsIHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG5ib2R5LmxjLW5vLXNjcm9sbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG4ubGMtYnJhbmNoLW1vZGFsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5sYy1icmFuY2gtbW9kYWxfX3dyYXBwZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwMDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDMycHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuXG4ubGMtYnJhbmNoLW1vZGFsX19jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCA1cHggMTVweCAwICMzNzQyNGE7IH1cblxuLmxjLWJyYW5jaC1tb2RhbF9faGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwcHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDU0OWY7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubGMtYnJhbmNoLW1vZGFsX19oZWFkZXIge1xuICAgICAgbWluLWhlaWdodDogaW5oZXJpdDsgfSB9XG5cbi5sYy1icmFuY2gtbW9kYWxfX3RpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmxjLWJyYW5jaC1tb2RhbF9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cblxuLmxjLWJyYW5jaC1tb2RhbF9fY29udGVudC13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAyMHB4O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxuLmxjLWJyYW5jaC1tb2RhbF9fY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTBweDtcbiAgbWFyZ2luOiAxMHB4IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubGMtYnJhbmNoLW1vZGFsX19jb250ZW50IHtcbiAgICAgIHdpZHRoOiA0OSU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sYy1icmFuY2gtbW9kYWxfX2NvbnRlbnQge1xuICAgICAgd2lkdGg6IDMyJTsgfSB9XG5cbi5sYy1icmFuY2gtbW9kYWxfX2JyYW5jaC1zZWxlY3Qge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmMGYwZjA7IH1cbiAgLmxjLWJyYW5jaC1tb2RhbF9fYnJhbmNoLXNlbGVjdDpob3ZlciwgLmxjLWJyYW5jaC1tb2RhbF9fYnJhbmNoLXNlbGVjdDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2YwZjBmMDtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5sYy1icmFuY2gtbW9kYWxfX2JyYW5jaC1zZWxlY3QuYWN0aXZlIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMTc5N2Q0OyB9XG5cbi5sYy1icmFuY2gtbW9kYWxfX2ltYWdlLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAyNSU7XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5sYy1icmFuY2gtbW9kYWxfX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9IH1cbiAgLmxjLWJyYW5jaC1tb2RhbF9faW1hZ2UtY29udGFpbmVyIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmxjLWJyYW5jaC1tb2RhbF9fYnJhbmNoLWluZm8ge1xuICBmbGV4LWdyb3c6IDE7XG4gIHdpZHRoOiA3NSU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5sYy1icmFuY2gtbW9kYWxfX2JyYW5jaC1pbmZvIHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuLmxjLWJyYW5jaC1tb2RhbF9fYnJhbmNoLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDE2cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubGMtYnJhbmNoLW1vZGFsX19icmFuY2gtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cblxuLmxjLWJyYW5jaC1tb2RhbF9fZXhpdCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmxjLWJyYW5jaC1tb2RhbF9fYWRkcmVzcyB7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5sYy1icmFuY2gtbW9kYWxfX2NoZWNrYm94ZXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmxjLWJyYW5jaC1tb2RhbF9fY2hlY2tib3hlcyBpbnB1dCxcbiAgLmxjLWJyYW5jaC1tb2RhbF9fY2hlY2tib3hlcyBsYWJlbCxcbiAgLmxjLWJyYW5jaC1tb2RhbF9fY2hlY2tib3hlcyAuZm9ybS10eXBlLWNoZWNrYm94IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgYm9yZGVyOiAwOyB9XG5cbi5sYy1icmFuY2gtbW9kYWxfX3N1Ym1pdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5sYy1icmFuY2gtbW9kYWxfX3N1Ym1pdCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9XG5cbi5sYy1icmFuY2gtbW9kYWxfX3dyYXBwZXIge1xuICBsZWZ0OiAtOTk5OXB4O1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IGVhc2UtaW4tb3V0IDI1MG1zIC41czsgfVxuICAubGMtYnJhbmNoLW1vZGFsX193cmFwcGVyIC5sYy1icmFuY2gtbW9kYWxfX2NvbnRhaW5lciB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIGVhc2UtaW4tb3V0IDI1MG1zIC41cztcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XG4gIC5sYy1icmFuY2gtbW9kYWxfX3dyYXBwZXIub3BlbiB7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmxjLWJyYW5jaC1tb2RhbF9fd3JhcHBlci5vcGVuIC5sYy1icmFuY2gtbW9kYWxfX2NvbnRhaW5lciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG5cbi5sYy1icmFuY2gtbW9kYWxfX2Zvcm0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sYy1icmFuY2gtbW9kYWxfX2Zvcm0ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLmxjLWJyYW5jaC1tb2RhbF9fZm9ybSAuYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgbWFyZ2luOiA1cHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmxjLWJyYW5jaC1tb2RhbF9fZm9ybSAuYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMCA1cHg7IH0gfVxuICAubGMtYnJhbmNoLW1vZGFsX19mb3JtIC5sYy1icmFuY2gtbW9kYWxfX3NlbGVjdC1hbGwsXG4gIC5sYy1icmFuY2gtbW9kYWxfX2Zvcm0gLmxjLWJyYW5jaC1tb2RhbF9fcmVzZXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogNDklO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5sYy1icmFuY2gtbW9kYWxfX2Zvcm0gLmxjLWJyYW5jaC1tb2RhbF9fc2VsZWN0LWFsbCxcbiAgICAgIC5sYy1icmFuY2gtbW9kYWxfX2Zvcm0gLmxjLWJyYW5jaC1tb2RhbF9fcmVzZXQge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgcGFkZGluZy1yaWdodDogaW5oZXJpdDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBpbmhlcml0O1xuICAgICAgICBtYXJnaW46IDAgNXB4OyB9IH1cbiAgLmxjLWJyYW5jaC1tb2RhbF9fZm9ybSAubGMtYnJhbmNoLW1vZGFsX19zZWxlY3QtYWxsIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5sYy1icmFuY2gtbW9kYWxfX2Zvcm0gLmxjLWJyYW5jaC1tb2RhbF9fcmVzZXQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5sYy1mZWF0dXJlZC1ldmVudC1yb3cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLmxjLWZlYXR1cmVkLWV2ZW50LXJvdyAubGMtZXZlbnRfX2NvbG9yLWNvZGluZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG5cbi5sYy1mZWF0dXJlZC1ldmVudC1jb250ZW50LXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbiAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICAubGMtZmVhdHVyZWQtZXZlbnQtY29udGVudC1yb3cgLmxjLWZlYXR1cmVkLWV2ZW50LWltYWdlLFxuICAubGMtZmVhdHVyZWQtZXZlbnQtY29udGVudC1yb3cgLmxjLWZlYXR1cmVkLWV2ZW50LWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sYy1mZWF0dXJlZC1ldmVudC1jb250ZW50LXJvdyAubGMtZmVhdHVyZWQtZXZlbnQtaW1hZ2Uge1xuICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgIG1heC13aWR0aDogMjUlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubGMtZmVhdHVyZWQtZXZlbnQtY29udGVudC1yb3cgLmxjLWZlYXR1cmVkLWV2ZW50LWNvbnRlbnQge1xuICAgICAgZmxleDogMCAwIDc1JTtcbiAgICAgIG1heC13aWR0aDogNzUlOyB9IH1cblxuLmxjLWZlYXR1cmVkLWV2ZW50LXJvdy10ZXJtcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbiAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICB3aWR0aDogNTAlO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLmxjLWZlYXR1cmVkLWV2ZW50LXByb2dyYW0tdHlwZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sYy1mZWF0dXJlZC1ldmVudC1wcm9ncmFtLXR5cGUge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9IH1cblxuLmxjLWZlYXR1cmVkLWV2ZW50IHtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHJ1bGUgKi9cbiAgei1pbmRleDogYXV0byAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAubGMtZmVhdHVyZWQtZXZlbnQgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgICAubGMtZmVhdHVyZWQtZXZlbnQgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzLmV2ZW50LWRpcmVjdGlvbi1sZWZ0IHtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bzsgfVxuICAubGMtZmVhdHVyZWQtZXZlbnQ6aG92ZXIgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlLWluLW91dCAyNTBtcztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfVxuICAgIC5sYy1mZWF0dXJlZC1ldmVudDpob3ZlciAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMuZXZlbnQtZGlyZWN0aW9uLWxlZnQge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfVxuXG4ubGMtZmVhdHVyZWQtZXZlbnRzLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2QyZDNkNTtcbiAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cbi5sYy1mZWF0dXJlZC1ldmVudHMge1xuICB1c2VyLXNlbGVjdDogdW5zZXQ7IH1cbiAgLmxjLWZlYXR1cmVkLWV2ZW50cyAubGMtZmVhdHVyZWQtZXZlbnQ6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAubGMtZmVhdHVyZWQtZXZlbnRzLnNsaWNrLWluaXRpYWxpemVkIC5sYy1mZWF0dXJlZC1ldmVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmxjLWZlYXR1cmVkLWV2ZW50cyAuc2xpY2stdHJhY2ssXG4gIC5sYy1mZWF0dXJlZC1ldmVudHMgLnNsaWNrLWxpc3Qge1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQgKi9cbiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ubGMtZmVhdHVyZWQtZXZlbnRzLWNvbnRyb2xzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgLmxjLWZlYXR1cmVkLWV2ZW50cy1jb250cm9scyAuc2xpY2stYXJyb3cge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBmb250LXNpemU6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJvcmRlcjogMDsgfVxuICAgIC5sYy1mZWF0dXJlZC1ldmVudHMtY29udHJvbHMgLnNsaWNrLWFycm93LnNsaWNrLXByZXYge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9hc3NldHMvZGlzdC9pY29ucy9jaGV2cm9uLWxlZnQtYmxhY2suc3ZnKTsgfVxuICAgIC5sYy1mZWF0dXJlZC1ldmVudHMtY29udHJvbHMgLnNsaWNrLWFycm93LnNsaWNrLW5leHQge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vYXNzZXRzL2Rpc3QvaWNvbnMvY2hldnJvbi1yaWdodC1ibGFjay5zdmcpOyB9XG4gIC5sYy1mZWF0dXJlZC1ldmVudHMtY29udHJvbHMgLnNsaWNrLWRvdHMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC5sYy1mZWF0dXJlZC1ldmVudHMtY29udHJvbHMgLnNsaWNrLWRvdHMgPiBsaSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAubGMtZmVhdHVyZWQtZXZlbnRzLWNvbnRyb2xzIC5zbGljay1kb3RzIGJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIG9wYWNpdHk6IC4yNTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMjUwbXM7IH1cbiAgICAgIC5sYy1mZWF0dXJlZC1ldmVudHMtY29udHJvbHMgLnNsaWNrLWRvdHMgYnV0dG9uOmhvdmVyLCAubGMtZmVhdHVyZWQtZXZlbnRzLWNvbnRyb2xzIC5zbGljay1kb3RzIGJ1dHRvbjpmb2N1cywgLmxjLWZlYXR1cmVkLWV2ZW50cy1jb250cm9scyAuc2xpY2stZG90cyBidXR0b246YWN0aXZlIHtcbiAgICAgICAgb3BhY2l0eTogLjU7IH1cbiAgICAubGMtZmVhdHVyZWQtZXZlbnRzLWNvbnRyb2xzIC5zbGljay1kb3RzIC5zbGljay1hY3RpdmUgYnV0dG9uIHtcbiAgICAgIG9wYWNpdHk6IC41OyB9XG5cbi5sYy1mZWF0dXJlZC1ldmVudC1idG4ge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbi5sYy1mb3JtIC5mb3JtLXN1Ym1pdCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLmxjLWZvcm0gLmxjLWZvcm1fX2hhbGYgLmZvcm0tdGV4dCxcbi5sYy1mb3JtIC5sYy1mb3JtX19mdWxsIC5mb3JtLXRleHQge1xuICBtYXJnaW46IDA7IH1cblxuLmxjLWZvcm1fX2ZsZXgtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZWZlZmVmOyB9XG4gIC5sYy1mb3JtX19mbGV4LXdyYXBwZXIgLmZvcm0taXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ubGMtZm9ybV9faGFsZiB7XG4gIGZsZXg6IGluaXRpYWw7XG4gIHBhZGRpbmctcmlnaHQ6IDVweDsgfVxuICAubGMtZm9ybV9faGFsZiAuZm9ybS1pdGVtLFxuICAubGMtZm9ybV9faGFsZiAuZm9ybS10ZXh0LFxuICAubGMtZm9ybV9faGFsZiAuZm9ybS1zZWxlY3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYy1mb3JtX19oYWxmOm50aC1jaGlsZChldmVuKSB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4ubGMtZm9ybV9faGFsZi0tZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5sYy1mb3JtX19mdWxsIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmxjLWZvcm1fX2Z1bGwgLmZvcm0taXRlbSxcbiAgLmxjLWZvcm1fX2Z1bGwgLmZvcm0tdGV4dCxcbiAgLmxjLWZvcm1fX2Z1bGwgLmZvcm0tc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4ubGMtZm9ybS0tcmVzZXJ2ZS1ieS10aW1lIC5mb3JtLWl0ZW0sXG4ubGMtZm9ybS0tcmVzZXJ2ZS1ieS10aW1lIC5mb3JtLXNlbGVjdCxcbi5sYy1mb3JtLS1yZXNlcnZlLWJ5LXRpbWUgLmZvcm0tdGV4dCxcbi5sYy1mb3JtLS1yZXNlcnZlLWJ5LXRpbWUgLmZvcm0tdHlwZS1zZWxlY3QsXG4ubGMtZm9ybS0tcmVzZXJ2ZS1ieS10aW1lIC5mb3JtLXR5cGUtZGF0ZS1wb3B1cCxcbi5sYy1mb3JtLS1yZXNlcnZlLWJ5LXRpbWUgLmZvcm0tc3VibWl0LFxuLmxjLWZvcm0tLXJlc2VydmUtYnktdGltZSAuY29udGFpbmVyLWlubGluZS1kYXRlIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmxjLWZvcm0tLXJlc2VydmUtYnktdGltZSAuZm9ybS1pdGVtLFxuICAgIC5sYy1mb3JtLS1yZXNlcnZlLWJ5LXRpbWUgLmZvcm0tc2VsZWN0LFxuICAgIC5sYy1mb3JtLS1yZXNlcnZlLWJ5LXRpbWUgLmZvcm0tdGV4dCxcbiAgICAubGMtZm9ybS0tcmVzZXJ2ZS1ieS10aW1lIC5mb3JtLXR5cGUtc2VsZWN0LFxuICAgIC5sYy1mb3JtLS1yZXNlcnZlLWJ5LXRpbWUgLmZvcm0tdHlwZS1kYXRlLXBvcHVwLFxuICAgIC5sYy1mb3JtLS1yZXNlcnZlLWJ5LXRpbWUgLmZvcm0tc3VibWl0LFxuICAgIC5sYy1mb3JtLS1yZXNlcnZlLWJ5LXRpbWUgLmNvbnRhaW5lci1pbmxpbmUtZGF0ZSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuLmxjLWZvcm0tLXJlc2VydmUtYnktdGltZSAuZm9ybS1pdGVtLFxuLmxjLWZvcm0tLXJlc2VydmUtYnktdGltZSAuY29udGFpbmVyLWlubGluZSB7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG5cbi5sYy1mb3JtLS1yZXNlcnZlLWJ5LXRpbWUgLmNvbnRhaW5lci1pbmxpbmUtZGF0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTsgfVxuICAubGMtZm9ybS0tcmVzZXJ2ZS1ieS10aW1lIC5jb250YWluZXItaW5saW5lLWRhdGUgLmZvcm0taXRlbSxcbiAgLmxjLWZvcm0tLXJlc2VydmUtYnktdGltZSAuY29udGFpbmVyLWlubGluZS1kYXRlIC5mb3JtLWl0ZW0gaW5wdXQge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5sYy1mb3JtLS1yZXNlcnZlLWJ5LXRpbWUgLmNvbnRhaW5lci1pbmxpbmUtZGF0ZSAuZm9ybS1pdGVtLFxuICAgICAgLmxjLWZvcm0tLXJlc2VydmUtYnktdGltZSAuY29udGFpbmVyLWlubGluZS1kYXRlIC5mb3JtLWl0ZW0gaW5wdXQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5sYy1mb3JtLS1yZXNlcnZlLWJ5LXRpbWUgLmNvbnRhaW5lci1pbmxpbmUtZGF0ZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICBjbGVhcjogbm9uZTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5sYy1mb3JtLS1yZXNlcnZlLWJ5LXRpbWUgLmZvcm0tdHlwZS1zZWxlY3Qge1xuICAgIGNsZWFyOiBsZWZ0OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxjLWZvcm0tLXJlc2VydmUtYnktdGltZSAuZm9ybS10eXBlLXNlbGVjdCB7XG4gICAgY2xlYXI6IG5vbmU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAubGMtZm9ybS0tcmVzZXJ2ZS1ieS10aW1lIC5mb3JtLXN1Ym1pdCB7XG4gICAgbWFyZ2luOiAwIDAgMCA1cHg7IH0gfVxuXG4uYmxvY2stLWxjLWdtYXAgLmJsb2NrX190aXRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgYm9yZGVyOiAwOyB9XG5cbi5sYy1mb3JtX19tZXNzYWdlIHtcbiAgcGFkZGluZzogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjsgfVxuXG4vKiBmb3JtICovXG4ubGMtZm9ybS1jb250YWluZXIge1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjZWZlZmVmOyB9XG5cbi5sYy1mb3JtIGlucHV0W3R5cGU9J3RleHQnXSxcbi5sYy1mb3JtIGlucHV0W3R5cGU9J2VtYWlsJ10sXG4ubGMtZm9ybSBpbnB1dFt0eXBlPSdwYXNzd29yZCddLFxuLm5vZGUtbGMtcmVzZXJ2YXRpb24tZm9ybSBpbnB1dFt0eXBlPSd0ZXh0J10sXG4ubm9kZS1sYy1yZXNlcnZhdGlvbi1mb3JtIGlucHV0W3R5cGU9J2VtYWlsJ10sXG4ubm9kZS1sYy1yZXNlcnZhdGlvbi1mb3JtIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10sXG4ubm9kZS1sYy1ldmVudC1mb3JtIGlucHV0W3R5cGU9J3RleHQnXSxcbi5ub2RlLWxjLWV2ZW50LWZvcm0gaW5wdXRbdHlwZT0nZW1haWwnXSxcbi5ub2RlLWxjLWV2ZW50LWZvcm0gaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSxcbi5ub2RlLWxjLWNsb3NpbmctZm9ybSBpbnB1dFt0eXBlPSd0ZXh0J10sXG4ubm9kZS1sYy1jbG9zaW5nLWZvcm0gaW5wdXRbdHlwZT0nZW1haWwnXSxcbi5ub2RlLWxjLWNsb3NpbmctZm9ybSBpbnB1dFt0eXBlPSdwYXNzd29yZCddIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmxjLWZvcm0gc2VsZWN0LFxuLm5vZGUtbGMtcmVzZXJ2YXRpb24tZm9ybSBzZWxlY3QsXG4ubm9kZS1sYy1ldmVudC1mb3JtIHNlbGVjdCxcbi5ub2RlLWxjLWNsb3NpbmctZm9ybSBzZWxlY3Qge1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlci1jb2xvcjogI2VmZWZlZjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5sYy1mb3JtIHNlbGVjdCxcbiAgICAubm9kZS1sYy1yZXNlcnZhdGlvbi1mb3JtIHNlbGVjdCxcbiAgICAubm9kZS1sYy1ldmVudC1mb3JtIHNlbGVjdCxcbiAgICAubm9kZS1sYy1jbG9zaW5nLWZvcm0gc2VsZWN0IHtcbiAgICAgIHdpZHRoOiB1bnNldDsgfSB9XG5cbi5sYy1mb3JtICNhamF4LXBob25lLXdyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sYy1mb3JtICNhamF4LXBob25lLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDQwJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IC41ZW07IH0gfVxuXG4ubGMtZm9ybSAjYWpheC1waG9uZS1leHRlbnNpb24td3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmxjLWZvcm0gI2FqYXgtcGhvbmUtZXh0ZW5zaW9uLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDIwJTsgfSB9XG5cbi5mb3JtLXRlbCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5sYy1ldmVudF9fc3VidGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuaDQubGMtZXZlbnRfX3N1YnRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4ubGMtZXZlbnRfX2RldGFpbHMge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5sYy1ldmVudF9fZGV0YWlscyAubGMtZXZlbnQtaW5mbyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gIC5sYy1ldmVudF9fZGV0YWlscyAubGMtZXZlbnQtaW5mb19faXRlbSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuXG4ubGMtZXZlbnRfX3JlZ2lzdHJhdGlvbi1pY29uLFxuLmxjLWV2ZW50X19yZWdpc3RyYXRpb24tcGF5bWVudC1pY29uIHtcbiAgd2lkdGg6IDE2cHg7XG4gIG1pbi13aWR0aDogMTZweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDVweCAxMHB4IDAgNXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWluZGVudDogMTAwJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cblxuLmxjLWV2ZW50X19yZWdpc3RyYXRpb24taWNvbiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2Fzc2V0cy9kaXN0L2ljb25zL3BlbmNpbC1zcXVhcmUtby1ibGFjay5zdmdcIik7IH1cblxuLmxjLWV2ZW50X19yZWdpc3RyYXRpb24tcGF5bWVudC1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vYXNzZXRzL2Rpc3QvaWNvbnMvZG9sbGFyLXNpZ24tc29saWQuc3ZnXCIpOyB9XG5cbi5sYy1ldmVudF9fbW9udGgtZGV0YWlscyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAxMDA1MDtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDMwMHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDQwcHggMzBweDtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDJweCBzb2xpZCAjNzc4ODk4O1xuICBib3JkZXItdG9wOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2UtaW4tb3V0IDI1MG1zLCBvcGFjaXR5IDBzIDc1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLmNhbGVuZGFyLS1kYXkgLmxjLWRheS1yb29tIC5ub2RlLS10eXBlLWxjLWV2ZW50IC5sYy1ldmVudF9fbW9udGgtZGV0YWlscyB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxMDAlO1xuICBvcGFjaXR5OiAwOyB9XG4gIC5jYWxlbmRhci0tZGF5IC5sYy1kYXktcm9vbSAubm9kZS0tdHlwZS1sYy1ldmVudCAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMuZXZlbnQtZGlyZWN0aW9uLWxlZnQge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cblxuLmNhbGVuZGFyLS1kYXkgLmxjLWRheS1yb29tIC5ub2RlLS10eXBlLWxjLWV2ZW50OmhvdmVyIC5sYy1ldmVudF9fbW9udGgtZGV0YWlscyB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlLWluLW91dCAyNTBtcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7IH1cbiAgLmNhbGVuZGFyLS1kYXkgLmxjLWRheS1yb29tIC5ub2RlLS10eXBlLWxjLWV2ZW50OmhvdmVyIC5sYy1ldmVudF9fbW9udGgtZGV0YWlscy5ldmVudC1kaXJlY3Rpb24tbGVmdCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfVxuXG4uY2FsZW5kYXItLWRheSAubGMtZGF5LXJvb206bnRoLWNoaWxkKDUpIC5ub2RlLS10eXBlLWxjLWV2ZW50IC5sYy1ldmVudF9fbW9udGgtZGV0YWlscyB7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xuICBvcGFjaXR5OiAwOyB9XG4gIC5jYWxlbmRhci0tZGF5IC5sYy1kYXktcm9vbTpudGgtY2hpbGQoNSkgLm5vZGUtLXR5cGUtbGMtZXZlbnQgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzLmV2ZW50LWRpcmVjdGlvbi1yaWdodCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuXG4uY2FsZW5kYXItLWRheSAubGMtZGF5LXJvb206bnRoLWNoaWxkKDUpIC5ub2RlLS10eXBlLWxjLWV2ZW50OmhvdmVyIC5sYy1ldmVudF9fbW9udGgtZGV0YWlscyB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlLWluLW91dCAyNTBtcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfVxuICAuY2FsZW5kYXItLWRheSAubGMtZGF5LXJvb206bnRoLWNoaWxkKDUpIC5ub2RlLS10eXBlLWxjLWV2ZW50OmhvdmVyIC5sYy1ldmVudF9fbW9udGgtZGV0YWlscy5ldmVudC1kaXJlY3Rpb24tcmlnaHQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9XG5cbi5jYWxlbmRhci0tZGF5IC5sYy1kYXktcm9vbTpudGgtY2hpbGQoNikgLm5vZGUtLXR5cGUtbGMtZXZlbnQgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzIHtcbiAgcmlnaHQ6IDEwMCU7XG4gIGxlZnQ6IGF1dG87XG4gIG9wYWNpdHk6IDA7IH1cbiAgLmNhbGVuZGFyLS1kYXkgLmxjLWRheS1yb29tOm50aC1jaGlsZCg2KSAubm9kZS0tdHlwZS1sYy1ldmVudCAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMuZXZlbnQtZGlyZWN0aW9uLXJpZ2h0IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG5cbi5jYWxlbmRhci0tZGF5IC5sYy1kYXktcm9vbTpudGgtY2hpbGQoNikgLm5vZGUtLXR5cGUtbGMtZXZlbnQ6aG92ZXIgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2UtaW4tb3V0IDI1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9XG4gIC5jYWxlbmRhci0tZGF5IC5sYy1kYXktcm9vbTpudGgtY2hpbGQoNikgLm5vZGUtLXR5cGUtbGMtZXZlbnQ6aG92ZXIgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzLmV2ZW50LWRpcmVjdGlvbi1yaWdodCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7IH1cblxuLmNhbGVuZGFyLS1kYXkgLmxjLWRheS1yb29tOm50aC1jaGlsZCg3KSAubm9kZS0tdHlwZS1sYy1ldmVudCAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMge1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bztcbiAgb3BhY2l0eTogMDsgfVxuICAuY2FsZW5kYXItLWRheSAubGMtZGF5LXJvb206bnRoLWNoaWxkKDcpIC5ub2RlLS10eXBlLWxjLWV2ZW50IC5sYy1ldmVudF9fbW9udGgtZGV0YWlscy5ldmVudC1kaXJlY3Rpb24tcmlnaHQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cblxuLmNhbGVuZGFyLS1kYXkgLmxjLWRheS1yb29tOm50aC1jaGlsZCg3KSAubm9kZS0tdHlwZS1sYy1ldmVudDpob3ZlciAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNTAwbXMgZWFzZS1pbi1vdXQgMjUwbXM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7IH1cbiAgLmNhbGVuZGFyLS1kYXkgLmxjLWRheS1yb29tOm50aC1jaGlsZCg3KSAubm9kZS0tdHlwZS1sYy1ldmVudDpob3ZlciAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMuZXZlbnQtZGlyZWN0aW9uLXJpZ2h0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfVxuXG4uY2FsZW5kYXItLWRheSAubGMtZGF5LXJvb206bnRoLWNoaWxkKDgpIC5ub2RlLS10eXBlLWxjLWV2ZW50IC5sYy1ldmVudF9fbW9udGgtZGV0YWlscyB7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xuICBvcGFjaXR5OiAwOyB9XG4gIC5jYWxlbmRhci0tZGF5IC5sYy1kYXktcm9vbTpudGgtY2hpbGQoOCkgLm5vZGUtLXR5cGUtbGMtZXZlbnQgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzLmV2ZW50LWRpcmVjdGlvbi1yaWdodCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuXG4uY2FsZW5kYXItLWRheSAubGMtZGF5LXJvb206bnRoLWNoaWxkKDgpIC5ub2RlLS10eXBlLWxjLWV2ZW50OmhvdmVyIC5sYy1ldmVudF9fbW9udGgtZGV0YWlscyB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlLWluLW91dCAyNTBtcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfVxuICAuY2FsZW5kYXItLWRheSAubGMtZGF5LXJvb206bnRoLWNoaWxkKDgpIC5ub2RlLS10eXBlLWxjLWV2ZW50OmhvdmVyIC5sYy1ldmVudF9fbW9udGgtZGV0YWlscy5ldmVudC1kaXJlY3Rpb24tcmlnaHQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9XG5cbi5jYWxlbmRhci0td2VlayAubGMtd2Vlay1kYXkgLm5vZGUtLXR5cGUtbGMtZXZlbnQgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwMCU7XG4gIG9wYWNpdHk6IDA7IH1cbiAgLmNhbGVuZGFyLS13ZWVrIC5sYy13ZWVrLWRheSAubm9kZS0tdHlwZS1sYy1ldmVudCAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMuZXZlbnQtZGlyZWN0aW9uLWxlZnQge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cblxuLmNhbGVuZGFyLS13ZWVrIC5sYy13ZWVrLWRheSAubm9kZS0tdHlwZS1sYy1ldmVudDpob3ZlciAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNTAwbXMgZWFzZS1pbi1vdXQgMjUwbXM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9XG4gIC5jYWxlbmRhci0td2VlayAubGMtd2Vlay1kYXkgLm5vZGUtLXR5cGUtbGMtZXZlbnQ6aG92ZXIgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzLmV2ZW50LWRpcmVjdGlvbi1sZWZ0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9XG5cbi5jYWxlbmRhci0td2VlayAubGMtd2Vlay1kYXk6bnRoLWNoaWxkKDUpIC5ub2RlLS10eXBlLWxjLWV2ZW50IC5sYy1ldmVudF9fbW9udGgtZGV0YWlscyB7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xuICBvcGFjaXR5OiAwOyB9XG4gIC5jYWxlbmRhci0td2VlayAubGMtd2Vlay1kYXk6bnRoLWNoaWxkKDUpIC5ub2RlLS10eXBlLWxjLWV2ZW50IC5sYy1ldmVudF9fbW9udGgtZGV0YWlscy5ldmVudC1kaXJlY3Rpb24tcmlnaHQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cblxuLmNhbGVuZGFyLS13ZWVrIC5sYy13ZWVrLWRheTpudGgtY2hpbGQoNSkgLm5vZGUtLXR5cGUtbGMtZXZlbnQ6aG92ZXIgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2UtaW4tb3V0IDI1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9XG4gIC5jYWxlbmRhci0td2VlayAubGMtd2Vlay1kYXk6bnRoLWNoaWxkKDUpIC5ub2RlLS10eXBlLWxjLWV2ZW50OmhvdmVyIC5sYy1ldmVudF9fbW9udGgtZGV0YWlscy5ldmVudC1kaXJlY3Rpb24tcmlnaHQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9XG5cbi5jYWxlbmRhci0td2VlayAubGMtd2Vlay1kYXk6bnRoLWNoaWxkKDYpIC5ub2RlLS10eXBlLWxjLWV2ZW50IC5sYy1ldmVudF9fbW9udGgtZGV0YWlscyB7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xuICBvcGFjaXR5OiAwOyB9XG4gIC5jYWxlbmRhci0td2VlayAubGMtd2Vlay1kYXk6bnRoLWNoaWxkKDYpIC5ub2RlLS10eXBlLWxjLWV2ZW50IC5sYy1ldmVudF9fbW9udGgtZGV0YWlscy5ldmVudC1kaXJlY3Rpb24tcmlnaHQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cblxuLmNhbGVuZGFyLS13ZWVrIC5sYy13ZWVrLWRheTpudGgtY2hpbGQoNikgLm5vZGUtLXR5cGUtbGMtZXZlbnQ6aG92ZXIgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2UtaW4tb3V0IDI1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9XG4gIC5jYWxlbmRhci0td2VlayAubGMtd2Vlay1kYXk6bnRoLWNoaWxkKDYpIC5ub2RlLS10eXBlLWxjLWV2ZW50OmhvdmVyIC5sYy1ldmVudF9fbW9udGgtZGV0YWlscy5ldmVudC1kaXJlY3Rpb24tcmlnaHQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9XG5cbi5jYWxlbmRhci0td2VlayAubGMtd2Vlay1kYXk6bnRoLWNoaWxkKDcpIC5ub2RlLS10eXBlLWxjLWV2ZW50IC5sYy1ldmVudF9fbW9udGgtZGV0YWlscyB7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xuICBvcGFjaXR5OiAwOyB9XG4gIC5jYWxlbmRhci0td2VlayAubGMtd2Vlay1kYXk6bnRoLWNoaWxkKDcpIC5ub2RlLS10eXBlLWxjLWV2ZW50IC5sYy1ldmVudF9fbW9udGgtZGV0YWlscy5ldmVudC1kaXJlY3Rpb24tcmlnaHQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cblxuLmNhbGVuZGFyLS13ZWVrIC5sYy13ZWVrLWRheTpudGgtY2hpbGQoNykgLm5vZGUtLXR5cGUtbGMtZXZlbnQ6aG92ZXIgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2UtaW4tb3V0IDI1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9XG4gIC5jYWxlbmRhci0td2VlayAubGMtd2Vlay1kYXk6bnRoLWNoaWxkKDcpIC5ub2RlLS10eXBlLWxjLWV2ZW50OmhvdmVyIC5sYy1ldmVudF9fbW9udGgtZGV0YWlscy5ldmVudC1kaXJlY3Rpb24tcmlnaHQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9XG5cbi5jYWxlbmRhci0td2VlayAubGMtd2Vlay1kYXk6bnRoLWNoaWxkKDgpIC5ub2RlLS10eXBlLWxjLWV2ZW50IC5sYy1ldmVudF9fbW9udGgtZGV0YWlscyB7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xuICBvcGFjaXR5OiAwOyB9XG4gIC5jYWxlbmRhci0td2VlayAubGMtd2Vlay1kYXk6bnRoLWNoaWxkKDgpIC5ub2RlLS10eXBlLWxjLWV2ZW50IC5sYy1ldmVudF9fbW9udGgtZGV0YWlscy5ldmVudC1kaXJlY3Rpb24tcmlnaHQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cblxuLmNhbGVuZGFyLS13ZWVrIC5sYy13ZWVrLWRheTpudGgtY2hpbGQoOCkgLm5vZGUtLXR5cGUtbGMtZXZlbnQ6aG92ZXIgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2UtaW4tb3V0IDI1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9XG4gIC5jYWxlbmRhci0td2VlayAubGMtd2Vlay1kYXk6bnRoLWNoaWxkKDgpIC5ub2RlLS10eXBlLWxjLWV2ZW50OmhvdmVyIC5sYy1ldmVudF9fbW9udGgtZGV0YWlscy5ldmVudC1kaXJlY3Rpb24tcmlnaHQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9XG5cbi5jYWxlbmRhci0tbW9udGggLmNhbGVuZGFyX19kYXktLW11bHRpIC5ldmVudC1jYXJkIC5sYy1ldmVudF9fbW9udGgtZGV0YWlscyxcbi5jYWxlbmRhci0tbW9udGggLmNhbGVuZGFyX19kYXkgLmV2ZW50LWNhcmQgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwMCU7XG4gIG9wYWNpdHk6IDA7IH1cbiAgLmNhbGVuZGFyLS1tb250aCAuY2FsZW5kYXJfX2RheS0tbXVsdGkgLmV2ZW50LWNhcmQgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzLmV2ZW50LWRpcmVjdGlvbi1sZWZ0LFxuICAuY2FsZW5kYXItLW1vbnRoIC5jYWxlbmRhcl9fZGF5IC5ldmVudC1jYXJkIC5sYy1ldmVudF9fbW9udGgtZGV0YWlscy5ldmVudC1kaXJlY3Rpb24tbGVmdCB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuXG4uY2FsZW5kYXItLW1vbnRoIC5jYWxlbmRhcl9fZGF5LS1tdWx0aSAuZXZlbnQtY2FyZDpob3ZlciAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMsXG4uY2FsZW5kYXItLW1vbnRoIC5jYWxlbmRhcl9fZGF5IC5ldmVudC1jYXJkOmhvdmVyIC5sYy1ldmVudF9fbW9udGgtZGV0YWlscyB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlLWluLW91dCAyNTBtcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7IH1cbiAgLmNhbGVuZGFyLS1tb250aCAuY2FsZW5kYXJfX2RheS0tbXVsdGkgLmV2ZW50LWNhcmQ6aG92ZXIgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzLmV2ZW50LWRpcmVjdGlvbi1sZWZ0LFxuICAuY2FsZW5kYXItLW1vbnRoIC5jYWxlbmRhcl9fZGF5IC5ldmVudC1jYXJkOmhvdmVyIC5sYy1ldmVudF9fbW9udGgtZGV0YWlscy5ldmVudC1kaXJlY3Rpb24tbGVmdCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfVxuXG4uY2FsZW5kYXItLW1vbnRoIC5jYWxlbmRhcl9fZGF5Om50aC1jaGlsZCg1KSAuZXZlbnQtY2FyZCAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMge1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bztcbiAgb3BhY2l0eTogMDsgfVxuICAuY2FsZW5kYXItLW1vbnRoIC5jYWxlbmRhcl9fZGF5Om50aC1jaGlsZCg1KSAuZXZlbnQtY2FyZCAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMuZXZlbnQtZGlyZWN0aW9uLXJpZ2h0IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG5cbi5jYWxlbmRhci0tbW9udGggLmNhbGVuZGFyX19kYXk6bnRoLWNoaWxkKDUpIC5ldmVudC1jYXJkOmhvdmVyIC5sYy1ldmVudF9fbW9udGgtZGV0YWlscyB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlLWluLW91dCAyNTBtcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfVxuICAuY2FsZW5kYXItLW1vbnRoIC5jYWxlbmRhcl9fZGF5Om50aC1jaGlsZCg1KSAuZXZlbnQtY2FyZDpob3ZlciAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMuZXZlbnQtZGlyZWN0aW9uLXJpZ2h0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfVxuXG4uY2FsZW5kYXItLW1vbnRoIC5jYWxlbmRhcl9fZGF5Om50aC1jaGlsZCg2KSAuZXZlbnQtY2FyZCAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMge1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bztcbiAgb3BhY2l0eTogMDsgfVxuICAuY2FsZW5kYXItLW1vbnRoIC5jYWxlbmRhcl9fZGF5Om50aC1jaGlsZCg2KSAuZXZlbnQtY2FyZCAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMuZXZlbnQtZGlyZWN0aW9uLXJpZ2h0IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG5cbi5jYWxlbmRhci0tbW9udGggLmNhbGVuZGFyX19kYXk6bnRoLWNoaWxkKDYpIC5ldmVudC1jYXJkOmhvdmVyIC5sYy1ldmVudF9fbW9udGgtZGV0YWlscyB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlLWluLW91dCAyNTBtcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfVxuICAuY2FsZW5kYXItLW1vbnRoIC5jYWxlbmRhcl9fZGF5Om50aC1jaGlsZCg2KSAuZXZlbnQtY2FyZDpob3ZlciAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMuZXZlbnQtZGlyZWN0aW9uLXJpZ2h0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfVxuXG4uY2FsZW5kYXItLW1vbnRoIC5jYWxlbmRhcl9fZGF5Om50aC1jaGlsZCg3KSAuZXZlbnQtY2FyZCAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMge1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bztcbiAgb3BhY2l0eTogMDsgfVxuICAuY2FsZW5kYXItLW1vbnRoIC5jYWxlbmRhcl9fZGF5Om50aC1jaGlsZCg3KSAuZXZlbnQtY2FyZCAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMuZXZlbnQtZGlyZWN0aW9uLXJpZ2h0IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG5cbi5jYWxlbmRhci0tbW9udGggLmNhbGVuZGFyX19kYXk6bnRoLWNoaWxkKDcpIC5ldmVudC1jYXJkOmhvdmVyIC5sYy1ldmVudF9fbW9udGgtZGV0YWlscyB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlLWluLW91dCAyNTBtcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfVxuICAuY2FsZW5kYXItLW1vbnRoIC5jYWxlbmRhcl9fZGF5Om50aC1jaGlsZCg3KSAuZXZlbnQtY2FyZDpob3ZlciAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMuZXZlbnQtZGlyZWN0aW9uLXJpZ2h0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfVxuXG4uY2FsZW5kYXItLW1vbnRoIC5jYWxlbmRhcl9fZGF5Om50aC1jaGlsZCg4KSAuZXZlbnQtY2FyZCAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMge1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bztcbiAgb3BhY2l0eTogMDsgfVxuICAuY2FsZW5kYXItLW1vbnRoIC5jYWxlbmRhcl9fZGF5Om50aC1jaGlsZCg4KSAuZXZlbnQtY2FyZCAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMuZXZlbnQtZGlyZWN0aW9uLXJpZ2h0IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG5cbi5jYWxlbmRhci0tbW9udGggLmNhbGVuZGFyX19kYXk6bnRoLWNoaWxkKDgpIC5ldmVudC1jYXJkOmhvdmVyIC5sYy1ldmVudF9fbW9udGgtZGV0YWlscyB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlLWluLW91dCAyNTBtcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfVxuICAuY2FsZW5kYXItLW1vbnRoIC5jYWxlbmRhcl9fZGF5Om50aC1jaGlsZCg4KSAuZXZlbnQtY2FyZDpob3ZlciAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMuZXZlbnQtZGlyZWN0aW9uLXJpZ2h0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY2FsZW5kYXItLXVwY29taW5nIC5sYy1ldmVudC0tdXBjb21pbmcgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuY2FsZW5kYXItLXVwY29taW5nIC5sYy1ldmVudC0tdXBjb21pbmcgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzLmV2ZW50LWRpcmVjdGlvbi1sZWZ0IHtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bzsgfVxuICAuY2FsZW5kYXItLXVwY29taW5nIC5sYy1ldmVudC0tdXBjb21pbmc6aG92ZXIgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlLWluLW91dCAyNTBtcztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfVxuICAgIC5jYWxlbmRhci0tdXBjb21pbmcgLmxjLWV2ZW50LS11cGNvbWluZzpob3ZlciAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMuZXZlbnQtZGlyZWN0aW9uLWxlZnQge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfVxuICAuY2FsZW5kYXItLXVwY29taW5nIC5sYy1ldmVudC0tdXBjb21pbmc6bnRoLWNoaWxkKDJuKzIpIC5sYy1ldmVudF9fbW9udGgtZGV0YWlscyB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmNhbGVuZGFyLS11cGNvbWluZyAubGMtZXZlbnQtLXVwY29taW5nOm50aC1jaGlsZCgybisyKSAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMuZXZlbnQtZGlyZWN0aW9uLXJpZ2h0IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTsgfVxuICAuY2FsZW5kYXItLXVwY29taW5nIC5sYy1ldmVudC0tdXBjb21pbmc6bnRoLWNoaWxkKDJuKzIpOmhvdmVyIC5sYy1ldmVudF9fbW9udGgtZGV0YWlscyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNTAwbXMgZWFzZS1pbi1vdXQgMjUwbXM7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfVxuICAgIC5jYWxlbmRhci0tdXBjb21pbmcgLmxjLWV2ZW50LS11cGNvbWluZzpudGgtY2hpbGQoMm4rMik6aG92ZXIgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzLmV2ZW50LWRpcmVjdGlvbi1yaWdodCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jYWxlbmRhci0tdXBjb21pbmcgLmxjLWV2ZW50LS11cGNvbWluZzpudGgtY2hpbGQoM24rMSkgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuY2FsZW5kYXItLXVwY29taW5nIC5sYy1ldmVudC0tdXBjb21pbmc6bnRoLWNoaWxkKDNuKzEpIC5sYy1ldmVudF9fbW9udGgtZGV0YWlscy5ldmVudC1kaXJlY3Rpb24tbGVmdCB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87IH1cbiAgLmNhbGVuZGFyLS11cGNvbWluZyAubGMtZXZlbnQtLXVwY29taW5nOm50aC1jaGlsZCgzbisxKTpob3ZlciAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2UtaW4tb3V0IDI1MG1zO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9XG4gICAgLmNhbGVuZGFyLS11cGNvbWluZyAubGMtZXZlbnQtLXVwY29taW5nOm50aC1jaGlsZCgzbisxKTpob3ZlciAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMuZXZlbnQtZGlyZWN0aW9uLWxlZnQge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfVxuICAuY2FsZW5kYXItLXVwY29taW5nIC5sYy1ldmVudC0tdXBjb21pbmc6bnRoLWNoaWxkKDNuKzIpIC5sYy1ldmVudF9fbW9udGgtZGV0YWlscyB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmNhbGVuZGFyLS11cGNvbWluZyAubGMtZXZlbnQtLXVwY29taW5nOm50aC1jaGlsZCgzbisyKSAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMuZXZlbnQtZGlyZWN0aW9uLXJpZ2h0IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTsgfVxuICAuY2FsZW5kYXItLXVwY29taW5nIC5sYy1ldmVudC0tdXBjb21pbmc6bnRoLWNoaWxkKDNuKzIpOmhvdmVyIC5sYy1ldmVudF9fbW9udGgtZGV0YWlscyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNTAwbXMgZWFzZS1pbi1vdXQgMjUwbXM7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfVxuICAgIC5jYWxlbmRhci0tdXBjb21pbmcgLmxjLWV2ZW50LS11cGNvbWluZzpudGgtY2hpbGQoM24rMik6aG92ZXIgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzLmV2ZW50LWRpcmVjdGlvbi1yaWdodCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfVxuICAuY2FsZW5kYXItLXVwY29taW5nIC5sYy1ldmVudC0tdXBjb21pbmc6bnRoLWNoaWxkKDNuKzMpIC5sYy1ldmVudF9fbW9udGgtZGV0YWlscyB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmNhbGVuZGFyLS11cGNvbWluZyAubGMtZXZlbnQtLXVwY29taW5nOm50aC1jaGlsZCgzbiszKSAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMuZXZlbnQtZGlyZWN0aW9uLXJpZ2h0IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTsgfVxuICAuY2FsZW5kYXItLXVwY29taW5nIC5sYy1ldmVudC0tdXBjb21pbmc6bnRoLWNoaWxkKDNuKzMpOmhvdmVyIC5sYy1ldmVudF9fbW9udGgtZGV0YWlscyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNTAwbXMgZWFzZS1pbi1vdXQgMjUwbXM7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfVxuICAgIC5jYWxlbmRhci0tdXBjb21pbmcgLmxjLWV2ZW50LS11cGNvbWluZzpudGgtY2hpbGQoM24rMyk6aG92ZXIgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzLmV2ZW50LWRpcmVjdGlvbi1yaWdodCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfSB9XG5cbi5ibG9jay1sYy1jYWxlbmRhci11cGNvbWluZy1ibG9jayAuY2FsZW5kYXItLXVwY29taW5nLmhvdmVyLWxlZnQgLmxjLWV2ZW50LS11cGNvbWluZyAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMge1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bztcbiAgb3BhY2l0eTogMDsgfVxuICAuYmxvY2stbGMtY2FsZW5kYXItdXBjb21pbmctYmxvY2sgLmNhbGVuZGFyLS11cGNvbWluZy5ob3Zlci1sZWZ0IC5sYy1ldmVudC0tdXBjb21pbmcgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzLmV2ZW50LWRpcmVjdGlvbi1yaWdodCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuXG4uYmxvY2stbGMtY2FsZW5kYXItdXBjb21pbmctYmxvY2sgLmNhbGVuZGFyLS11cGNvbWluZy5ob3Zlci1sZWZ0IC5sYy1ldmVudC0tdXBjb21pbmc6aG92ZXIgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2UtaW4tb3V0IDI1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9XG4gIC5ibG9jay1sYy1jYWxlbmRhci11cGNvbWluZy1ibG9jayAuY2FsZW5kYXItLXVwY29taW5nLmhvdmVyLWxlZnQgLmxjLWV2ZW50LS11cGNvbWluZzpob3ZlciAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMuZXZlbnQtZGlyZWN0aW9uLXJpZ2h0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfVxuXG4uYmxvY2stbGMtY2FsZW5kYXItdXBjb21pbmctYmxvY2sgLmNhbGVuZGFyLS11cGNvbWluZy5ob3Zlci1yaWdodCAubGMtZXZlbnQtLXVwY29taW5nIC5sYy1ldmVudF9fbW9udGgtZGV0YWlscyB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxMDAlO1xuICBvcGFjaXR5OiAwOyB9XG4gIC5ibG9jay1sYy1jYWxlbmRhci11cGNvbWluZy1ibG9jayAuY2FsZW5kYXItLXVwY29taW5nLmhvdmVyLXJpZ2h0IC5sYy1ldmVudC0tdXBjb21pbmcgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzLmV2ZW50LWRpcmVjdGlvbi1sZWZ0IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG5cbi5ibG9jay1sYy1jYWxlbmRhci11cGNvbWluZy1ibG9jayAuY2FsZW5kYXItLXVwY29taW5nLmhvdmVyLXJpZ2h0IC5sYy1ldmVudC0tdXBjb21pbmc6aG92ZXIgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2UtaW4tb3V0IDI1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfVxuICAuYmxvY2stbGMtY2FsZW5kYXItdXBjb21pbmctYmxvY2sgLmNhbGVuZGFyLS11cGNvbWluZy5ob3Zlci1yaWdodCAubGMtZXZlbnQtLXVwY29taW5nOmhvdmVyIC5sYy1ldmVudF9fbW9udGgtZGV0YWlscy5ldmVudC1kaXJlY3Rpb24tbGVmdCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfVxuXG4ud2hpdGUtcG9wdXAgLmxjLWV2ZW50IC5sYy1ldmVudF9fbW9udGgtZGV0YWlscyB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxMDAlO1xuICBvcGFjaXR5OiAwOyB9XG4gIC53aGl0ZS1wb3B1cCAubGMtZXZlbnQgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzLmV2ZW50LWRpcmVjdGlvbi1sZWZ0IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG5cbi53aGl0ZS1wb3B1cCAubGMtZXZlbnQ6aG92ZXIgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2UtaW4tb3V0IDI1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfVxuICAud2hpdGUtcG9wdXAgLmxjLWV2ZW50OmhvdmVyIC5sYy1ldmVudF9fbW9udGgtZGV0YWlscy5ldmVudC1kaXJlY3Rpb24tbGVmdCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfVxuXG4ubGMtZXZlbnRfX21vbnRoLWRldGFpbHMge1xuICBsaW5lLWhlaWdodDogMTsgfVxuICAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMgLmxjLWV2ZW50X19jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzIC5sYy1ldmVudF9fdGl0bGUtLWRldGFpbHMge1xuICAgIGZvbnQtc2l6ZTogMThweDsgfVxuICAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMgLmxjLWV2ZW50X190aXRsZS0tc3RhdGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgY29sb3I6ICNlMDU1NTQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMgLmxjLWV2ZW50X19kYXRlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1OyB9XG4gIC5sYy1ldmVudF9fbW9udGgtZGV0YWlscyAuZGF0ZS1sb2NhdGlvbl9fcm9vbSB7XG4gICAgY29sb3I6ICM3Nzg4OTg7IH1cbiAgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzIC5sYy1ldmVudF9fYWdlLWdyb3VwcyxcbiAgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzIC5sYy1ldmVudF9fYm9keSB7XG4gICAgcGFkZGluZzogMDsgfVxuICAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMgLmxjLWV2ZW50X19jb250YWN0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4OyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5sYy1ldmVudC5kZXNrdG9wLWhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ubGMtZXZlbnRfcm9vbS1zZXR1cC1ub3RlcyA+IGRpdiB7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBib3JkZXItbGVmdDogMnB4IHNvbGlkICMwMDU0OWY7IH1cblxuLmxjLWV2ZW50X19tZW51LXRhc2tzIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubGMtZXZlbnRfX21lbnUtdGFza3Mge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG4ubGMtZXZlbnRfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGNsZWFyOiBib3RoO1xuICBsaW5lLWhlaWdodDogMjVweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5sYy1ldmVudF9fd3JhcHBlciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cblxuLmxjLWV2ZW50X19jb250ZW50IC5sYy1ldmVudF9fbGFiZWwge1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5sb2NhdGlvbi1hZGRyZXNzIHtcbiAgcGFkZGluZzogMjBweCAwIDAgMDsgfVxuXG4ubGMtZXZlbnRfX3NpZGViYXIgLmxjLWV2ZW50X19kZXRhaWxzIHtcbiAgcGFkZGluZzogNXB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjMDA1NDlmOyB9XG5cbi5sYy1ldmVudF9fc2lkZWJhciAubGMtZXZlbnQtaW5mb19fY2FuY2VsbGVkIHtcbiAgY29sb3I6ICNlMDU1NTQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLyogR21hcCAqL1xuLmxjLWV2ZW50LWxvY2F0aW9uIC5sYy1ldmVudF9fc3VidGl0bGUge1xuICBtYXJnaW46IDA7IH1cblxuLmxjLWV2ZW50LWxvY2F0aW9uIC5sYy1hZGRyZXNzX19saW5lIHtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuXG4vKiBSZXBlYXQgRGF0ZXMgKi9cbi5sYy1yZXBlYXRpbmctZGF0ZXNfX3RvZ2dsZSxcbi5sYy1yZXBlYXRpbmctZGF0ZXNfX2xpbmsge1xuICBjb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QyZDNkNTtcbiAgYm9yZGVyOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0IDUwMG1zOyB9XG4gIC5sYy1yZXBlYXRpbmctZGF0ZXNfX3RvZ2dsZTpob3ZlciwgLmxjLXJlcGVhdGluZy1kYXRlc19fdG9nZ2xlOmZvY3VzLFxuICAubGMtcmVwZWF0aW5nLWRhdGVzX19saW5rOmhvdmVyLFxuICAubGMtcmVwZWF0aW5nLWRhdGVzX19saW5rOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc4ODk4O1xuICAgIGJvcmRlcjogbm9uZTsgfVxuXG4ubGMtcmVwZWF0aW5nLWRhdGVzX190b2dnbGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogNXB4O1xuICBtYXJnaW46IDVweCAwO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICAubGMtcmVwZWF0aW5nLWRhdGVzX190b2dnbGU6aG92ZXIsIC5sYy1yZXBlYXRpbmctZGF0ZXNfX3RvZ2dsZTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuXG4ubGMtcmVwZWF0aW5nLWRhdGVzX190b2dnbGUtaWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTVweDtcbiAgaGVpZ2h0OiAxNXB4O1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2Fzc2V0cy9kaXN0L2ljb25zL2NoZXZyb24tZG93bi5zdmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTVweDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IDI1MG1zO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuXG4ubGMtcmVwZWF0aW5nLWRhdGVzX190b2dnbGUub3BlbiAubGMtcmVwZWF0aW5nLWRhdGVzX190b2dnbGUtaWNvbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cblxuLmxjLXJlcGVhdGluZy1kYXRlc19fd3JhcHBlciB7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCA1MDBtczsgfVxuXG4ubGMtcmVwZWF0aW5nLWRhdGVzX19saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDsgfVxuXG4ubGMtcmVwZWF0aW5nLWRhdGVzX19pdGVtIHtcbiAgd2lkdGg6IDQ5JTtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLmxjLXJlcGVhdGluZy1kYXRlc19faXRlbS5sYy1yZXBlYXRpbmctZGF0ZS1tYXN0ZXIgPiAubGMtcmVwZWF0aW5nLWRhdGVzX19saW5rOjpiZWZvcmUge1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgY29udGVudDogJ1xcMjYwNSc7IH1cblxuLmxjLXJlcGVhdGluZy1kYXRlc19fbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLyogQ2F0ZWdvcmllcyBzdHlsaW5nICovXG4ubGMtZXZlbnRfX2NhdGVnb3JpZXMge1xuICBsaW5lLWhlaWdodDogMS43OyB9XG4gIC5sYy1ldmVudF9fY2F0ZWdvcmllcyBhIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbi8qIFJlZ2lzdHJhaW9uIEZvcm0gKi9cbi5sYy1ldmVudF9faW5mby1pdGVtIHtcbiAgbGluZS1oZWlnaHQ6IDEuNzsgfVxuXG4ubGMtZXZlbnRfX3NpZGViYXItLXNlY29uZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6ICcnOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5sYy1ldmVudF9fc2lkZWJhci0tc2Vjb25kIHtcbiAgICBmbGV4OiBpbml0aWFsO1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxjLWV2ZW50X19zaWRlYmFyLS1zZWNvbmQge1xuICAgIGZsZXg6IDE7XG4gICAgd2lkdGg6IDIwMHB4OyB9IH1cblxuLmNhbGVuZGFyX193cmFwLS11cGNvbWluZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmxjLWV2ZW50LS11cGNvbWluZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmxjLWV2ZW50LS11cGNvbWluZyB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgICAubGMtZXZlbnQtLXVwY29taW5nOm50aC1jaGlsZCgybi0xKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDsgfVxuICAgICAgLmxjLWV2ZW50LS11cGNvbWluZzpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sYy1ldmVudC0tdXBjb21pbmcge1xuICAgICAgd2lkdGg6IDMzLjMzMyU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gICAgICAubGMtZXZlbnQtLXVwY29taW5nOm50aC1jaGlsZCgybi0xKSwgLmxjLWV2ZW50LS11cGNvbWluZzpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICAubGMtZXZlbnQtLXVwY29taW5nOm50aC1jaGlsZCgzbi0yKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH1cbiAgICAgIC5sYy1ldmVudC0tdXBjb21pbmc6bnRoLWNoaWxkKDNuLTEpIHtcbiAgICAgICAgcGFkZGluZzogMCA1cHg7IH1cbiAgICAgIC5sYy1ldmVudC0tdXBjb21pbmc6bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgfSB9XG4gIC5sYy1ldmVudC0tdXBjb21pbmcgLmV2ZW50LWNhcmQge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzc3ODg5ODsgfVxuICAubGMtZXZlbnQtLXVwY29taW5nIC5sYy1ldmVudF9fZXZlbnQtZGV0YWlscy0tdXBjb21pbmcge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmxjLWV2ZW50LS11cGNvbWluZyAubGMtZGF0ZS1pY29uX19pdGVtLS1kYXkge1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7IH1cblxuLmxjLWV2ZW50X19ldmVudC1kZXRhaWxzLS1sY19yZWdpc3RyYW50X3ByaW50ID4gKiB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5sYy1ldmVudF9fdGl0bGUsXG4ubGMtZXZlbnRfX3RpdGxlLS1kZXRhaWxzIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5sYy1ldmVudF9faW5mbyB7XG4gIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAubGMtZXZlbnRfX2luZm8gLmxjLWV2ZW50X190aXRsZSxcbiAgLmxjLWV2ZW50X19pbmZvIC5sYy1ldmVudF9fdGl0bGUtLWRldGFpbHMge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDE4cHg7IH1cblxuLmxjLWV2ZW50X19tb250aC1kZXRhaWxzIC5sYy1kYXRlLWljb24ge1xuICBwYWRkaW5nLWxlZnQ6IDVweDsgfVxuXG4ubGMtZXZlbnRfX21vbnRoLWRldGFpbHMgLmxjLWRhdGUtaWNvbl9faXRlbS0tZGF5IHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuXG4ubGMtZXZlbnRfX21vbnRoLWRldGFpbHMgLmxjLWRhdGUtaWNvbl9faXRlbS0teWVhciB7XG4gIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgYm9yZGVyLXRvcDogbm9uZTsgfVxuXG4ubGMtZXZlbnQtaW5mb19faXRlbS0tY2F0ZWdvcmllcyB7XG4gIGZvbnQtc2l6ZTogMTRweDsgfVxuXG4uYmxvY2stbGMtY2FsZW5kYXItdXBjb21pbmctYmxvY2sgLmxjLWV2ZW50LS11cGNvbWluZyB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5ibG9jay1sYy1jYWxlbmRhci11cGNvbWluZy1ibG9jayAubGMtZXZlbnQ6bnRoLWNoaWxkKDJuLTEpLCAuYmxvY2stbGMtY2FsZW5kYXItdXBjb21pbmctYmxvY2sgLmxjLWV2ZW50Om50aC1jaGlsZCgybiksIC5ibG9jay1sYy1jYWxlbmRhci11cGNvbWluZy1ibG9jayAubGMtZXZlbnQ6bnRoLWNoaWxkKDNuLTIpLCAuYmxvY2stbGMtY2FsZW5kYXItdXBjb21pbmctYmxvY2sgLmxjLWV2ZW50Om50aC1jaGlsZCgzbi0xKSwgLmJsb2NrLWxjLWNhbGVuZGFyLXVwY29taW5nLWJsb2NrIC5sYy1ldmVudDpudGgtY2hpbGQoM24pIHtcbiAgcGFkZGluZzogMDsgfVxuXG4uYmxvY2stbGMtY2FsZW5kYXItdXBjb21pbmctYmxvY2sgLmV2ZW50LWNhcmQge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5ibG9jay1sYy1jYWxlbmRhci11cGNvbWluZy1ibG9jayAubGMtZXZlbnRfX2V2ZW50LWRldGFpbHMge1xuICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweCAwOyB9XG5cbi5zY3JvbGwtaW5mbyB7XG4gIHBhZGRpbmc6IDFyZW07XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItcmFkaXVzOiA0cHg7IH1cblxuLmxjLWV2ZW50X19yZWdpc3RyYXRpb24tbGlzdCAudmlldy1jb250ZW50IHtcbiAgb3ZlcmZsb3cteDogc2Nyb2xsO1xuICBvdmVyZmxvdy15OiBoaWRkZW47IH1cblxuLmxjLWV2ZW50X19yZWdpc3RyYXRpb24tbGlzdCB0aCxcbi5sYy1ldmVudF9fcmVnaXN0cmF0aW9uLWxpc3QgdGQge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5sYy1ldmVudF9fcmVnaXN0cmF0aW9uLWxpc3QgdGQgLmRyb3BidXR0b24td2lkZ2V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5sYy1ldmVudF9fcmVnaXN0cmF0aW9uLWxpc3QgdGQgLmRyb3BidXR0b24td2lkZ2V0IGJ1dHRvbjpob3ZlciwgLmxjLWV2ZW50X19yZWdpc3RyYXRpb24tbGlzdCB0ZCAuZHJvcGJ1dHRvbi13aWRnZXQgYnV0dG9uOmZvY3VzLCAubGMtZXZlbnRfX3JlZ2lzdHJhdGlvbi1saXN0IHRkIC5kcm9wYnV0dG9uLXdpZGdldCBidXR0b246YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uaWUxMCAubGMtZXZlbnRfX3NpZGViYXItLWZpcnN0IC5sYy1ldmVudC1pbmZvLFxuLmllMTEgLmxjLWV2ZW50X19zaWRlYmFyLS1maXJzdCAubGMtZXZlbnQtaW5mbyB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5pZTEwIC5sYy1ldmVudF9fc2lkZWJhci0tZmlyc3QgLmxjLWV2ZW50X19icmFuY2gtaW1hZ2UgYSxcbi5pZTExIC5sYy1ldmVudF9fc2lkZWJhci0tZmlyc3QgLmxjLWV2ZW50X19icmFuY2gtaW1hZ2UgYSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5pZTEwIC5sYy1ldmVudF9fZmVhdHVyZWQtaW1hZ2UsXG4uaWUxMSAubGMtZXZlbnRfX2ZlYXR1cmVkLWltYWdlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuaWUxMCAubGMtZXZlbnRfX2ZlYXR1cmVkLWltYWdlIC5vcGVuLXBvcHVwLWxpbmssXG4gIC5pZTExIC5sYy1ldmVudF9fZmVhdHVyZWQtaW1hZ2UgLm9wZW4tcG9wdXAtbGluayB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmllMTAgLmNhbGVuZGFyX193cmFwLS1oZWFkZXIsXG4uaWUxMSAuY2FsZW5kYXJfX3dyYXAtLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5sYy1ldmVudC13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICBtYXJnaW4tbGVmdDogLTEwcHg7IH1cbiAgLmxjLWV2ZW50LXdyYXBwZXIgLmxjLWV2ZW50LXNpZGViYXIsXG4gIC5sYy1ldmVudC13cmFwcGVyIC5sYy1ldmVudC1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubGMtZXZlbnQtd3JhcHBlciAubGMtZXZlbnQtc2lkZWJhcixcbiAgICAgIC5sYy1ldmVudC13cmFwcGVyIC5sYy1ldmVudC1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdW5zZXQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sYy1ldmVudC13cmFwcGVyIC5sYy1ldmVudC1zaWRlYmFyIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmxjLWV2ZW50LXdyYXBwZXIgLmxjLWV2ZW50LWNvbnRlbnQge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9IH1cbiAgLmxjLWV2ZW50LXdyYXBwZXIgLmxjLWV2ZW50LWRldGFpbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbi1yaWdodDogLTVweDtcbiAgICBtYXJnaW4tbGVmdDogLTVweDsgfVxuICAubGMtZXZlbnQtd3JhcHBlciAubGMtZGF0ZS1pY29uLFxuICAubGMtZXZlbnQtd3JhcHBlciAubGMtZXZlbnQtaW5mbyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDsgfVxuICAubGMtZXZlbnQtd3JhcHBlciAubGMtZGF0ZS1pY29uIHtcbiAgICBmbGV4OiAwIDAgMy41cmVtOyB9XG4gICAgLmxjLWV2ZW50LXdyYXBwZXIgLmxjLWRhdGUtaWNvbiAubGMtZGF0ZS1pY29uX19pdGVtIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5sYy1ldmVudC13cmFwcGVyIC5sYy1ldmVudC1pbmZvIHtcbiAgICBmbGV4OiAyOyB9XG4gICAgLmxjLWV2ZW50LXdyYXBwZXIgLmxjLWV2ZW50LWluZm8gLmxjLWV2ZW50LXN1YnRpdGxlIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5sYy1ldmVudC13cmFwcGVyIC5sYy1ldmVudC1pbmZvLWNhbmNlbGxlZCB7XG4gICAgY29sb3I6ICNlMDU1NTQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAubGMtZXZlbnQtd3JhcHBlciAubGMtZXZlbnQtcm9vbS1zZXR1cC1pbWFnZSBpbWcge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkMmQzZDU7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gIC5sYy1ldmVudC13cmFwcGVyIC5sYy1ldmVudC1zZWN0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ub2RlLS10eXBlLWxjLWNsb3NpbmcgLmxjLWV2ZW50LWNvbnRlbnQge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH0gfVxuXG4ubGMtY2xvc2luZy1jb2xvciB7XG4gIGNvbG9yOiAjZTA1NTU0OyB9XG5cbi5sYy1yZXNlcnZhdGlvbi1vcHRpb25zX19saW5rcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbiAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5sYy1yZXNlcnZhdGlvbi1idG4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sYy1yZXNlcnZhdGlvbi1idG4ge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9IH1cbiAgLmxjLXJlc2VydmF0aW9uLWJ0biBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMjBweCA0MHB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubGMtcmVzZXJ2YXRpb24tYnRuIGEge1xuICAgICAgICBmb250LXNpemU6IDI4cHg7IH0gfVxuICAgIC5sYy1yZXNlcnZhdGlvbi1idG4gYSBzdmcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDExNXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgLmxjLXJlc2VydmF0aW9uLWJ0biBhIHN2ZyBwYXRoIHtcbiAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjsgfVxuICAgIC5sYy1yZXNlcnZhdGlvbi1idG4gYSBzdmcgZyB7XG4gICAgICBzdHJva2U6IGN1cnJlbnRDb2xvcjsgfVxuXG4ucmVzZXJ2YXRpb24tdHlwZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLTEwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtMTBweDsgfVxuICAucmVzZXJ2YXRpb24tdHlwZXMgLnJlc2VydmF0aW9uLXR5cGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5yZXNlcnZhdGlvbi10eXBlcyAucmVzZXJ2YXRpb24tdHlwZSB7XG4gICAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9IH1cbiAgICAucmVzZXJ2YXRpb24tdHlwZXMgLnJlc2VydmF0aW9uLXR5cGUgYSB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuXG4ubGMtcmVzZXJ2YXRpb24tb3B0aW9uc19fbGluay0tcm9vbSBhOjphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2Fzc2V0cy9kaXN0L2ljb25zL2J1aWxkaW5nLnN2Z1wiKTsgfVxuXG4ubGMtcmVzZXJ2YXRpb24tb3B0aW9uc19fbGluay0tdGltZSBhOjphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2Fzc2V0cy9kaXN0L2ljb25zL2Nsb2NrLnN2Z1wiKTsgfVxuXG4ubGMtcmVzZXJ2YXRpb24tb3B0aW9uc19fbGluay0tZGF0ZSBhOjphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2Fzc2V0cy9kaXN0L2ljb25zL2NhbGVuZGFyLnN2Z1wiKTsgfVxuXG4ubGMtYXZhaWxhYmxlLXJvb21zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLmxjLWF2YWlsYWJsZS1yb29tc19fZ3JvdXAtbGFiZWwge1xuICB3aWR0aDogMTAwJTsgfVxuXG4ubGMtYXZhaWxhYmxlLXJvb21zX19ncm91cCB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmxjLWF2YWlsYWJsZS1yb29tc19fZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG5cbi5sYy1hdmFpbGFibGUtcm9vbXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLTEwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtMTBweDsgfVxuXG4ubGMtYXZhaWxhYmxlLXJvb21zX19yb3cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubGMtYXZhaWxhYmxlLXJvb21zX19yb3cge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9IH1cblxuLmxjLWF2YWlsYWJsZS1yb29tc19fY29udGVudCB7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2QyZDNkNTtcbiAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gIC5sYy1hdmFpbGFibGUtcm9vbXNfX2NvbnRlbnQgLmxjLWF2YWlsYWJsZS1yb29tc19fcm9vbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5sYy1hdmFpbGFibGUtcm9vbXNfX2NvbnRlbnQgLmxjLWF2YWlsYWJsZS1yb29tc19fcm9vbSAuYnV0dG9ucyB7XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvOyB9XG4gIC5sYy1hdmFpbGFibGUtcm9vbXNfX2NvbnRlbnQgLmJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubGMtYXZhaWxhYmxlLXJvb21zX19jb250ZW50IC5idXR0b246bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmxjLWF2YWlsYWJsZS1yb29tc19faW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXI6IG5vbmU7IH1cbiAgLmxjLWF2YWlsYWJsZS1yb29tc19faW1hZ2U6aG92ZXIsIC5sYy1hdmFpbGFibGUtcm9vbXNfX2ltYWdlOmZvY3VzIHtcbiAgICBib3JkZXI6IG5vbmU7IH1cblxuLmxjLWF2YWlsYWJsZS1yb29tc19fZ3JvdXAtbGFiZWwge1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG5cbi5sYy1hdmFpbGFibGUtcm9vbXNfX3Jvb20gLmJ1dHRvbnMuYnV0dG9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDVweCAxMHB4OyB9XG5cbi5sYy1hdmFpbGFibGUtcm9vbXNfX2RhdGUge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5sYy1hdmFpbGFibGUtcm9vbXMtLWVycm9yLW1lc3NhZ2UtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG5cbi5sYy1yb29tLWZ1bGwgLmxjLXJlc2VydmF0aW9uLW9wZW5pbmdzLXRpbWUtYmxvY2tzIHtcbiAgbWFyZ2luOiAyMHB4IDA7IH1cbiAgLmxjLXJvb20tZnVsbCAubGMtcmVzZXJ2YXRpb24tb3BlbmluZ3MtdGltZS1ibG9ja3M6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cblxuLmxjLXJvb20tZnVsbCAucm9vbS1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLTEwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtMTBweDsgfVxuXG4ubGMtcm9vbS1mdWxsIC5yb29tLWNvbHVtbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sYy1yb29tLWZ1bGwgLnJvb20tY29sdW1uIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfSB9XG5cbi5sYy1yb29tLWZ1bGwgLmxjLXJvb20tZmVhdHVyZWQtaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubGMtcm9vbS1mdWxsIC5sYy1yb29tLWZlYXR1cmVkLWltYWdlIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfSB9XG5cbi5sYy1yb29tLWZ1bGwgLmxjLXJvb20tc2V0dXBzLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubGMtcm9vbS1mdWxsIC5sYy1yb29tLXNldHVwcy13cmFwcGVyIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfSB9XG4gIC5sYy1yb29tLWZ1bGwgLmxjLXJvb20tc2V0dXBzLXdyYXBwZXIgLmxjLXJvb20tc2V0dXBzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC5sYy1yb29tLWZ1bGwgLmxjLXJvb20tc2V0dXBzLXdyYXBwZXIgLmxjLXJvb20tc2V0dXBzIC5yb29tLXNldHVwcy1jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5sYy1yb29tLWZ1bGwgLmxjLXJvb20tc2V0dXBzLXdyYXBwZXIgLmxjLXJvb20tc2V0dXBzIC5yb29tLXNldHVwcy1jb250ZW50IHtcbiAgICAgICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgICAgIG1heC13aWR0aDogMjUlOyB9IH1cbiAgICAgIC5sYy1yb29tLWZ1bGwgLmxjLXJvb20tc2V0dXBzLXdyYXBwZXIgLmxjLXJvb20tc2V0dXBzIC5yb29tLXNldHVwcy1jb250ZW50OmhvdmVyIC5yb29tLXNldHVwc19fdGl0bGUsIC5sYy1yb29tLWZ1bGwgLmxjLXJvb20tc2V0dXBzLXdyYXBwZXIgLmxjLXJvb20tc2V0dXBzIC5yb29tLXNldHVwcy1jb250ZW50OmZvY3VzIC5yb29tLXNldHVwc19fdGl0bGUge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAubGMtcm9vbS1mdWxsIC5sYy1yb29tLXNldHVwcy13cmFwcGVyIC5sYy1yb29tLXNldHVwcyAucm9vbS1zZXR1cHMtY29udGVudCAucm9vbS1zZXR1cHNfX2ltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAuNXJlbTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2QyZDNkNTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLmxjLXJvb20tZnVsbCAubGMtcm9vbS1zZXR1cHMtd3JhcHBlciAubGMtcm9vbS1zZXR1cHMgLnJvb20tc2V0dXBzLWNvbnRlbnQgLnJvb20tc2V0dXBzX19pbWFnZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEyMXB4OyB9IH1cbiAgICAgIC5sYy1yb29tLWZ1bGwgLmxjLXJvb20tc2V0dXBzLXdyYXBwZXIgLmxjLXJvb20tc2V0dXBzIC5yb29tLXNldHVwcy1jb250ZW50IC5yb29tLXNldHVwc19fdGl0bGUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogOTk5O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAuNXJlbTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMC44KTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3M7IH1cbiAgICAubGMtcm9vbS1mdWxsIC5sYy1yb29tLXNldHVwcy13cmFwcGVyIC5sYy1yb29tLXNldHVwcy5sYy1oaWRkZW4tc2V0dXBzOm5vdCguc2hvdykge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAubGMtcm9vbS1mdWxsIC5sYy1yb29tLXNldHVwcy13cmFwcGVyIC5sYy1yb29tLXNldHVwLXRvZ2dsZSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cblxuLmxjLXJvb20tZnVsbCAubGMtcm9vbS1kZXRhaWxzIC5yb29tLWZpZWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4ubGMtcm9vbS1mdWxsIC5sYy1yZXNlcnZhdGlvbi13ZWVrLWRpc3BsYXkge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5sYy1yb29tLWZ1bGwgLmxjLXJlc2VydmF0aW9uLXdlZWstZGlzcGxheSB7XG4gIG1hcmdpbjogMCAyMHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmxjLXJvb20tZnVsbCAubGMtcmVzZXJ2YXRpb24td2Vlay1kaXNwbGF5IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuXG4ubGMtcm9vbS1mdWxsIC5sYy1yZXNlcnZhdGlvbi1vcGVuaW5ncyB7XG4gIGZsZXg6IDEgMSAwO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmxjLXJvb20tZnVsbCAubGMtcmVzZXJ2YXRpb24tb3BlbmluZ3MgaDMge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDJkM2Q1O1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAubGMtcm9vbS1mdWxsIC5sYy1yZXNlcnZhdGlvbi1vcGVuaW5ncy50b2RheSBoMyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjsgfVxuICAubGMtcm9vbS1mdWxsIC5sYy1yZXNlcnZhdGlvbi1vcGVuaW5nczpmaXJzdC1vZi10eXBlIGgzIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMHB4OyB9XG4gIC5sYy1yb29tLWZ1bGwgLmxjLXJlc2VydmF0aW9uLW9wZW5pbmdzOmZpcnN0LW9mLXR5cGUgLmxjLXJlc2VydmF0aW9uLW9wZW5pbmdzLWhvdXJzIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMHB4OyB9XG4gIC5sYy1yb29tLWZ1bGwgLmxjLXJlc2VydmF0aW9uLW9wZW5pbmdzOmZpcnN0LW9mLXR5cGUgLmxjLXJlc2VydmF0aW9uLW9wZW5pbmdzLWhvdXI6bGFzdC1vZi10eXBlIC5sYy1yZXNlcnZhdGlvbi1vcGVuaW5ncy1xdWFydGVyOmxhc3Qtb2YtdHlwZSB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTBweDsgfVxuICAubGMtcm9vbS1mdWxsIC5sYy1yZXNlcnZhdGlvbi1vcGVuaW5ncyAubGMtcmVzZXJ2YXRpb24tb3BlbmluZ3MtYWN0aW9ucyB7XG4gICAgbGluZS1oZWlnaHQ6IDA7IH1cbiAgLmxjLXJvb20tZnVsbCAubGMtcmVzZXJ2YXRpb24tb3BlbmluZ3M6bGFzdC1vZi10eXBlIGgzIHtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZDJkM2Q1O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMHB4OyB9XG4gIC5sYy1yb29tLWZ1bGwgLmxjLXJlc2VydmF0aW9uLW9wZW5pbmdzOmxhc3Qtb2YtdHlwZSAubGMtcmVzZXJ2YXRpb24tb3BlbmluZ3MtaG91cnMge1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkMmQzZDU7IH1cbiAgLmxjLXJvb20tZnVsbCAubGMtcmVzZXJ2YXRpb24tb3BlbmluZ3M6bGFzdC1vZi10eXBlIC5sYy1yZXNlcnZhdGlvbi1vcGVuaW5ncy1ob3VycyB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwcHg7IH1cbiAgLmxjLXJvb20tZnVsbCAubGMtcmVzZXJ2YXRpb24tb3BlbmluZ3M6bGFzdC1vZi10eXBlIC5sYy1yZXNlcnZhdGlvbi1vcGVuaW5ncy1ob3VyOmxhc3Qtb2YtdHlwZSAubGMtcmVzZXJ2YXRpb24tb3BlbmluZ3MtcXVhcnRlcjpsYXN0LW9mLXR5cGUge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMHB4OyB9XG5cbi5sYy1yb29tLWZ1bGwgLmxjLXJlc2VydmF0aW9uLW9wZW5pbmdzLWhvdXJzIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZDJkM2Q1OyB9XG5cbi5sYy1yb29tLWZ1bGwgLmxjLXJlc2VydmF0aW9uLW9wZW5pbmdzLWhvdXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbjogMDsgfVxuXG4ubGMtcm9vbS1mdWxsIC5sYy1yZXNlcnZhdGlvbi1vcGVuaW5ncy10aW1lLS1ob3VyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAzMy4zMzMlO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBjbGVhcjogYm90aDsgfVxuXG4ubGMtcm9vbS1mdWxsIC5sYy1yZXNlcnZhdGlvbi1vcGVuaW5ncy1xdWFydGVycyB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cblxuLmxjLXJvb20tZnVsbCAubGMtcmVzZXJ2YXRpb24tb3BlbmluZ3MtcXVhcnRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogNXB4O1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAjNzc4ODk4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QyZDNkNTsgfVxuXG4ubGMtcm9vbS1mdWxsIC5sYy1yZXNlcnZhdGlvbi1vcGVuaW5ncy1xdWFydGVyLS1ibG9ja2VkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjsgfVxuXG4ubGMtZm9ybS0tcmVzZXJ2ZS1yb29tLW9wZW5pbmdzIC5mb3JtLXN1Ym1pdCB7XG4gIG1hcmdpbjogMDsgfVxuXG4ubGMtZm9ybS0tcmVzZXJ2ZS1yb29tLW9wZW5pbmdzIC5sYy1mb3JtX19maWx0ZXJzIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAubGMtZm9ybS0tcmVzZXJ2ZS1yb29tLW9wZW5pbmdzIC5sYy1mb3JtX19maWx0ZXJzIGxhYmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgYm9yZGVyOiAwOyB9XG4gIC5sYy1mb3JtLS1yZXNlcnZlLXJvb20tb3BlbmluZ3MgLmxjLWZvcm1fX2ZpbHRlcnMgLmZvcm0tZ3JvdXAge1xuICAgIG1hcmdpbjogMDsgfVxuICAubGMtZm9ybS0tcmVzZXJ2ZS1yb29tLW9wZW5pbmdzIC5sYy1mb3JtX19maWx0ZXJzIC5sYy1yZXNlcnZhdGlvbi1kYXRlLWNvbnRhaW5lciA+IC5mb3JtLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxjLWZvcm0tLXJlc2VydmUtcm9vbS1vcGVuaW5ncyAubGMtZm9ybV9fZmlsdGVycyAubGMtcmVzZXJ2YXRpb24tZGF0ZS1jb250YWluZXIgPiAuZm9ybS13cmFwcGVyIC5mb3JtLWl0ZW0tc2VsZWN0ZWQtZGF0ZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgICAubGMtZm9ybS0tcmVzZXJ2ZS1yb29tLW9wZW5pbmdzIC5sYy1mb3JtX19maWx0ZXJzIC5sYy1yZXNlcnZhdGlvbi1kYXRlLWNvbnRhaW5lciA+IC5mb3JtLXdyYXBwZXIgLmZvcm0tZGF0ZSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAubGMtZm9ybS0tcmVzZXJ2ZS1yb29tLW9wZW5pbmdzIC5sYy1mb3JtX19maWx0ZXJzIC5sYy1yZXNlcnZhdGlvbi1kYXRlLWNvbnRhaW5lciA+IC5mb3JtLXdyYXBwZXIgLmZvcm0tZGF0ZTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgICBtYXJnaW46IGF1dG87IH1cbiAgICAubGMtZm9ybS0tcmVzZXJ2ZS1yb29tLW9wZW5pbmdzIC5sYy1mb3JtX19maWx0ZXJzIC5sYy1yZXNlcnZhdGlvbi1kYXRlLWNvbnRhaW5lciA+IC5mb3JtLXdyYXBwZXIgLmZvcm0tc3VibWl0IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cblxuLmxjLWZvcm0tLXJlc2VydmUtcm9vbS1vcGVuaW5ncyAubGMtZm9ybV9fZmlsdGVycy1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4ubGMtZm9ybS0tcmVzZXJ2ZS1yb29tLW9wZW5pbmdzIC5sYy1mb3JtX19uZXh0LFxuLmxjLWZvcm0tLXJlc2VydmUtcm9vbS1vcGVuaW5ncyAubGMtZm9ybV9fbGFzdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBtYXJnaW46IDIwcHggMDtcbiAgZm9udC1zaXplOiAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vYXNzZXRzL2Rpc3QvaWNvbnMvY2hldnJvbi1sZWZ0LWJsYWNrLnN2Zyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiA2NSU7IH1cblxuLmxjLWZvcm0tLXJlc2VydmUtcm9vbS1vcGVuaW5ncyAubGMtZm9ybV9fbmV4dCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9hc3NldHMvZGlzdC9pY29ucy9jaGV2cm9uLXJpZ2h0LWJsYWNrLnN2Zyk7IH1cblxuLmxjLXJlc2VydmF0aW9uLW9wZW5pbmdzLXRpbWUge1xuICBmbGV4LWdyb3c6IDE7IH1cblxuLmxjLXJlc2VydmF0aW9uLW9wZW5pbmdzLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogMjJweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLmxjLXJlc2VydmF0aW9uLW9wZW5pbmdzLWJ1dHRvbjo6YmVmb3JlLCAubGMtcmVzZXJ2YXRpb24tb3BlbmluZ3MtYnV0dG9uOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogNHB4O1xuICAgIGhlaWdodDogMTJweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yOyB9XG4gIC5sYy1yZXNlcnZhdGlvbi1vcGVuaW5ncy1idXR0b246OmFmdGVyIHtcbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IDRweDsgfVxuXG4ubGMtcmVzZXJ2YXRpb24tb3BlbmluZ3MtaGlkZS10ZXh0IHtcbiAgd2lkdGg6IDQ1cHg7XG4gIGhlaWdodDogMjVweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWluZGVudDogOTk5OXB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5pZTEwIC5sYy1yb29tLS1mdWxsIC5yb29tLXNldHVwc19faW1hZ2UsXG4uaWUxMSAubGMtcm9vbS0tZnVsbCAucm9vbS1zZXR1cHNfX2ltYWdlIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmllMTAgLmxjLXJvb20tLWZ1bGwgLnJvb20tc2V0dXBzX19pbWFnZSBpbWcsXG4gIC5pZTExIC5sYy1yb29tLS1mdWxsIC5yb29tLXNldHVwc19faW1hZ2UgaW1nIHtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uaWUxMCAubGMtcm9vbS0tZnVsbCAucm9vbS1zZXR1cHNfX3RpdGxlLFxuLmllMTEgLmxjLXJvb20tLWZ1bGwgLnJvb20tc2V0dXBzX190aXRsZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qIFRvZ2dsZSBGaWx0ZXJzICovXG4ubGMtZm9ybV9faGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5sYy1mb3JtX19oZWFkZXI6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiAnJzsgfVxuXG4uYnV0dG9uLmxjLWZvcm1fX3RvZ2dsZSB7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBtYXJnaW4tbGVmdDogMDtcbiAgY2xlYXI6IGJvdGg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDU0OWY7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5idXR0b24ubGMtZm9ybV9fdG9nZ2xlIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDI1JTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAuYnV0dG9uLmxjLWZvcm1fX3RvZ2dsZS5hY3RpdmUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmJ1dHRvbi5sYy1mb3JtX190b2dnbGU6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2Fzc2V0cy9kaXN0L2ljb25zL2xpc3Quc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuICAuYnV0dG9uLmxjLWZvcm1fX3RvZ2dsZTpob3ZlciwgLmJ1dHRvbi5sYy1mb3JtX190b2dnbGU6Zm9jdXMge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMTgwOWY7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuXG4ubGMtZm9ybV9fZmlsdGVycyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xlYXI6IGxlZnQ7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1NDlmOyB9XG4gIC5sYy1mb3JtX19maWx0ZXJzIHNlbGVjdCB7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubGMtZm9ybV9fZmlsdGVycyB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAyNSU7IH0gfVxuICAubGMtZm9ybV9fZmlsdGVycy5jb2xsYXBzZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvcm0tdHlwZS1kYXRlIHtcbiAgY29sb3I6ICM3Nzg4OTg7IH1cblxuLmxjLWZvcm1fX2ZpbHRlcnMtY29udGFpbmVyIHtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7IH1cbiAgLmxjLWZvcm1fX2ZpbHRlcnMtY29udGFpbmVyIC5mb3JtLWl0ZW0sXG4gIC5sYy1mb3JtX19maWx0ZXJzLWNvbnRhaW5lciAuZm9ybS1hY3Rpb25zIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmxjLWZvcm1fX2ZpbHRlcnMtY29udGFpbmVyIC5mb3JtLWNoZWNrYm94ZXMgLmZvcm0taXRlbSxcbiAgLmxjLWZvcm1fX2ZpbHRlcnMtY29udGFpbmVyIC5mb3JtLXJhZGlvcyAuZm9ybS1pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmxjLWZvcm1fX2ZpbHRlcnMtY29udGFpbmVyIGRldGFpbHMge1xuICAgIGJvcmRlcjogMDsgfVxuICAgIC5sYy1mb3JtX19maWx0ZXJzLWNvbnRhaW5lciBkZXRhaWxzID4gZGl2IHtcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgY29sb3I6ICMzMzM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgLmxjLWZvcm1fX2ZpbHRlcnMtY29udGFpbmVyIGRldGFpbHMgPiBzdW1tYXJ5IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMTBweCAwIDVweCAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmZmOyB9XG4gICAgICAubGMtZm9ybV9fZmlsdGVycy1jb250YWluZXIgZGV0YWlscyA+IHN1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAubGMtZm9ybV9fZmlsdGVycy1jb250YWluZXIgZGV0YWlscyA+IHN1bW1hcnk6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2Fzc2V0cy9kaXN0L2ljb25zL2NoZXZyb24tY2lyY2xlLWRvd24uc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuICAubGMtZm9ybV9fZmlsdGVycy1jb250YWluZXIgZGV0YWlsc1tvcGVuXSA+IHN1bW1hcnk6OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gIC5sYy1mb3JtX19maWx0ZXJzLWNvbnRhaW5lciAuZmllbGRzZXQtd3JhcHBlciB7XG4gICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjb2xvcjogIzMzMztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgLmxjLWZvcm1fX2ZpbHRlcnMtY29udGFpbmVyIC5maWVsZHNldC13cmFwcGVyLmNvbGxhcHNlZCB7XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAubGMtZm9ybV9fZmlsdGVycy1jb250YWluZXIgLmxjLWNoZWNrYm94LXdyYXBwZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAubGMtZm9ybV9fZmlsdGVycy1jb250YWluZXIgLmZvcm0tZ3JvdXA6bm90KC5mb3JtLWNoZWNrKSA+IGxhYmVsIHtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5jb2xvci1jb2RpbmcgLmxjLWNoZWNrYm94LXdyYXBwZXIgLmZvcm0taXRlbSB7XG4gIHBhZGRpbmc6IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjZWZlZmVmOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5sYy1yb29tX19yb29tLW9wZW5pbmdzIC5sYy1mb3JtX19maWx0ZXJzLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuXG4ubGMtcm9vbV9fcm9vbS1vcGVuaW5ncyAuZm9ybS1pdGVtIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi5sYy1yb29tX19yb29tLW9wZW5pbmdzIC5mb3JtLWFjdGlvbnMge1xuICBwYWRkaW5nLXRvcDogMTBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5sYy1yb29tX19yb29tLW9wZW5pbmdzIC5mb3JtLWFjdGlvbnMge1xuICAgICAgcGFkZGluZy10b3A6IDIzcHg7IH0gfVxuXG4ubGMtcm9vbV9fcm9vbS1vcGVuaW5ncyAuZm9ybS1zdWJtaXQge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5sYy1yb29tX19yb29tLW9wZW5pbmdzIC5mb3JtLWRhdGUge1xuICBib3JkZXI6IDFweCBzb2xpZCAjNzc4ODk4OyB9XG5cbi5sYy1yb29tX19yb29tLW9wZW5pbmdzIC5sYy1mb3JtX19maWx0ZXJzIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5jb2xvci1jb2RpbmcgLmxjLWNoZWNrYm94LXdyYXBwZXItLWFkdWx0IC5mb3JtLWl0ZW0sXG4uY29sb3ItY29kaW5nIC5sYy1jaGVja2JveC13cmFwcGVyLS1hZHVsdHMgLmZvcm0taXRlbSB7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjMDA5OGRiOyB9XG5cbi5jb2xvci1jb2RpbmcgLmxjLWNoZWNrYm94LXdyYXBwZXItLWV2ZXJ5b25lIC5mb3JtLWl0ZW0ge1xuICBib3JkZXItbGVmdC1jb2xvcjogIzAwN2I2OTsgfVxuXG4uY29sb3ItY29kaW5nIC5sYy1jaGVja2JveC13cmFwcGVyLS1mYW1pbHkgLmZvcm0taXRlbSxcbi5jb2xvci1jb2RpbmcgLmxjLWNoZWNrYm94LXdyYXBwZXItLWNoaWxkcmVuIC5mb3JtLWl0ZW0ge1xuICBib3JkZXItbGVmdC1jb2xvcjogIzkwMzk4NjsgfVxuXG4uY29sb3ItY29kaW5nIC5sYy1jaGVja2JveC13cmFwcGVyLS1pbmZhbnQgLmZvcm0taXRlbSxcbi5jb2xvci1jb2RpbmcgLmxjLWNoZWNrYm94LXdyYXBwZXItLWJhYmllcyAuZm9ybS1pdGVtIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICNmM2VjN2E7IH1cblxuLmNvbG9yLWNvZGluZyAubGMtY2hlY2tib3gtd3JhcHBlci0ta2lkcyAuZm9ybS1pdGVtIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICNmZWQxMDA7IH1cblxuLmNvbG9yLWNvZGluZyAubGMtY2hlY2tib3gtd3JhcHBlci0tcHJlc2Nob29sIC5mb3JtLWl0ZW0ge1xuICBib3JkZXItbGVmdC1jb2xvcjogI2Q3YTkwMDsgfVxuXG4uY29sb3ItY29kaW5nIC5sYy1jaGVja2JveC13cmFwcGVyLS1zY2hvb2wtYWdlIC5mb3JtLWl0ZW0ge1xuICBib3JkZXItbGVmdC1jb2xvcjogI2Y2OGQ3NDsgfVxuXG4uY29sb3ItY29kaW5nIC5sYy1jaGVja2JveC13cmFwcGVyLS10ZWVuIC5mb3JtLWl0ZW0sXG4uY29sb3ItY29kaW5nIC5sYy1jaGVja2JveC13cmFwcGVyLS10ZWVucyAuZm9ybS1pdGVtIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICNlMDU1NTQ7IH1cblxuLmNvbG9yLWNvZGluZyAubGMtY2hlY2tib3gtd3JhcHBlci0tdG9kZGxlciAuZm9ybS1pdGVtIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICNjMjM3MzY7IH1cblxuLmNvbG9yLWNvZGluZyAubGMtY2hlY2tib3gtd3JhcHBlci0tdG9kZGxlci1vbmUgLmZvcm0taXRlbSB7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjMzViY2FjOyB9XG5cbi5sYy1mb3JtIC5oaWRlLWZpbHRlciB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ubWZwLXdyYXAgLm1mcC1pbmxpbmUtaG9sZGVyIC5tZnAtY29udGVudCB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm1mcC13cmFwIC5tZnAtaW5saW5lLWhvbGRlciAubWZwLWNvbnRlbnQge1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuXG4ubGMtZXZlbnQtYWN0aW9uc19fbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1ncm93OiAxO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiA1cHggMDsgfVxuXG4ubGMtZXZlbnQtYWN0aW9uc19faXRlbSB7XG4gIGZsZXg6IG5vbmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtaW4td2lkdGg6IDA7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLmxjLWV2ZW50LWFjdGlvbnNfX2l0ZW0gYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1NDlmOyB9XG4gICAgLmxjLWV2ZW50LWFjdGlvbnNfX2l0ZW0gYTpob3ZlciwgLmxjLWV2ZW50LWFjdGlvbnNfX2l0ZW0gYTpmb2N1cyB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuXG4ubGMtZXZlbnQtYWN0aW9uc19fY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAubGMtZXZlbnQtYWN0aW9uc19fY29udGFpbmVyIC5oZWFkZXIge1xuICAgIHBhZGRpbmc6IDIwcHggMTBweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1NDlmOyB9XG4gICAgLmxjLWV2ZW50LWFjdGlvbnNfX2NvbnRhaW5lciAuaGVhZGVyIGgyIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAubGMtZXZlbnQtYWN0aW9uc19fY29udGFpbmVyIC5ib2R5IHtcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7IH1cbiAgLmxjLWV2ZW50LWFjdGlvbnNfX2NvbnRhaW5lciAubGlua3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmxjLWV2ZW50LWFjdGlvbnNfX2NvbnRhaW5lciB1bCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmxjLWV2ZW50LWFjdGlvbnNfX2NvbnRhaW5lciBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gICAgLmxjLWV2ZW50LWFjdGlvbnNfX2NvbnRhaW5lciBsaS5tZXNzYWdlc19faXRlbSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5sYy1ldmVudC1hY3Rpb25zX19jb250YWluZXIgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgIG1hcmdpbjogMCAxMHB4IDEwcHggMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1NDlmO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmxjLWV2ZW50LWFjdGlvbnNfX2NvbnRhaW5lciBhIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgLmxjLWV2ZW50LWFjdGlvbnNfX2NvbnRhaW5lciBhOmhvdmVyLCAubGMtZXZlbnQtYWN0aW9uc19fY29udGFpbmVyIGE6Zm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7IH1cblxuLndoaXRlLXBvcHVwIC5tZnAtY2xvc2Uge1xuICB3aWR0aDogNjRweDtcbiAgaGVpZ2h0OiA2NHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOThkYjtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCBlYXNlLWluLW91dCAuMjVzOyB9XG4gIC53aGl0ZS1wb3B1cCAubWZwLWNsb3NlOmhvdmVyLCAud2hpdGUtcG9wdXAgLm1mcC1jbG9zZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTQ5ZjsgfVxuICAud2hpdGUtcG9wdXAgLm1mcC1jbG9zZTphY3RpdmUge1xuICAgIHRvcDogMDsgfVxuXG4ud2hpdGUtcG9wdXAgLmxjLWV2ZW50LWFjdGlvbnNfX2ljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogM3B4O1xuICB3aWR0aDogMTdweDtcbiAgaGVpZ2h0OiAxN3B4O1xuICBiYWNrZ3JvdW5kLXNpemU6IDE3cHg7IH1cblxuLmxjLWV2ZW50LWFjdGlvbnNfX3NvY2lhbC1pY29uIGEge1xuICB3aWR0aDogNjBweDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWluZGVudDogMTAwJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDQwcHg7IH1cblxuLmxjLWV2ZW50LWFjdGlvbnNfX2ljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDE2cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDI3LjVlbSkge1xuICAgIC5sYy1ldmVudC1hY3Rpb25zX19pY29uIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfSB9XG5cbi5sYy1ldmVudC1hY3Rpb25zX190ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAyNy41ZW0pIHtcbiAgICAubGMtZXZlbnQtYWN0aW9uc19fdGV4dCB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgIGNsaXA6IGF1dG87IH0gfVxuXG4ubGMtZXZlbnQtYWN0aW9uc19faWNvbi0tY2FsZW5kYXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9hc3NldHMvZGlzdC9pY29ucy9jYWxlbmRhci5zdmdcIik7IH1cblxuLmxjLWV2ZW50LWFjdGlvbnNfX2ljb24tLXByaW50IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vYXNzZXRzL2Rpc3QvaWNvbnMvcHJpbnQuc3ZnXCIpOyB9XG5cbi5sYy1ldmVudC1hY3Rpb25zX19pY29uLS1zaGFyZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2Fzc2V0cy9kaXN0L2ljb25zL21haWwtZm9yd2FyZC5zdmdcIik7IH1cblxuLmxjLWV2ZW50LWFjdGlvbnNfX2ljb24tLWdvb2dsZSxcbi5sYy1ldmVudC1hY3Rpb25zX19pY29uLS1pY2FsIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vYXNzZXRzL2Rpc3QvaWNvbnMvZ29vZ2xlLnN2Z1wiKTsgfVxuXG4ubGMtZXZlbnQtYWN0aW9uc19faWNvbi0tcmVtaW5kZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9hc3NldHMvZGlzdC9pY29ucy9jbG9jay1vLnN2Z1wiKTsgfVxuXG4ubGMtZXZlbnQtYWN0aW9uc19faWNvbi0tcGVuY2lsIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vYXNzZXRzL2Rpc3QvaWNvbnMvcGVuY2lsLXNxdWFyZS1vLnN2Z1wiKTsgfVxuXG4ubGMtZXZlbnQtYWN0aW9uc19fc29jaWFsLWljb24tLWZhY2Vib29rIGEge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9hc3NldHMvZGlzdC9pY29ucy9mYWNlYm9vay5zdmdcIik7IH1cblxuLmxjLWV2ZW50LWFjdGlvbnNfX3NvY2lhbC1pY29uLS10d2l0dGVyIGEge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9hc3NldHMvZGlzdC9pY29ucy90d2l0dGVyLnN2Z1wiKTsgfVxuXG4ubGMtZXZlbnQtYWN0aW9uc19fc29jaWFsLWljb24tLWxpbmtlZGluIGEge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9hc3NldHMvZGlzdC9pY29ucy9saW5rZWRpbi5zdmdcIik7IH1cblxuLmxjLWV2ZW50LWFjdGlvbnNfX3NvY2lhbC1pY29uLS1lbWFpbCBhIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vYXNzZXRzL2Rpc3QvaWNvbnMvZW52ZWxvcGUuc3ZnXCIpOyB9XG5cbiNhdHRlbmRhbmNlLWZpZWxkc2V0LXdyYXBwZXIgLmxjLWZvcm1fX2ZsZXgtd3JhcHBlciB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbiNhdHRlbmRhbmNlLWZpZWxkc2V0LXdyYXBwZXIgLmZvcm0taXRlbSxcbiNhdHRlbmRhbmNlLWZpZWxkc2V0LXdyYXBwZXIgLmZvcm0tYWN0aW9ucyB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuI2F0dGVuZGFuY2UtZmllbGRzZXQtd3JhcHBlciAuZm9ybS1zZWxlY3QsXG4jYXR0ZW5kYW5jZS1maWVsZHNldC13cmFwcGVyIC5mb3JtLXRleHQsXG4jYXR0ZW5kYW5jZS1maWVsZHNldC13cmFwcGVyIC5sYy1mb3JtX19yZW1vdmUge1xuICBtaW4taGVpZ2h0OiAzMHB4O1xuICBtYXJnaW46IDJweCAwO1xuICBib3JkZXItY29sb3I6ICNkMmQzZDU7XG4gIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuXG4jYXR0ZW5kYW5jZS1maWVsZHNldC13cmFwcGVyIC5mb3JtLXNlbGVjdCxcbiNhdHRlbmRhbmNlLWZpZWxkc2V0LXdyYXBwZXIgLmxjLWZvcm1fX3JlbW92ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgZWFzZS1pbi1vdXQgMjUwbXM7IH1cbiAgI2F0dGVuZGFuY2UtZmllbGRzZXQtd3JhcHBlciAuZm9ybS1zZWxlY3Q6aG92ZXIsICNhdHRlbmRhbmNlLWZpZWxkc2V0LXdyYXBwZXIgLmZvcm0tc2VsZWN0OmZvY3VzLFxuICAjYXR0ZW5kYW5jZS1maWVsZHNldC13cmFwcGVyIC5sYy1mb3JtX19yZW1vdmU6aG92ZXIsXG4gICNhdHRlbmRhbmNlLWZpZWxkc2V0LXdyYXBwZXIgLmxjLWZvcm1fX3JlbW92ZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjsgfVxuXG4jYXR0ZW5kYW5jZS1maWVsZHNldC13cmFwcGVyIC5mb3JtLXNlbGVjdCB7XG4gIHBhZGRpbmc6IDAgNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjJyZW07XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2Fzc2V0cy9kaXN0L2ljb25zL2FuZ2xlLWRvd24tYmxhY2suc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMS4zcmVtO1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG5cbiNhdHRlbmRhbmNlLWZpZWxkc2V0LXdyYXBwZXIgLmxjLWZvcm1fX3JlbW92ZSB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi5ibG9jay1sYy1icmFuY2gtc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmJsb2NrLWxjLWJyYW5jaC1zZWxlY3QgaDIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5ibG9jay1sYy1icmFuY2gtc2VsZWN0IGgyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfSB9XG5cbi5sYy1icmFuY2gtc2VsZWN0X193cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAyNTBtczsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sYy1icmFuY2gtc2VsZWN0X193cmFwcGVyIHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9IH1cblxuLmxjLWJyYW5jaC1zZWxlY3RfX3dyYXBwZXItLW9wZW4ge1xuICBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi5sYy1icmFuY2gtc2VsZWN0X19zZWxlY3QtaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk4ZGI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2Fzc2V0cy9kaXN0L2ljb25zL2FuZ2xlLWRvd24uc3ZnXCIpLCBub25lO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAyNXB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLmxjLWJyYW5jaC1zZWxlY3QtZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG4gIC5sYy1icmFuY2gtc2VsZWN0LWRpc2FibGVkOjpiZWZvcmUsIC5sYy1icmFuY2gtc2VsZWN0LWRpc2FibGVkOjphZnRlciB7XG4gICAgY29udGVudDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5sYy1icmFuY2gtc2VsZWN0X19icmFuY2guYWN0aXZlLWJyYW5jaCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4ubGMtYnJhbmNoLXNlbGVjdF9fYWRkcmVzcyxcbi5sYy1icmFuY2gtc2VsZWN0X19ob3VycyB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLmxjLWJyYW5jaC1zZWxlY3RfX2FkZHJlc3Mge1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5sYy1icmFuY2gtc2VsZWN0X19ob3VycyB7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWZlZmVmOyB9XG5cbi5qcy1ob3Vycy10b2dnbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjBweDtcbiAgcmlnaHQ6IDIwcHg7XG4gIHotaW5kZXg6IDEwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgb3JkZXI6IDA7XG4gIHBhZGRpbmc6IDVweDtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTQ5ZjtcbiAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG4gIC5qcy1ob3Vycy10b2dnbGU6aG92ZXIsIC5qcy1ob3Vycy10b2dnbGU6Zm9jdXMsIC5qcy1ob3Vycy10b2dnbGU6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5OGRiO1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuanMtaG91cnMtdG9nZ2xlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uaG91cnMtdG9nZ2xlX19pY29uIHtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogMi41cHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDU0OWY7XG4gIGJvcmRlci1yYWRpdXM6IDM1cHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDEwcHggI2ZmZjsgfVxuICAuaG91cnMtdG9nZ2xlX19pY29uOmhvdmVyLCAuaG91cnMtdG9nZ2xlX19pY29uOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5ob3Vycy10b2dnbGVfX2ljb246OmJlZm9yZSwgLmhvdXJzLXRvZ2dsZV9faWNvbjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC03cHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDJweDtcbiAgICBoZWlnaHQ6IDdweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgY29udGVudDogJyAnO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDU0OWY7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMXM7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjE5LCAxLjM1KSAwLjc1cztcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207IH1cbiAgLmhvdXJzLXRvZ2dsZV9faWNvbjo6YmVmb3JlIHtcbiAgICB0b3A6IC0xMHB4O1xuICAgIGhlaWdodDogMTBweDsgfVxuICAuaG91cnMtdG9nZ2xlX19pY29uOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4gIC5ob3Vycy10b2dnbGVfX2ljb24ub3Blbjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg1NDBkZWcpOyB9XG4gIC5ob3Vycy10b2dnbGVfX2ljb24ub3Blbjo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7IH1cblxuLmxjLWJyYW5jaC1zZWxlY3RfX2NvbGxhcHNlLWJ1dHRvbjpob3ZlciwgLmxjLWJyYW5jaC1zZWxlY3RfX2NvbGxhcHNlLWJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLmxjLWJyYW5jaC1zZWxlY3RfX2NvbGxhcHNlZC13cmFwcGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAubGMtYnJhbmNoLXNlbGVjdF9fY29sbGFwc2VkLXdyYXBwZXIub3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmxheW91dF9fc2VjdGlvbi0tYW5ub3VuY2VtZW50cyB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXlvdXRfX3NlY3Rpb24tLWFubm91bmNlbWVudHMgLnZpZXdzLWZpZWxkLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDIycHg7IH1cblxuLmJyYWludHJlZS1tZXRob2QgLmJyYWludHJlZS1tZXRob2RfX2NoZWNrIHtcbiAgcGFkZGluZzogMCAxMHB4OyB9XG4gIC5icmFpbnRyZWUtbWV0aG9kIC5icmFpbnRyZWUtbWV0aG9kX19jaGVjayBzdmcge1xuICAgIGhlaWdodDogaW5oZXJpdDsgfVxuXG4jbGMtcGF5bWVudC1idXR0b24ge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5sYy1mZWVzLFxuLmxjLWZlZXNfX2ZlZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG5cbi5sYy1mZWVzX19mZWUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogYm90dG9tO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDVweCAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDJkM2Q1OyB9XG4gIC5sYy1mZWVzX19mZWU6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3A6IG5vbmU7IH1cblxuLmxjLWZlZXNfX2ZlZS0tdG90YWwge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMDAwOyB9XG5cbi5sYy1yZWdpc3RyYXRpb24tbGlzdCAuaXRlbS1saXN0IGxpIHtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzc3ODg5ODsgfVxuICAubGMtcmVnaXN0cmF0aW9uLWxpc3QgLml0ZW0tbGlzdCBsaTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbi5sYy1yZWdpc3RyYXRpb24tbGlzdCAucmVnaXN0cmF0aW9uLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLmxjLXJlZ2lzdHJhdGlvbi1saXN0IC5yZWdpc3RyYXRpb25fX2l0ZW1zIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubGMtcmVnaXN0cmF0aW9uLWxpc3QgLnJlZ2lzdHJhdGlvbl9faXRlbXMge1xuICAgICAgd2lkdGg6IDMzLjMzMyU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sYy1yZWdpc3RyYXRpb24tbGlzdCAucmVnaXN0cmF0aW9uX19pdGVtcyB7XG4gICAgICB3aWR0aDogMjUlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmxjLXJlZ2lzdHJhdGlvbi1saXN0IC5yZWdpc3RyYXRpb25fX2l0ZW1zLS1jb250YWN0LWluZm8ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAubGMtcmVnaXN0cmF0aW9uLWxpc3QgLnJlZ2lzdHJhdGlvbl9faXRlbXMtLXJlZ2lzdHJhbnQtaW5mbyB7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmxjLXJlZ2lzdHJhdGlvbi1saXN0IC5yZWdpc3RyYXRpb25fX2l0ZW1zLS1ldmVudC1pbmZvIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH0gfVxuXG4ubGMtcmVnaXN0cmF0aW9uLWxpc3QgLnJlZ2lzdHJhdGlvbl9faXRlbXMtLXNwZWNpYWwge1xuICB3aWR0aDogMTAwJTsgfVxuXG4ubGMtcmVnaXN0cmF0aW9uLWxpc3QgLnJlZ2lzdHJhdGlvbi1pdGVtLS1uYW1lIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4ubGMtZXZlbnRfX3JlZ2lzdHJhdGlvbi1saXN0IHRib2R5IHRyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5OTk7IH1cbiAgLmxjLWV2ZW50X19yZWdpc3RyYXRpb24tbGlzdCB0Ym9keSB0ciAuZHJvcGJ1dHRvbi1tdWx0aXBsZSB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4ubGMtZXZlbnRfX3JlZ2lzdHJhdGlvbi1saXN0IHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7IH1cblxuLmZvcm0taXRlbS1yZWctc2F2ZS1zdGF0ZSB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkMmQzZDU7XG4gIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuXG4ubGMtcmVnaXN0cmFudC1oZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4ubGMtcmVnaXN0cmFudC1zdWJoZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4ubGMtcmVnaXN0cmF0aW9uLWZpZWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4uZmllbGQtLW5hbWUtZmllbGQtbGMtcmVnaXN0cmF0aW9uLXJlZmVyZW5jZSB7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QyZDNkNTsgfVxuXG4ubGMtY2xvc2luZy1sb2NhdGlvbl9fYWRkcmVzczpub3QoOmxhc3QtY2hpbGQpIHtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG4gIC8qKlxuICogQ2FsZW5kYXIgbW9udGggZGlzcGxheS5cbiAqXG4gKiBBbGwgcGFkZGluZyBhbmQgZm9udC1zaXplcyBpbiB0aGUgbW9udGggZGlzcGxheVxuICogc2hvdWxkIHVzZXMgZW0gdW5pdHMgKG5vdCByZW0gb3IgcHgpLCBhcyBkZWZpbmVkXG4gKiBpbiB0aGUgY2FsZW5kYXIgY29tcG9uZW50J3MgbG9jYWwgdmFyaWFibGVzIHBhcnRpYWwuXG4gKiBUaGUgcmVhc29uaW5nIGZvciB0aGF0IGlzIHNvIHRoYXQgZm9udC1zaXplcyBjYW4gYmVcbiAqIGRlZmluZWQgcmVsYXRpdmUgdG8gZWFjaCBvdGhlciwgYW5kIHRoZW4gdGhlIG92ZXJhbGxcbiAqIGZvbnQvcGFkZGluZyBzaXplcyBvZiB0aGUgY2FsZW5kYXIgY2FuIGJlIGFkanVzdGVkXG4gKiBwcm9wb3J0aW9uYWxseSB3aGlsZSBvbmx5IG1vZGlmeWluZyB0aGUgcm9vdCBmb250XG4gKiBzaXplIG9uIHRoZSAuY2FsZW5kYXItLW1vbnRoIGNvbnRhaW5lci5cbiAqL1xuICAuY2FsZW5kYXItLW1vbnRoIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAgIC5jYWxlbmRhci0tbW9udGggLm1vYmlsZS1oaWRlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIGNsaXA6IGF1dG87IH1cbiAgICAuY2FsZW5kYXItLW1vbnRoIC5ldmVudC1jYXJkIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jYWxlbmRhci0tbW9udGggLmxjLWV2ZW50X19yZWdpc3RyYXRpb24taWNvbixcbiAgICAuY2FsZW5kYXItLW1vbnRoIC5sYy1ldmVudF9fcmVnaXN0cmF0aW9uLXBheW1lbnQtaWNvbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmNhbGVuZGFyX193ZWVrIC5ldmVudC1jYXJkX190aXRsZSxcbiAgLmNhbGVuZGFyX193ZWVrIC5ldmVudC1jYXJkX19kZXRhaWxzLFxuICAuY2FsZW5kYXJfX3dlZWsgLmV2ZW50LWNhcmRfX3Jvb20ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvOyB9XG4gIC5jYWxlbmRhci0tbW9udGggLm5vZGUtLXR5cGUtbGMtY2xvc2luZyxcbiAgLmNhbGVuZGFyX193ZWVrIC5ub2RlLS10eXBlLWxjLWNsb3Npbmcge1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNlMDU1NTQ7IH1cbiAgLmNhbGVuZGFyLS1tb250aCAubm9kZS0tdHlwZS1sYy1yZXNlcnZhdGlvbixcbiAgLmNhbGVuZGFyX193ZWVrIC5ub2RlLS10eXBlLWxjLXJlc2VydmF0aW9uIHtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjMDA3YjY5OyB9XG4gIC5jYWxlbmRhci0tbW9udGggLmFsbC1kYXksXG4gIC5jYWxlbmRhcl9fd2VlayAuYWxsLWRheSB7XG4gICAgYm9yZGVyOiAzcHggc29saWQgIzAwOThkYjsgfVxuICAuY2FsZW5kYXItLW1vbnRoIC5wcml2YXRlLWV2ZW50LFxuICAuY2FsZW5kYXJfX3dlZWsgLnByaXZhdGUtZXZlbnQge1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICMzMTgwOWY7IH1cbiAgLmNhbGVuZGFyLS1tb250aCAuaGFzLWNvbmZsaWN0LFxuICAuY2FsZW5kYXJfX3dlZWsgLmhhcy1jb25mbGljdCB7XG4gICAgYm9yZGVyOiAzcHggc29saWQgIzkwMzk4NjsgfVxuICBhLmNhbGVuZGFyX19kYXktLWN1cnJlbnQge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzg4OTg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCBlYXNlLWluLW91dCAyNTBtczsgfVxuICAvKipcbiAqIEhlYWRlciBhbmQgcGFnZXJcbiAqXG4gKiBUaGUgaGVhZGVyIGFuZCBwYWdlciB1c2UgZmxleGJveCB0b1xuICogbGF5b3V0IGFuZCB2ZXJ0aWNhbGx5IGNlbnRlciB0aGUgaGVhZGVyXG4gKiBpdGVtcy5cbiAqL1xuICAuY2FsZW5kYXJfX21vbnRoLXBhZ2VyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDE7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmNhbGVuZGFyX193cmFwLS1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY2FsZW5kYXJfX3dyYXAtLWhlYWRlcixcbiAgLmNhbGVuZGFyX193cmFwLS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgLmNhbGVuZGFyX193cmFwLS1oZWFkZXIgLmNhbGVuZGFyX190aXRsZSBoMixcbiAgICAuY2FsZW5kYXJfX3dyYXAtLXRpdGxlIC5jYWxlbmRhcl9fdGl0bGUgaDIge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9XG4gIC5jYWxlbmRhcl9fd3JhcC0tdGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jYWxlbmRhcl9fcGFnZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLmNhbGVuZGFyX19wYWdlcjo6YmVmb3JlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjb250ZW50OiAnJzsgfVxuICAuY2FsZW5kYXJfX3RpdGxlIHtcbiAgICBvcmRlcjogMTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuYnV0dG9uLmNhbGVuZGFyX19wYWdlci0tbGVmdCxcbiAgLmJ1dHRvbi5jYWxlbmRhcl9fcGFnZXItLXJpZ2h0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDU0OWY7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0IC4yNXM7IH1cbiAgLmJ1dHRvbi5jYWxlbmRhcl9fcGFnZXItLWxlZnQge1xuICAgIG9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2Fzc2V0cy9kaXN0L2ltYWdlcy9wYWdlci1hcnJvdy1wcmV2LnN2Z1wiKTsgfVxuICAuYnV0dG9uLmNhbGVuZGFyX19wYWdlci0tcmlnaHQge1xuICAgIG9yZGVyOiAyO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2Fzc2V0cy9kaXN0L2ltYWdlcy9wYWdlci1hcnJvdy1uZXh0LnN2Z1wiKTsgfVxuICAvKipcbiAqIEdyaWQgc3R5bGluZ1xuICpcbiAqIFRoZSBncmlkIHN0eWxpbmcgZm9yIHRoZSBzaW5nbGUtZGF5IGV2ZW50XG4gKiBjZWxscyB1c2VzIGZsZXhib3ggY29udGFpbmVycyBmb3IgdGhlIHJvd1xuICogYW5kIDEvNyBvZiB0aGUgY29udGFpbmVyIGZvciB0aGUgd2lkdGggb25cbiAqIGVhY2ggaXRlbS4gVGhlIGZpcnN0IGl0ZW0gaW4gdGhlIHJvdyBpc1xuICogYWx3YXlzIHRoZSBtdWx0aS1kYXkgZXZlbnQgY2VsbCwgd2hpY2ggaXMgMTAwJVxuICogd2lkZSwgYW5kIHVzZXMgaXQncyBvd24gZ3JpZCB0byBjb250cm9sXG4gKiBsYXlvdXQgZm9yIG11bHRpLWRheSBldmVudHMuXG4gKi9cbiAgLmNhbGVuZGFyX193cmFwLS1ncmlkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2QxZDFkMTsgfVxuICAuY2FsZW5kYXJfX3Jvdy0taGVhZGVyLFxuICAuY2FsZW5kYXJfX3Jvdy0tY29udGVudCxcbiAgLmNhbGVuZGFyX19udW1iZXJzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLmNhbGVuZGFyX19yb3ctLWZvb3RlciB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNhbGVuZGFyX19kYXksXG4gIC5jYWxlbmRhcl9fZGF5LS1udW1iZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTQuMjg1NzElO1xuICAgIHBhZGRpbmc6IDVweDsgfVxuICAuY2FsZW5kYXJfX2RheS0tbXVsdGkge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNhbGVuZGFyX19kYXktLW11bHRpIC5ldmVudC1jYXJkIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDA7IH1cbiAgLmNhbGVuZGFyX19kYXkge1xuICAgIG1pbi1oZWlnaHQ6IDI1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAuY2FsZW5hcl9fZGF5LS1udW1iZXIge1xuICAgIG1pbi1oZWlnaHQ6IDA7IH1cbiAgLmNhbGVuZGFyX19kYXktLWhlYWRlciB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmNhbGVuZGFyX19kYXktLWJsYW5rIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuY2FsZW5kYXJfX3Jvdy0tY29udGVudCAuY2FsZW5kYXJfX2RheS0tYmxhbmsge1xuICAgIG1pbi1oZWlnaHQ6IDVyZW07IH1cbiAgLmNhbGVuZGFyX19kYXktLW91dHNpZGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7IH1cbiAgLyoqXG4gKiBDYWxlbmRhciBib3JkZXJzXG4gKlxuICogRXh0ZXJuYWwgYm9yZGVycyBhcmUgd3JhcHBlZCBhcm91bmQgdGhlXG4gKiAuY2FsZW5kYXJfX3dlZWsgZWxlbWVudCwgd2hpbGUgaW50ZXJuYWwgYm9yZGVyc1xuICogYXJlIGFic29sdXRlbHkgcG9zaXRpb25lZCBlbXB0eSBkaXZzLlxuICovXG4gIC5jYWxlbmRhcl9fd2VlayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZDFkMWQxOyB9XG4gIC5jYWxlbmRhcl9fd2Vlay0tZW1wdHkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jYWxlbmRhcl9fYmFyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBjb2xvcjogI2QxZDFkMTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHgsIC0xcHggMCAwIDA7XG4gICAgb3BhY2l0eTogLjI1OyB9XG4gIC5jYWxlbmRhcl9fYmFyLS0xIHtcbiAgICBsZWZ0OiAxNC4yODU3MSU7IH1cbiAgLmNhbGVuZGFyX19iYXItLTIge1xuICAgIGxlZnQ6IDI4LjU3MTQzJTsgfVxuICAuY2FsZW5kYXJfX2Jhci0tMyB7XG4gICAgbGVmdDogNDIuODU3MTQlOyB9XG4gIC5jYWxlbmRhcl9fYmFyLS00IHtcbiAgICBsZWZ0OiA1Ny4xNDI4NiU7IH1cbiAgLmNhbGVuZGFyX19iYXItLTUge1xuICAgIGxlZnQ6IDcxLjQyODU3JTsgfVxuICAuY2FsZW5kYXJfX2Jhci0tNiB7XG4gICAgbGVmdDogODUuNzE0MjklOyB9XG4gIC8qKlxuICogTGluayBvdmVybGF5c1xuICpcbiAqIEVhY2ggZGF5IGluIHRoZSBjYWxlbmRhciBoYXMgYW4gYXNzb2NpYXRlZCBsaXN0IG9mIGRheXNcbiAqIHRoYXQgaXMgc3RvcmVkIGJlbG93IHRoZSBjYWxlbmRhciB0aGF0IGNvbnRhaW5zIG1vcmVcbiAqIGluZm9ybWF0aW9uLiBUbyBhY2Nlc3MgdGhpcyBpbmZvcm1hdGlvbiwgdGhlcmUgYXJlIGxpbmtcbiAqIG92ZXJsYXlzIHBvc2l0aW9uZWQgYWJzb2x1dGVseSBhYm92ZSB0aGUgZGF5IGNlbGxzLlxuICovXG4gIC5jYWxlbmRhcl9fbnVtYmVycyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxNTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5jYWxlbmRhcl9fbnVtYmVyLWRheS0tbXVsdGkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7IH1cbiAgLyoqXG4gKiBNdWx0aS1kYXkgZ3JpZHNcbiAqXG4gKiBVbmxpa2UgdGhlIHJlZ3VsYXIgZ3JpZCBjZWxscyBmb3IgdGhlIGNhbGVuZGFyLCB3aGljaFxuICogdXNlIGZsZXhib3gsIHRoZSBtdWx0aS1kYXkgZ3JpZHMgdXNlIFNpbmd1bGFyaXR5IEdTJ3NcbiAqIGZsb2F0IGdyaWQtc3BhbnMgc28gdGhhdCB0aGV5IGNhbiBzdGFydCBhdCBhcmJpdHJhcnlcbiAqIHBvaW50cyB3aXRoaW4gdGhlIGdyaWQuIENsZWFyaW5nIGhhcyB0byBiZSBhcHBsaWVkXG4gKiBtYW51YWxseSB2aWEgYSBjbGVhciBjbGFzcywgYXBwbGllZCB3aGVuIHRoZSB0ZW1wbGF0ZVxuICogaXMgZmlyc3QgZ2VuZXJhdGVkLlxuICovXG4gIC5jYWxlbmRhcl9fZGF5LS1tdWx0aSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsgfVxuICAgIC5jYWxlbmRhcl9fZGF5LS1tdWx0aTo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5jYWxlbmRhcl9fZGF5LXNwYW4tLTEtMSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5jYWxlbmRhcl9fZGF5LXNwYW4tLTEtNyB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiAxNC4yODU3MSU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5jYWxlbmRhcl9fZGF5LXNwYW4tLTItMSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDI4LjU3MTQzJTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5jYWxlbmRhcl9fZGF5LXNwYW4tLTItMiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDI4LjU3MTQzJTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAxNC4yODU3MSU7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLmNhbGVuZGFyX19kYXktc3Bhbi0tMi0zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjguNTcxNDMlO1xuICAgIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDI4LjU3MTQzJTtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuY2FsZW5kYXJfX2RheS1zcGFuLS0yLTQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyOC41NzE0MyU7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogNDIuODU3MTQlO1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5jYWxlbmRhcl9fZGF5LXNwYW4tLTItNSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDI4LjU3MTQzJTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiA1Ny4xNDI4NiU7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLmNhbGVuZGFyX19kYXktc3Bhbi0tMi02IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDI4LjU3MTQzJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLmNhbGVuZGFyX19kYXktc3Bhbi0tMy0xIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNDIuODU3MTQlO1xuICAgIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLmNhbGVuZGFyX19kYXktc3Bhbi0tMy0yIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNDIuODU3MTQlO1xuICAgIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDE0LjI4NTcxJTtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuY2FsZW5kYXJfX2RheS1zcGFuLS0zLTMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA0Mi44NTcxNCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMjguNTcxNDMlO1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5jYWxlbmRhcl9fZGF5LXNwYW4tLTMtNCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDQyLjg1NzE0JTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiA0Mi44NTcxNCU7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLmNhbGVuZGFyX19kYXktc3Bhbi0tMy01IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDQyLjg1NzE0JTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLmNhbGVuZGFyX19kYXktc3Bhbi0tNC0xIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNTcuMTQyODYlO1xuICAgIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLmNhbGVuZGFyX19kYXktc3Bhbi0tNC0yIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNTcuMTQyODYlO1xuICAgIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDE0LjI4NTcxJTtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuY2FsZW5kYXJfX2RheS1zcGFuLS00LTMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1Ny4xNDI4NiU7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMjguNTcxNDMlO1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5jYWxlbmRhcl9fZGF5LXNwYW4tLTQtNCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiA1Ny4xNDI4NiU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5jYWxlbmRhcl9fZGF5LXNwYW4tLTUtMSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDcxLjQyODU3JTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5jYWxlbmRhcl9fZGF5LXNwYW4tLTUtMiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDcxLjQyODU3JTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAxNC4yODU3MSU7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLmNhbGVuZGFyX19kYXktc3Bhbi0tNS0zIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDcxLjQyODU3JTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLmNhbGVuZGFyX19kYXktc3Bhbi0tNi0xIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogODUuNzE0MjklO1xuICAgIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLmNhbGVuZGFyX19kYXktc3Bhbi0tNi0yIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDg1LjcxNDI5JTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLmNhbGVuZGFyX19kYXktc3Bhbi0tNy0xIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5jYWxlbmRhcl9fZGF5LXNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jYWxlbmRhcl9fZGF5LXNwYW4tLWNsZWFyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAvKipcbiAqIENhbGVuZGFyIExpc3QgU3R5bGluZ1xuICpcbiAqIEluIGFkZGl0aW9uIHRvIHRoZSAzMC1kYXkgZ3JpZCwgdGhlcmUncyBhIGxpc3Qgdmlld1xuICogZm9yIGVhc2llciB1c2FnZSBvbiBtb2JpbGUgdGhhdCBhcHBlYXJzIGJlbG93IHRoZVxuICogbm9ybWFsIDMwLWRheSBjYWxlbmRhci4gSXQncyBicm91Z2h0IHVwIGEgZml4ZWRcbiAqIHBvc2l0aW9uIHdoZW5ldmVyIHRoZSB1c2VyIHRvdWNoZXMgaXQncyBhc3NvY2lhdGVkXG4gKiBkYXkgb24gdGhlIGNhbGVuZGFyIGdyaWQuXG4gKi9cbiAgLmNhbGVuZGFyX19kYXktaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jYWxlbmRhcl9fbW9iaWxlLWxpc3Qge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xuICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XG4gICAgLmNhbGVuZGFyX19tb2JpbGUtbGlzdC5saXN0IHtcbiAgICAgIHotaW5kZXg6IDUwO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgIC5jYWxlbmRhcl9fbW9iaWxlLWxpc3QgLmV2ZW50LWNhcmQtLXNwYXJzZSAudGltZS0tZW5kLFxuICAgIC5jYWxlbmRhcl9fbW9iaWxlLWxpc3QgLmV2ZW50LWNhcmQtLXNwYXJzZSAudGltZS0tc2VwYXJhdG9yIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIGNsaXA6IGF1dG87IH1cbiAgICAuY2FsZW5kYXJfX21vYmlsZS1saXN0IC5ldmVudC1jYXJkLS1zcGFyc2UgLnRpbWUtLXN0YXJ0IC5ldmVudC1jYXJkX19kYXktLWlubGluZSxcbiAgICAuY2FsZW5kYXJfX21vYmlsZS1saXN0IC5ldmVudC1jYXJkLS1zcGFyc2UgLnRpbWUtLXN0YXJ0IC5ldmVudC1jYXJkX19zZXBhcmF0b3Ige1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgY2xpcDogYXV0bzsgfVxuICAuY2FsZW5kYXJfX2xpc3QsXG4gIC5jYWxlbmRhcl9fbGlzdC1pdGVtLFxuICAuY2FsZW5kYXJfX2xpc3QtLWRheSxcbiAgLmNhbGVuZGFyX19saXN0LWl0ZW0tLWRheSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5jYWxlbmRhcl9fbGlzdC1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2QxZDFkMTsgfVxuICAuY2FsZW5kYXJfX2xpc3QtdGl0bGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5jYWxlbmRhcl9fbGlzdC0tZGF5IHtcbiAgICBmbGV4LWdyb3c6IDE7IH1cbiAgLmtpZHMge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJkMGE7XG4gICAgYm9yZGVyLWNvbG9yOiAjZTE5ZjAwOyB9XG4gICAgLmtpZHMgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzRhYWNhMjsgfVxuICAgIC5raWRzIGgyLFxuICAgIC5raWRzIGgzLFxuICAgIC5raWRzIGg0IHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC50ZWVucyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNkNDI0NjtcbiAgICBib3JkZXItY29sb3I6ICMxZjI0Mjg7IH1cbiAgICAudGVlbnMgaDIsXG4gICAgLnRlZW5zIGgzLFxuICAgIC50ZWVucyBoNCB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAuYWR1bHQge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0YWFjYTI7XG4gICAgYm9yZGVyLWNvbG9yOiAjMmM4ZTg0OyB9XG4gICAgLmFkdWx0IGgyLFxuICAgIC5hZHVsdCBoMyxcbiAgICAuYWR1bHQgaDQge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAuYWR1bHQgYSB7XG4gICAgICBjb2xvcjogIzU3YjdkZjsgfVxuICAgICAgLmFkdWx0IGE6Zm9jdXMsIC5hZHVsdCBhOmhvdmVyLCAuYWR1bHQgYTphY3RpdmUge1xuICAgICAgICBjb2xvcjogI2ZmYmQwYTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5jYWxlbmRhci1waWNrZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuY2FsZW5kYXItcGlja2VyLXRpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjA7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNhbGVuZGFyLXBpY2tlci1pbnB1dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmNhbGVuZGFyLXBpY2tlci5hY3RpdmUgLmNhbGVuZGFyLXBpY2tlci1pbnB1dCB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIGVhc2UtaW4tb3V0IC4yNXMsIG9wYWNpdHkgZWFzZS1pbi1vdXQgLjI1cztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7IH1cbiAgLmNhbGVuZGFyX19tZW51LXRhc2tzIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5sYy1ldmVudF9fZXZlbnQtZGV0YWlscyBoMyB7XG4gICAgZm9udC1zaXplOiAxMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLmxjLWV2ZW50X19saW5rIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5sYy1ldmVudF9fZGF0ZSB7XG4gICAgZm9udC1zaXplOiA5cHg7IH1cbiAgLmxjLWV2ZW50LmRlc2t0b3AtaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAubGMtZXZlbnRfX2tleSB7XG4gICAgZm9udC1zaXplOiA5cHg7IH1cbiAgLmFubm91bmNlbWVudCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAubGMtZXZlbnQtYWN0aW9ucyxcbiAgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzLFxuICAubGMtZXZlbnRfX3JlZ2lzdHJhdGlvbi1saXN0LFxuICAubGMtcmVwZWF0aW5nLWRhdGVzX190b2dnbGUtaWNvbixcbiAgLmxjLXJlcGVhdGluZy1kYXRlcyxcbiAgLmxjLWV2ZW50LWxvY2F0aW9uLW1hcCxcbiAgLmxjLWV2ZW50LWJyYW5jaC1pbWFnZSxcbiAgLnNjcm9sbC1pbmZvLFxuICAudG9vbHRpcCxcbiAgLmxjLWV2ZW50LXJlZ2lzdHJhbnQtbGlzdC10aXRsZSxcbiAgLmxjLWV2ZW50LWxvY2F0aW9uX19lbWFpbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAudG9vbHRpcCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5sYy1ldmVudF9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAubGMtZXZlbnRfX3dyYXBwZXIgcCxcbiAgICAubGMtZXZlbnRfX3dyYXBwZXIgLmxjLW1lc3NhZ2VzLFxuICAgIC5sYy1ldmVudF9fd3JhcHBlciAubGMtZXZlbnRfX2NhdGVnb3JpZXMsXG4gICAgLmxjLWV2ZW50X193cmFwcGVyIC5sYy1ldmVudC1pbmZvLFxuICAgIC5sYy1ldmVudF9fd3JhcHBlciAubGMtZXZlbnQtbG9jYXRpb25fX2FkZHJlc3MsXG4gICAgLmxjLWV2ZW50X193cmFwcGVyIC5sYy1ldmVudF9faW5mby1pdGVtIHtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDsgfVxuICAubGMtYWRkcmVzc19fbmFtZSxcbiAgLmxjLWV2ZW50X19zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7IH1cbiAgaDMubGMtZXZlbnRfX3N1YnRpdGxlLmxjLWFkZHJlc3NfX25hbWUge1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5sYy1ldmVudF9fc2lkZWJhci0tZmlyc3Qge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxjLXJlcGVhdGluZy1kYXRlc19fdG9nZ2xlIHtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmxjLXJlcGVhdGluZy1kYXRlc19fd3JhcHBlciB7XG4gICAgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC5sYy1yZXBlYXRpbmctZGF0ZXNfX2xpc3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBpbmhlcml0OyB9XG4gIC5sYy1yZXBlYXRpbmctZGF0ZXNfX2xpbmsge1xuICAgIHBhZGRpbmc6IDJweCAwICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGMtcmVwZWF0aW5nLWRhdGVzX19pdGVtIHtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmxjLWV2ZW50X19jb250ZW50IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gICAgLmxjLWV2ZW50X19jb250ZW50IC5sYy1mb3JtIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmxjLW1lc3NhZ2VzLFxuICAubGMtbWVzc2FnZXNfX21lc3NhZ2Uge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuICAubGMtcHJpbnQtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMTBweDsgfVxuICAubGMtcHJpbnQtY29sdW1uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAubGMtZXZlbnQtd3JhcHBlciAubGMtZXZlbnQtc2lkZWJhcixcbiAgLmxjLWV2ZW50LXdyYXBwZXIgLmxjLWV2ZW50LWNvbnRlbnQge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAubGMtZXZlbnRfX2NhdGVnb3JpZXMge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLmxjLW1lc3NhZ2VzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC5sYy1mb3JtX19oZWFkZXIsXG4gIC5sYy1mb3JtX19maWx0ZXJzIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5sYy1yZWdpc3RyYXRpb24tbGlzdCAuaXRlbS1saXN0IGxpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgLmxjLXJlZ2lzdHJhdGlvbi1saXN0IC5yZWdpc3RyYXRpb25fX2l0ZW1zIHtcbiAgICB3aWR0aDogMjUlO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICBmb250LXNpemU6IDEwcHg7IH1cbiAgICAubGMtcmVnaXN0cmF0aW9uLWxpc3QgLnJlZ2lzdHJhdGlvbl9faXRlbXMgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgLmxjLXJlZ2lzdHJhdGlvbi1saXN0IC5yZWdpc3RyYXRpb25fX2l0ZW1zLS1jb250YWN0LWluZm8ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cbiAgLmxjLXJlZ2lzdHJhdGlvbi1saXN0IC5yZWdpc3RyYXRpb25fX2l0ZW1zLS1yZWdpc3RyYW50LWluZm8ge1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAubGMtcmVnaXN0cmF0aW9uLWxpc3QgLnJlZ2lzdHJhdGlvbl9faXRlbXMtLWV2ZW50LWluZm8ge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDsgfVxuICAubGMtcmVnaXN0cmF0aW9uLWxpc3QgLnJlZ2lzdHJhdGlvbl9faXRlbXMtLXNwZWNpYWwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYy1yZWdpc3RyYXRpb24tbGlzdCAucmVnaXN0cmF0aW9uLWl0ZW0tLW5hbWUge1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAubGMtcmVnaXN0cmF0aW9uLXByaW50LWJ0biB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5idXR0b25fX3ByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnZpZXctZmlsdGVycyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAucmVnaW9uLWhpZ2hsaWdodGVkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cbiIsIi8vIE1peGluc1xuLy9cbi8vIE1peGlucyB1c2VkIGZvciByZXBldGl0aXZlIHByb3BlcnRpZXMuIElmIGEgbWl4aW5cbi8vIGRvZXNuJ3QgaGF2ZSBhbnkgcGFyYW1ldGVycywgdGhlIHBhcmVudGhlc2VzIGFyZVxuLy8gb3B0aW9uYWwuXG4vL1xuLy8gKipFeGFtcGxlczoqKlxuLy8gPHByZSBjbGFzcz1cInByZXR0eXByaW50IGxpbmVudW1zIGxhbmctY3NzXCI+XG4vLyAuZm9vIHtcbi8vICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4vL1xuLy8gICAuYmFyIHtcbi8vICAgICBAaW5jbHVkZSBidXR0b24oY29sb3IoYmx1ZV9vc2NhciksIGNvbG9yKHdoaXRlKSk7XG4vLyAgICAgZmxvYXQ6IGxlZnQ7XG4vLyAgIH1cbi8vIH1cbi8vIDwvcHJlPlxuLy9cbi8vIFN0eWxlZ3VpZGU6IHV0aWxzLm1peGluc1xuXG4vLyBjbGVhcmZpeFxuLy9cbi8vIE1peGluIHRvIGNsZWFyIGEgY29udGFpbmVyIGRpdiB0aGF0IGhhcyBmbG9hdGVkXG4vLyBlbGVtZW50cyBpbnNpZGUgaXQuXG4vL1xuLy8gU3R5bGVndWlkZTogdXRpbHMubWl4aW5zLmNsZWFyZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogJyc7XG4gIH1cbn1cblxuLy8gaW1hZ2UtcmVwbGFjZVxuLy9cbi8vIEhpZGUgdGV4dCBvbiBhbiBlbGVtZW50IGFjY2Vzc2libHkgdXNpbmcgdGhlIFtTY290dFxuLy8gS2VsbHVtIG1ldGhvZF0oaHR0cDovL3d3dy56ZWxkbWFuLmNvbS8yMDEyLzAzLzAxL3JlcGxhY2luZy10aGUtOTk5OXB4LWhhY2stbmV3LWltYWdlLXJlcGxhY2VtZW50Lylcbi8vIG9mIGltYWdlIHJlcGxhY2VtZW50LlxuLy9cbi8vIFN0eWxlZ3VpZGU6IHV0aWxzLm1peGlucy5pbWFnZS1yZXBsYWNlXG5AbWl4aW4gaW1hZ2UtcmVwbGFjZSgkaW5kZW50OiAxMDAlKSB7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtaW5kZW50OiAkaW5kZW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vLyB2aXN1YWxseS1oaWRkZW4gKGZvcm1lcmx5IGVsZW1lbnQtaW52aXNpYmxlIGluIGRydXBhbCA3KVxuLy9cbi8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgYWNjZXNzaWJsZS5cbi8vIFNlZSBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4vL1xuLy8gU3R5bGVndWlkZTogdXRpbHMubWl4aW5zLmVsZW1lbnQtaW52aXNpYmxlXG5AbWl4aW4gdmlzdWFsbHktaGlkZGVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIHZpc3VhbGx5LWhpZGRlbi1vZmYgKGZvcm1lcmx5IGVsZW1lbnQtaW52aXNpYmxlLW9mZiBpbiBkcnVwYWwgNylcbi8vXG4vLyBOZWdhdGUgdGhlIGVmZmVjdHMgb2YgdGhlIGVsZW1lbnQtaW52aXNpYmxlIG1peGluLlxuLy9cbi8vIFN0eWxlZ3VpZGU6IHV0aWxzLm1peGlucy5lbGVtZW50LWludmlzaWJsZVxuQG1peGluIHZpc3VhbGx5LWhpZGRlbi1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiBhdXRvO1xuICBjbGlwOiBhdXRvO1xufVxuXG4vLyB2aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlXG4vL1xuLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4gYnkgZGVmYXVsdCwgYnV0IHZpc2libGUgd2hlbiBmb2N1c2VkLlxuLy9cbi8vIFN0eWxlZ3VpZGU6IHV0aWxzLm1peGlucy52aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlXG5AbWl4aW4gdmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZSB7XG4gIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbjtcblxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuLW9mZjtcbiAgfVxufVxuXG4vLyB2aXNpYmlsaXR5LWhpZGVcbi8vXG4vLyBDb21wbGV0ZWx5IGhpZGUgZWxlbWVudCwgaW5jbHVkaW5nIGZyb20gc2NyZWVuIHJlYWRlcnMuXG4vL1xuLy8gU3R5bGVndWlkZTogdXRpbHMubWl4aW5zLnZpc2liaWxpdHktaGlkZVxuQG1peGluIHZpc2liaWxpdHktaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLy8gcHJpbnQoJGRlY2xhcmF0aW9ucylcbi8vXG4vLyBIZWxwZXIgbWl4aW4gdG8gcHJpbnQgc2FzcyBtYXBzLlxuLy9cbi8vIEV4YW1wbGU6IGBAaW5jbHVkZSBwcmludCgkY29uZmlndXJhdGlvbik7YFxuLy9cbi8vIFN0eWxlZ3VpZGU6IHV0aWxzLm1peGlucy5wcmludFxuQG1peGluIHByaW50KCRkZWNsYXJhdGlvbnMpIHtcbiAgQGVhY2ggJHByb3BlcnR5LCAkdmFsdWUgaW4gJGRlY2xhcmF0aW9ucyB7XG4gICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8gdHJ1bmNhdGVcbi8vXG4vLyBUcnVuY2F0ZSBhbiBlbGVtZW50J3MgdGV4dCB3aXRoIGFuIGVsbGlwc2lzLlxuLy9cbi8vIFN0eWxlZ3VpZGU6IHV0aWxzLm1peGlucy50cnVuY2F0ZVxuQG1peGluIHRydW5jYXRlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8vIGJ1dHRvbigkYmcsICRjb2xvciwgJHBhZGRpbmcsICRjb3JuZXItcmFkaXVzLCAkaG92ZXItYmcsICRob3Zlci1jb2xvcilcbi8vXG4vLyBNaXhpbiBmb3Igc3RhbmRhcmQgYnV0dG9ucy4gQWxsIHBhcmFtZXRlcnMgaGF2ZSBkZWZhdWx0IHZhbHVlcy5cbi8vXG4vLyAqKkV4YW1wbGUgVXNhZ2U6Kipcbi8vIDxwcmUgY2xhc3M9XCJwcmV0dHlwcmludCBsaW5lbnVtcyBsYW5nLWNzc1wiPlxuLy8gLmZvbyB7XG4vLyAgIEBpbmNsdWRlIGJ1dHRvbjtcbi8vIH1cbi8vXG4vLyAuYmFyIHtcbi8vICAgQGluY2x1ZGUgYnV0dG9uKGNvbG9yKGJsdWVfb3NjYXIpLCBjb2xvcih3aGl0ZSksIDJyZW0sIDAuNXJlbSk7XG4vLyB9XG4vL1xuLy8gLmJheiB7XG4vLyAgIEBpbmNsdWRlIGJ1dHRvbihjb2xvcihibHVlX29zY2FyKSwgY29sb3Iod2hpdGUpLCAkaG92ZXItYmc6IGNvbG9yKGdyZWVuX2FjaWQpKTtcbi8vIH1cbi8vIDwvcHJlPlxuLy9cbi8vICRiZyAoIzY2NikgLSBCYWNrZ3JvdW5kIGNvbG9yXG4vLyAkY29sb3IgKCNmZmYpIC0gVGV4dCBjb2xvclxuLy8gJHBhZGRpbmcgKDEuMjVyZW0gMnJlbSkgLSBQYWRkaW5nIGZvciB0aGUgYnV0dG9uXG4vLyAkY29ybmVyLXJhZGl1cyAoNHB4KSAtIEJvcmRlciByYWRpdXMgdG8gdXNlIG9uIHRoZSBidXR0b25cbi8vICRob3Zlci1iZyAtIEhvdmVyIGJhY2tncm91bmQgY29sb3IgKGRlZmF1bHRzIHRvIDMwIGRlZyBodWUgc2hpZnQgb2YgJGJhY2tncm91bmQpXG4vLyAkaG92ZXItY29sb3IgLSBIb3ZlciB0ZXh0IGNvbG9yIChkZWZhdWx0cyB0byAkY29sb3IpXG4vL1xuLy8gU3R5bGVndWlkZTogdXRpbHMubWl4aW5zLmJ1dHRvblxuQG1peGluIGJ1dHRvbigkYmc6ICMyNzkzYzcsICRjb2xvcjogI2ZmZiwgJHBhZGRpbmc6IDEuMjVyZW0gMnJlbSwgJGNvcm5lci1yYWRpdXM6IDRweCwgJGhvdmVyLWJnOiBhZGp1c3QtaHVlKCRiZywgLTMwKSwgJGhvdmVyLWNvbG9yOiAkY29sb3IpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4taGVpZ2h0OiAkYnV0dG9uLW1pbi1oZWlnaHQtc207XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAkY29ybmVyLXJhZGl1cztcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmc7XG4gIH1cbn1cblxuLy8gZGVrZXJuKCRtYXJnaW4pXG4vL1xuLy8gUmVkdWNlIHJpZ2h0IG1hcmdlIHRvIGRlLWtlcm4gdGhlIGl0ZW0uXG4vL1xuLy8gU3R5bGVndWlkZTogdXRpbHMubWl4aW5zLmRla2VyblxuQG1peGluIGRla2VybigkbWFyZ2luOiAkcGFkZGluZy1zbSkge1xuICBtYXJnaW4tcmlnaHQ6IC0oJG1hcmdpbiAvIDIpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC1zbSkge1xuICAgIG1hcmdpbi1yaWdodDogLSgkbWFyZ2luKTtcbiAgfVxufVxuXG4vLy8gRGlzcGxheSB0aGUgZXZlbnQgZGV0YWlscyBob3ZlciBjYXJkIG9uIHRoZSByaWdodCBzaWRlIG9mIHRoZSBzY3JlZW4uXG5AbWl4aW4gZXZlbnQtZGV0YWlscy1vcGVuLXJpZ2h0IHtcbiAgLmxjLWV2ZW50X19tb250aC1kZXRhaWxzIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAmLmV2ZW50LWRpcmVjdGlvbi1sZWZ0IHtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIC5sYy1ldmVudF9fbW9udGgtZGV0YWlscyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGFuaW0tc3BlZWQtbW9kZXJhdGUgJGFuaW0tc3RhbmRhcmQgJGFuaW0tc3BlZWQtZmFzdDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcblxuICAgICYuZXZlbnQtZGlyZWN0aW9uLWxlZnQge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIERpc3BsYXkgdGhlIGV2ZW50IGRldGFpbHMgaG92ZXIgY2FyZCBvbiB0aGUgbGVmdCBzaWRlIG9mIHRoZSBzY3JlZW4uXG5AbWl4aW4gZXZlbnQtZGV0YWlscy1vcGVuLWxlZnQge1xuICAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgb3BhY2l0eTogMDtcblxuICAgICYuZXZlbnQtZGlyZWN0aW9uLXJpZ2h0IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIC5sYy1ldmVudF9fbW9udGgtZGV0YWlscyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGFuaW0tc3BlZWQtbW9kZXJhdGUgJGFuaW0tc3RhbmRhcmQgJGFuaW0tc3BlZWQtZmFzdDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuXG4gICAgJi5ldmVudC1kaXJlY3Rpb24tcmlnaHQge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgfVxuICB9XG59XG5cbi8vIE1ha2VzIGEgY29sdW1uIHJvdyBzaW1pbGFyIHRvIEJvb3RzdHJhcCA0J3MgYC5yb3dgIGNsYXNzXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJHBhZGRpbmctc20pIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZ3V0dGVyO1xuICBtYXJnaW4tbGVmdDogLSRndXR0ZXI7XG59XG5cbi8vIFJlbmRlcnMgdGhlIGRlZmF1bHQgY29sdW1uIGNsYXNzZXMsIHNpbWlsYXIgdG8gQm9vdHN0cmFwIDQncyBgLmNvbC0xMmBcbkBtaXhpbiBtYWtlLWNvbC1yZWFkeSgkZ3V0dGVyOiAkcGFkZGluZy1zbSkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXI7XG59XG5cbi8vIFJlbmRlcnMgYSBwYXJ0aWN1bGFyIGNvbHVtbiBzaXplIGJhc2VkIG9uIGEgMTIgY29sdW1uIHdpZHRoIGdyaWRcbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZSwgJGNvbHVtbnM6IDEyKSB7XG4gIGZsZXg6IDAgMCBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xuICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG59XG4iLCIuY2FsZW5kYXJfX251bWJlcnMge1xuICB6LWluZGV4OiAwO1xufVxuIiwiLmxjLXdlZWsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG92ZXJmbG93OiBzY3JvbGw7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWQpIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICB9XG5cbiAgLmxjLXdlZWstZGF5IHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgLmxjLXdlZWstZGF5LWNvbCB7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvIDgpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWQpIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlLCBkYXJrKTtcbiAgICB9XG4gIH1cblxuICAubGMtd2Vlay10aW1lIHtcbiAgICAuYWxsLWRheS1yb3cge1xuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmxjLXdlZWstdGltZS1jb2wge1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyA4KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1kKSB7XG4gICAgICB3aWR0aDogMTAlO1xuICAgIH1cbiAgfVxuXG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogJHBhZGRpbmcteHM7XG4gICAgY29sb3I6IGNvbG9yKGJsYWNrLCBiYXNlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvcihncmF5LCBsaWdodCk7XG4gIH1cblxuICB0Ym9keSB7XG4gICAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG5cbiAgICArIHRib2R5IHtcbiAgICAgIGJvcmRlci10b3A6ICgyICogMXB4KSBzb2xpZCBjb2xvcihncmF5LCBsaWdodCk7XG4gICAgfVxuICB9XG5cbiAgdGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBjb2xvcihncmF5LCBsaWdodCk7XG4gIH1cblxuICB0aGVhZCB0aCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZGVlMmU2O1xuICB9XG59XG4iLCIkY2FsZW5kYXItZGF5LWJvcmRlci13aWR0aDogMnB4O1xuJGNhbGVuZGFyLWRheS1ib3JkZXItY29sb3I6IGNvbG9yKGdyYXksIGxpZ2h0KTtcbiRjYWxlbmRhci1kYXktYm9yZGVyOiAkY2FsZW5kYXItZGF5LWJvcmRlci13aWR0aCBzb2xpZCAkY2FsZW5kYXItZGF5LWJvcmRlci1jb2xvcjtcblxuJXN0aWNreS1jb2x1bW4ge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB6LWluZGV4OiAzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSwgYmFzZSk7XG59XG5cbi5sYy1kYXkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG92ZXJmbG93LXg6IHNjcm9sbDtcbiAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gIGJvcmRlci10b3A6ICRjYWxlbmRhci1kYXktYm9yZGVyO1xuICBib3JkZXItbGVmdDogJGNhbGVuZGFyLWRheS1ib3JkZXI7XG5cbiAgLy8gUmVzZXQgdGFibGUgc3R5bGVzLlxuICB0aCxcbiAgdGQge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIHRoLFxuICB0ZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAkY2FsZW5kYXItZGF5LWJvcmRlcjtcbiAgICBib3JkZXItYm90dG9tOiAkY2FsZW5kYXItZGF5LWJvcmRlcjtcbiAgfVxuXG4gIC5sYy1kYXktcm9vbSB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG4gIC5sYy1kYXktYnJhbmNoLWNvbCB7XG4gICAgZm9udC1zaXplOiBsYXJnZTtcbiAgfVxuXG4gIC5sYy1kYXktYnJhbmNoLWNvbCxcbiAgLmxjLWRheS1yb29tLWNvbCB7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvIDgpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWQpIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlLCBkYXJrKTtcbiAgICB9XG4gIH1cblxuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXhzO1xuICAgIGNvbG9yOiBjb2xvcihibGFjaywgYmFzZSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICB0Ym9keSB7XG4gICAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG4gIH1cblxuICB0aGVhZCB0aCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgfVxuXG4gIC5ldmVudC1jYXJkIHtcbiAgICBtaW4td2lkdGg6IDE3NXB4O1xuICB9XG5cbiAgdHI6bm90KC5sYy1kYXktYWxsLWRheS1yb3cpIC5ldmVudC1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvLyBBcHBseSB0aGUgc3RpY2t5IGNvbHVtbiBzdHlsZXMuXG4gIC5hbGwtZGF5LXJvdyB7XG4gICAgQGV4dGVuZCAlc3RpY2t5LWNvbHVtbjtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgLmxjLWRheS1yb29tLWNvbDpmaXJzdC1vZi10eXBlIHtcbiAgICBAZXh0ZW5kICVzdGlja3ktY29sdW1uO1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICAubGMtZGF5LXRpbWUgdGgge1xuICAgIEBleHRlbmQgJXN0aWNreS1jb2x1bW47XG4gICAgbGVmdDogMDtcbiAgfVxufVxuIiwiLmxjLW1lbnUtdGFza3Mge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWFsaWduOiByaWdodDtcblxuICBhIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICB9XG59XG4iLCIvKiBSZWdpc3RyYXRpb24gTm90aWZpY2F0aW9ucyAqL1xuLmxjLW1lc3NhZ2VzX19tZXNzYWdlIHtcbiAgcGFkZGluZzogMCAkcGFkZGluZy1zbTtcbiAgbWFyZ2luLWJvdHRvbTogJHBhZGRpbmcteHM7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGdyYXksIGxpZ2h0KTtcbn1cbiIsIi8vIERhdGUgSWNvblxuLy9cbi8vIFNpbXBsZSBjYWxlbmRhciBpY29uIHRoYXQgY2FuIGJlIHVzZWQgd2hlbiBkaXNwbGF5aW5nXG4vLyBhIGRhdGUgaW4gYSBtb250aC9kYXkgZm9ybWF0LiBQcmltYXJpbHkgdXNlZCBvbiB0aGVcbi8vICoqRXZlbnQgLSBDYXJkKiogY29tcG9uZW50LlxuLy9cbi8vIE1hcmt1cDogZGF0ZS1pY29uLnR3aWdcbi8vXG4vLyBTdHlsZSBndWlkZTogY29tcG9uZW50cy5jYWxlbmRhci4xMC1kYXRlLWljb25cblxuLmxjLWRhdGUtaWNvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5sYy1kYXRlLWljb25fX2l0ZW0ge1xuICB3aWR0aDogMy41cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlcjogMnB4IHNvbGlkIGNvbG9yKGJsdWUpO1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4ubGMtZGF0ZS1pY29uX19pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgY29sb3IoYmx1ZSk7XG59XG5cbi5kYXRlLWljb25fX3llYXIge1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmcteHM7XG4gIGZvbnQtc2l6ZTogJGZvbnQtYi10aW55O1xufVxuXG4ubGMtZGF0ZS1pY29uX19pdGVtLS1tb250aCB7XG4gIGxpbmUtaGVpZ2h0OiAyO1xuICBjb2xvcjogY29sb3Iod2hpdGUsIGJhc2UpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihibHVlLCBiYXNlKTtcbn1cblxuLmxjLWRhdGUtaWNvbl9faXRlbS0tZGF5IHtcbiAgZm9udC1zaXplOiAkZm9udC1oLW1kO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBjb2xvcjogY29sb3IoZ3JheSwgZGFyayk7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG5cbi5sYy1kYXRlLWljb25fX2l0ZW0tLW11bHRpLWRheSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmb250LXNpemU6ICRmb250LWgteHhzO1xufVxuXG4ubGMtZGF0ZS1pY29uX19pdGVtLS1kYXktbmFtZSB7XG4gIGZvbnQtc2l6ZTogJGZvbnQtYi14eHM7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGdWxsIGV2ZW50IGRhdGUgaWNvblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5sYy1ldmVudF9fc2lkZWJhciB7XG4gIC5sYy1kYXRlLWljb25fX2l0ZW0tLWRheSB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgfVxuXG4gIC5sYy1kYXRlLWljb25fX2l0ZW0tLXllYXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZy14cztcbiAgICBmb250LXNpemU6ICRmb250LWIteHhzO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gIH1cbn1cblxuLy8gSGlkZSB5ZWFyIGZyb20gdXBjb21pbmcgcGFnZVxuLmxjLWV2ZW50X19ldmVudC1kZXRhaWxzLS11cGNvbWluZyAubGMtZGF0ZS1pY29uX19pdGVtLS15ZWFyIHtcbiAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuO1xufVxuIiwiLy8gRXZlbnQgLSBDYXJkXG4vL1xuLy8gQ2FyZCBkaXNwbGF5IG9mIGV2ZW50IGRldGFpbHMuXG4vL1xuLy8gVXNlZCBvbjpcbi8vICAgLSBVcGNvbWluZyAocGFuZSlcbi8vICAgLSBVcGNvbWluZyAocGFnZSlcbi8vICAgLSBDYWxlbmRhclxuLy8gICAtIEluZGl2aWR1YWwgRXZlbnQgKHNpZGViYXIpXG4vL1xuLy8gLmV2ZW50LWNhcmQtLXNwYXJzZSAtIENvbmRlbnNlZCBkaXNwbGF5IHdpdGggbGltaXRlZFxuLy8gICBpbmZvcm1hdGlvbiB1c2VkIG9uIGNhbGVuZGFyIG1vbnRoL3dlZWsgZGlzcGxheXNcbi8vIC5ldmVudC1jYXJkLS10ZWFzZXIgLSBTdW1tYXJ5IGRpc3BsYXkgdXNlZCBvbiB0ZWFzZXJcbi8vICAgdmlld3MsIHN1Y2ggYXMgY29udGVudCBwYW5lcy4gRG9lcyBub3QgaW5jbHVkZSB0YWdzLFxuLy8gICBhbmQgdGltZSBpcyBpbmxpbmUgd2l0aCBkYXRlLlxuLy8gLmV2ZW50LWNhcmQtLWZ1bGwgLSBGdWxsIGRpc3BsYXkgdXNlZCBvbiBwYWdlIHZpZXdzIG9yXG4vLyAgIG90aGVyIGRpc3BsYXlzIHRoYXQgZmVhdHVyZSBtb3JlIHJvb20gZm9yIHRoZSBjb250ZW50LlxuLy8gICBEYXRlIGlzIG9uIGEgc2VwYXJhdGUgbGluZSBmcm9tIHRpbWUsIGFuZCB0YWdzIGFyZVxuLy8gICBzdXBwb3J0ZWQuXG4vL1xuLy8gTWFya3VwOiBldmVudC1jYXJkLnR3aWdcbi8vXG4vLyBTdHlsZSBndWlkZTogY29tcG9uZW50cy5jYWxlbmRhci4yMC1ldmVudC1jYXJkXG5cbiRjb2xvci1jb2RpbmctaW5kaWNhdG9yLXdpZHRoOiA2cHg7XG4kZXZlbnQtY2FyZC1jb250ZW50LXdpZHRoOiBjYWxjKDEwMCUgLSAjeyRjb2xvci1jb2RpbmctaW5kaWNhdG9yLXdpZHRoICsgJHBhZGRpbmctc219KTtcblxuLy8gT3ZlcmFsbCBjYXJkIHNldHVwLiBTZWUgYGRhdGUtaWNvbmAgY29tcG9uZW50LlxuLmV2ZW50LWNhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJHBhZGRpbmctbWQ7XG4gIGJhY2tncm91bmQ6IGNvbG9yKHdoaXRlLCBkYXJrKTtcbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBHZW5lcmFsIENhcmQgU3R5bGluZ1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uZXZlbnQtY2FyZCxcbi5ldmVudC1jYXJkX190b3AsXG4uZXZlbnQtY2FyZF9fYm90dG9tIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZXZlbnQtY2FyZF9fdGl0bGUge1xuICBtYXJnaW46IDA7XG59XG5cbi5ldmVudC1jYXJkX19yb29tIHtcbiAgbWFyZ2luLWJvdHRvbTogJHBhZGRpbmcteHM7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5ldmVudC1jYXJkX19kYXkge1xuICBmb250LXNpemU6ICRmb250LWIteHM7XG59XG5cbi5ldmVudC1jYXJkX190aW1lIHtcbiAgZm9udC1zaXplOiAkZm9udC1oLXh4cztcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuLmV2ZW50LWNhcmRfX2RhdGUge1xuICBvcmRlcjogMDtcbn1cblxuLmV2ZW50LWNhcmRfX2RldGFpbHMge1xuICBmbGV4LWdyb3c6IDE7XG4gIG9yZGVyOiAxO1xuICBtYXJnaW4tYm90dG9tOiAoJHBhZGRpbmctc20gKyAkcGFkZGluZy14cyk7XG59XG5cbi5ldmVudC1jYXJkX19sYWJlbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdGV0Y2g7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgb3JkZXI6IDI7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbi5ldmVudC1jYXJkX19sYWJlbCB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgcGFkZGluZzogJHBhZGRpbmctc20gJHBhZGRpbmcteHMgMDtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAubGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogLjYyNWVtO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5OTk7XG4gIH1cbn1cblxuLmxjLWV2ZW50X193cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBsaW5lLWhlaWdodDogJHBhZGRpbmctbWQgKyAkcGFkZGluZy14cztcblxuICBAaW5jbHVkZSBicmVha3BvaW50ICgkYnAtc20pIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG5cbi5sYy1ldmVudF9fZGV0YWlscyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkcGFkZGluZy1zbSAwO1xuXG4gIGgyIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuLmxjLWV2ZW50X190aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5sYy1ldmVudF9fdXBjb21pbmcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ubGMtZXZlbnRfX21vbnRoLXN1bW1hcnkge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vKiBjb2xvciBjb2Rpbmcgc3RyaXAgKi9cbi5sYy1ldmVudF9fY29sb3ItY29kaW5nIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICB3aWR0aDogJGNvbG9yLWNvZGluZy1pbmRpY2F0b3Itd2lkdGg7XG4gIG1pbi13aWR0aDogJGNvbG9yLWNvZGluZy1pbmRpY2F0b3Itd2lkdGg7XG59XG5cbi5sYy1ldmVudF9fY29sb3ItaW5kaWNhdG9yIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgb3JkZXI6IDA7XG4gIHBhZGRpbmc6IDNweDtcbn1cblxuLmxjLWV2ZW50X19ldmVudC1kZXRhaWxzIHtcbiAgZmxleDogMTtcbiAgd2lkdGg6ICRldmVudC1jYXJkLWNvbnRlbnQtd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiAkcGFkZGluZy14cztcbn1cblxuLm5vLWNvbG9yLWNvZGluZyB7XG4gIC5sYy1ldmVudF9fZXZlbnQtZGV0YWlscyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAubGMtZXZlbnRfX21vbnRoLWRldGFpbHMgLmxjLWRhdGUtaWNvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRnVsbCBDYXJkIFN0eWxpbmdcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmV2ZW50LWNhcmQtLWZ1bGwge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTcGFyc2UgQ2FyZCBTdHlsaW5nXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5ldmVudC1jYXJkLS1zcGFyc2Uubm9kZS0tdmlldy1tb2RlLXRlYXNlciB7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBwYWRkaW5nOiAkcGFkZGluZy14cztcbiAgbWFyZ2luLWJvdHRvbTogJHBhZGRpbmcteHM7XG5cbiAgaDIsXG4gIGgzLFxuICBoNCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmxjLWV2ZW50X19kZXRhaWxzIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cblxuICAuZXZlbnQtY2FyZF9fdGl0bGUsXG4gIC5ldmVudC1jYXJkX19yb29tLFxuICAuZXZlbnQtY2FyZF9fZGF5LXRpbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtYi1zbTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICB9XG5cbiAgLmV2ZW50LWNhcmRfX3RpdGxlIHtcbiAgICBvcmRlcjogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBjb2xvcihncmF5LCBkYXJrKTtcbiAgfVxuXG4gIC5ldmVudC1jYXJkX19yb29tIHtcbiAgICBvcmRlcjogMjtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfVxuXG4gIC5ldmVudC1jYXJkX19kZXRhaWxzIHtcbiAgICBvcmRlcjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAuZXZlbnQtY2FyZF9fZGF5LXRpbWUge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtYi14eHM7XG4gIH1cblxuICAvLyBIaWRlIGV4dHJhIHRleHRcbiAgLnRpbWUtLWVuZCxcbiAgLnRpbWUtLXNlcGFyYXRvciB7XG4gICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuO1xuICB9XG5cbiAgLnRpbWUtLXN0YXJ0IHtcbiAgICAuZXZlbnQtY2FyZF9fZGF5LS1pbmxpbmUsXG4gICAgLmV2ZW50LWNhcmRfX3NlcGFyYXRvciB7XG4gICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW47XG4gICAgfVxuICB9XG5cbiAgLy8gTXVsdGktZGF5XG4gIC5jYWxlbmRhcl9fZGF5LS1tdWx0aSAmIHtcbiAgICAuZXZlbnQtY2FyZF9fdGl0bGUsXG4gICAgLmV2ZW50LWNhcmRfX3Jvb20sXG4gICAgLmV2ZW50LWNhcmRfX2RheS10aW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwICRwYWRkaW5nLXNtIDAgMDtcbiAgICB9XG5cbiAgICAudGltZS0tZW5kLFxuICAgIC50aW1lLS1zZXBhcmF0b3Ige1xuICAgICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuLW9mZjtcbiAgICB9XG5cbiAgICAudGltZS0tc3RhcnQge1xuICAgICAgLmV2ZW50LWNhcmRfX2RheS0taW5saW5lLFxuICAgICAgLmV2ZW50LWNhcmRfX3NlcGFyYXRvciB7XG4gICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbi1vZmY7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jYWxlbmRhcl9fZGF5LS1tdWx0aSB7XG4gIC5ldmVudC1jYXJkX190aXRsZSxcbiAgLmV2ZW50LWNhcmRfX3Jvb20sXG4gIC5ldmVudC1jYXJkX19kYXktdGltZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIC42MjVlbSAwIDA7XG4gIH1cblxuICAudGltZS0tZW5kLFxuICAudGltZS0tc2VwYXJhdG9yLFxuICAudGltZS0tc3RhcnQgLmV2ZW50LWNhcmRfX2RheS0taW5saW5lLFxuICAudGltZS0tc3RhcnQgLmV2ZW50LWNhcmRfX3NlcGFyYXRvciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUmVwZWF0IERhdGVzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5kYXRlLWxvY2F0aW9uX19vdGhlci1kYXRlcyB7XG4gIC5kYXRlLWxvY2F0aW9uX190b2dnbGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXhzO1xuICB9XG5cbiAgLmRhdGUtbG9jYXRpb25fX3RvZ2dsZSxcbiAgLmRhdGUtbG9jYXRpb25fX3JlcGVhdHMtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhZGRpbmcteHM7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzMzMztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgJGFuaW0tc3RhbmRhcmQgJGFuaW0tc3BlZWQtbW9kZXJhdGU7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JiYjtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmRhdGUtbG9jYXRpb25fX3dyYXBwZXIge1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgJGFuaW0tc3RhbmRhcmQgJGFuaW0tc3BlZWQtbW9kZXJhdGU7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5kYXRlLWxvY2F0aW9uX19yZXBlYXRzLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmRhdGUtbG9jYXRpb25fX3JlcGVhdHMtaXRlbSB7XG4gICAgd2lkdGg6IDQ5JTtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIH1cblxuICAuZGF0ZS1sb2NhdGlvbl9fcmVwZWF0cy1saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogIzMzMztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBOb2RlIFJlbGF0ZWQgQ29sb3JzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5sYy1ldmVudC0tY29kZS11bnB1Ymxpc2hlZCB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXhzO1xuICBib3JkZXI6IDVweCBzb2xpZCBjb2xvcihncmF5LCBsaWdodCk7XG59XG5cbi5sYy1ldmVudC0tY29kZS1wdWJsaWMtcmVzZXJ2YXRpb24ge1xuICBwYWRkaW5nOiAkcGFkZGluZy14cztcbiAgYm9yZGVyOiA1cHggc29saWQgY29sb3IoZ3JlZW4sIGJhc2UpO1xufVxuXG4ubGMtZXZlbnQtLWNvZGUtcHJpdmF0ZS1ldmVudCB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXhzO1xuICBib3JkZXI6IDVweCBzb2xpZCBjb2xvcihibHVlLCBiYXNlKTtcbn1cblxuLmxjLWV2ZW50LS1jb2RlLWhhcy1jb25mbGljdCB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXhzO1xuICBib3JkZXI6IDVweCBzb2xpZCBjb2xvcihibHVlLCBiYXNlKTtcbn1cblxuLmxjLWV2ZW50LS1jb2RlLXJvb20tcmVzZXJ2ZWQge1xuICBwYWRkaW5nOiAkcGFkZGluZy14cztcbiAgYm9yZGVyOiA1cHggc29saWQgY29sb3IoZ3JlZW4sIGJhc2UpO1xufVxuXG4ubGMtZXZlbnRfX2tleSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5sYy1ldmVudF9fa2V5LS1jYW5jZWxsZWQge1xuICBjb2xvcjogY29sb3IocmVkLCBiYXNlKTtcbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBCZWdpbiBBZ2UgUmVsYXRlZCBDb2xvciBzdHlsZXNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmxjLWV2ZW50X19jb2xvci1pbmRpY2F0b3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihncmF5LCBsaWdodCk7XG59XG5cbi5wYWdlLWV2ZW50cy11cGNvbWluZyB7XG4gIC5sYy1ldmVudF9fd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6ICRwYWRkaW5nLXNtO1xuICB9XG59XG5cbi5sYy1ldmVudF9fY29sb3ItaW5kaWNhdG9yLS1hZHVsdCxcbi5sYy1ldmVudF9fY29sb3ItaW5kaWNhdG9yLS1hZHVsdHMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihibHVlLCBsaWdodCk7XG59XG5cbi5sYy1ldmVudF9fY29sb3ItaW5kaWNhdG9yLS1ldmVyeW9uZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGdyZWVuLCBiYXNlKTtcbn1cblxuLmxjLWV2ZW50X19jb2xvci1pbmRpY2F0b3ItLWZhbWlseSxcbi5sYy1ldmVudF9fY29sb3ItaW5kaWNhdG9yLS1jaGlsZHJlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHB1cnBsZSwgYmFzZSk7XG59XG5cbi5sYy1ldmVudF9fY29sb3ItaW5kaWNhdG9yLS1pbmZhbnQsXG4ubGMtZXZlbnRfX2NvbG9yLWluZGljYXRvci0tYmFiaWVzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoeWVsbG93LCBsaWdodCk7XG59XG5cbi5sYy1ldmVudF9fY29sb3ItaW5kaWNhdG9yLS1raWRzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoeWVsbG93KTtcbn1cblxuLmxjLWV2ZW50X19jb2xvci1pbmRpY2F0b3ItLXByZXNjaG9vbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHllbGxvdywgZGFyayk7XG59XG5cbi5sYy1ldmVudF9fY29sb3ItaW5kaWNhdG9yLS1zY2hvb2wtYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocmVkLCBsaWdodCk7XG59XG5cbi5sYy1ldmVudF9fY29sb3ItaW5kaWNhdG9yLS10ZWVuLFxuLmxjLWV2ZW50X19jb2xvci1pbmRpY2F0b3ItLXRlZW5zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocmVkKTtcbn1cblxuLmxjLWV2ZW50X19jb2xvci1pbmRpY2F0b3ItLXRvZGRsZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihyZWQsIGRhcmspO1xufVxuXG4ubGMtZXZlbnRfX2NvbG9yLWluZGljYXRvci0tdG9kZGxlci1vbmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihncmVlbiwgbGlnaHQpO1xufVxuXG4ubm9kZS0tdHlwZS1sYy1jbG9zaW5nIHtcbiAgLmxjLWV2ZW50X19jb2xvci1pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHJlZCwgYmFzZSk7XG4gIH1cblxuICAubGMtZXZlbnRfX2NvbG9yLWNvZGluZy0tYWdlLFxuICAubGMtZXZlbnRfX2NvbG9yLWNvZGluZy0tcHJvZ3JhbSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIElFIEZpeGVzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5pZTEwLFxuLmllMTEge1xuICAubGMtZXZlbnRfX2V2ZW50LWRldGFpbHMge1xuICAgIGZsZXg6IGluaGVyaXQ7XG4gIH1cbn1cblxuLmxjLXJlZ2lzdHJhdGlvbi1sYWJlbCB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiBsYXJnZXI7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5sYy1ldmVudF9fbW9udGgtc3VtbWFyeSAubGMtcmVnaXN0cmF0aW9uLWxhYmVsIHtcbiAgbWFyZ2luLXRvcDogJHBhZGRpbmctc207XG59XG4iLCJib2R5LmxjLW5vLXNjcm9sbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLmxjLWJyYW5jaC1tb2RhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmxjLWJyYW5jaC1tb2RhbF9fd3JhcHBlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiB6Z2V0KG1vZGFsKTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMzJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuNSk7XG59XG5cbi5sYy1icmFuY2gtbW9kYWxfX2NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSwgYmFzZSk7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggMCAjMzc0MjRhO1xufVxuXG4ubGMtYnJhbmNoLW1vZGFsX19oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgcGFkZGluZzogJHBhZGRpbmctbWQ7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGJsdWUsIGJhc2UpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC1zbSkge1xuICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cbn1cblxuLmxjLWJyYW5jaC1tb2RhbF9fdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogJGZvbnQtYi14cztcbiAgY29sb3I6IGNvbG9yKHdoaXRlLCBiYXNlKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50ICgkYnAtc20pIHtcbiAgICBmb250LXNpemU6ICRmb250LWItbWQ7XG4gIH1cbn1cblxuLmxjLWJyYW5jaC1tb2RhbF9fY29udGVudC13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAkcGFkZGluZy1tZDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG4ubGMtYnJhbmNoLW1vZGFsX19jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkcGFkZGluZy1zbTtcbiAgbWFyZ2luOiAkcGFkZGluZy1zbSAwO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC1zbSkge1xuICAgIHdpZHRoOiA0OSU7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50ICgkYnAtbWQpIHtcbiAgICB3aWR0aDogMzIlO1xuICB9XG59XG5cbi5sYy1icmFuY2gtbW9kYWxfX2JyYW5jaC1zZWxlY3Qge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmMGYwZjA7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2YwZjBmMDtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMxNzk3ZDQ7XG4gIH1cbn1cblxuLmxjLWJyYW5jaC1tb2RhbF9faW1hZ2UtY29udGFpbmVyIHtcbiAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvIDQpO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLXNtO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC1zbSkge1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAzKTtcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmxjLWJyYW5jaC1tb2RhbF9fYnJhbmNoLWluZm8ge1xuICBmbGV4LWdyb3c6IDE7XG4gIHdpZHRoOiBwZXJjZW50YWdlKDMgLyA0KTtcbiAgZm9udC1zaXplOiAkZm9udC1iLXhzO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC1zbSkge1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKDIgLyAzKTtcbiAgICBmb250LXNpemU6ICRmb250LWItc207XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG4ubGMtYnJhbmNoLW1vZGFsX19icmFuY2gtdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogJGZvbnQtYi1zbTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50ICgkYnAtc20pIHtcbiAgICBmb250LXNpemU6ICRmb250LWgteHhzO1xuICB9XG59XG5cbi5sYy1icmFuY2gtbW9kYWxfX2V4aXQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4ubGMtYnJhbmNoLW1vZGFsX19hZGRyZXNzIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5sYy1icmFuY2gtbW9kYWxfX2NoZWNrYm94ZXMge1xuICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW47XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXG4gIGlucHV0LFxuICBsYWJlbCxcbiAgLmZvcm0tdHlwZS1jaGVja2JveCB7XG4gICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuO1xuICB9XG59XG5cbi5sYy1icmFuY2gtbW9kYWxfX3N1Ym1pdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWFyZ2luLXRvcDogJHBhZGRpbmctc207XG4gIG1hcmdpbi1ib3R0b206ICRwYWRkaW5nLXNtO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC1zbSkge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhZGRpbmctbWQ7XG4gIH1cbn1cblxuLmxjLWJyYW5jaC1tb2RhbF9fd3JhcHBlciB7XG4gIGxlZnQ6IC05OTk5cHg7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgZWFzZS1pbi1vdXQgMjUwbXMgLjVzO1xuXG4gIC5sYy1icmFuY2gtbW9kYWxfX2NvbnRhaW5lciB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIGVhc2UtaW4tb3V0IDI1MG1zIC41cztcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG5cbiAgJi5vcGVuIHtcbiAgICBsZWZ0OiAwO1xuICAgIG9wYWNpdHk6IDE7XG5cbiAgICAubGMtYnJhbmNoLW1vZGFsX19jb250YWluZXIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG4gIH1cbn1cblxuLmxjLWJyYW5jaC1tb2RhbF9fZm9ybSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmctbWQ7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmctbWQ7XG4gIG1hcmdpbi10b3A6ICRwYWRkaW5nLW1kO1xuICBtYXJnaW4tYm90dG9tOiAkcGFkZGluZy1tZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZCkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAuYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgbWFyZ2luOiAkcGFkZGluZy14cyAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1kKSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbjogMCAkcGFkZGluZy14cztcbiAgICB9XG4gIH1cblxuICAubGMtYnJhbmNoLW1vZGFsX19zZWxlY3QtYWxsLFxuICAubGMtYnJhbmNoLW1vZGFsX19yZXNldCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA0OSU7XG4gICAgcGFkZGluZzogMS4yNXJlbSAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZCkge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBpbmhlcml0O1xuICAgICAgcGFkZGluZy1sZWZ0OiBpbmhlcml0O1xuICAgICAgbWFyZ2luOiAwICRwYWRkaW5nLXhzO1xuICAgIH1cbiAgfVxuXG4gIC5sYy1icmFuY2gtbW9kYWxfX3NlbGVjdC1hbGwge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICAubGMtYnJhbmNoLW1vZGFsX19yZXNldCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbn1cbiIsIi5sYy1mZWF0dXJlZC1ldmVudC1yb3cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgLmxjLWV2ZW50X19jb2xvci1jb2Rpbmcge1xuICAgIG1hcmdpbi1yaWdodDogJHBhZGRpbmctbWQ7XG4gIH1cbn1cblxuLmxjLWZlYXR1cmVkLWV2ZW50LWNvbnRlbnQtcm93IHtcbiAgQGluY2x1ZGUgbWFrZS1yb3coKTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLmxjLWZlYXR1cmVkLWV2ZW50LWltYWdlLFxuICAubGMtZmVhdHVyZWQtZXZlbnQtY29udGVudCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb2wtcmVhZHkoKTtcbiAgfVxuXG4gIC5sYy1mZWF0dXJlZC1ldmVudC1pbWFnZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWQpIHtcbiAgICAgIEBpbmNsdWRlIG1ha2UtY29sKDMpO1xuICAgIH1cbiAgfVxuXG4gIC5sYy1mZWF0dXJlZC1ldmVudC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZCkge1xuICAgICAgQGluY2x1ZGUgbWFrZS1jb2woOSk7XG4gICAgfVxuICB9XG59XG5cbi5sYy1mZWF0dXJlZC1ldmVudC1yb3ctdGVybXMge1xuICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuXG4gIHdpZHRoOiA1MCU7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLmxjLWZlYXR1cmVkLWV2ZW50LXByb2dyYW0tdHlwZSB7XG4gIEBpbmNsdWRlIG1ha2UtY29sLXJlYWR5KCk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWQpIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbCg2KTtcbiAgfVxufVxuXG4ubGMtZmVhdHVyZWQtZXZlbnQge1xuICBAaW5jbHVkZSBldmVudC1kZXRhaWxzLW9wZW4tcmlnaHQ7XG5cbiAgLy8gV2l0aG91dCB0aGlzLCB0aGUgc2xpZGVyIHdpbGwgb3ZlcmxheSB0aGUgRHJ1cGFsIDggYWRtaW4gbWVudSBiYXIuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBydWxlICovXG4gIHotaW5kZXg6IGF1dG8gIWltcG9ydGFudDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5sYy1mZWF0dXJlZC1ldmVudHMtY29udGFpbmVyIHtcbiAgcGFkZGluZzogJHBhZGRpbmctc20gJHBhZGRpbmctbWQ7XG4gIG1hcmdpbi1ib3R0b206ICRwYWRkaW5nLW1kO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSwgYmFzZSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yKGdyYXksIGxpZ2h0KTtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yZC1zbTtcbn1cblxuLmxjLWZlYXR1cmVkLWV2ZW50cyB7XG4gIHVzZXItc2VsZWN0OiB1bnNldDtcblxuICAubGMtZmVhdHVyZWQtZXZlbnQ6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICYuc2xpY2staW5pdGlhbGl6ZWQgLmxjLWZlYXR1cmVkLWV2ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5zbGljay10cmFjayxcbiAgLnNsaWNrLWxpc3Qge1xuICAgIC8vIFRyYW5zZm9ybSBtdXN0IGJlIGRpc2FibGVkIGZvciB0aGUgaG92ZXIgcGFuZWxzIHRvIGFuaW1hdGUgcHJvcGVybHkuXG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCAqL1xuICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5sYy1mZWF0dXJlZC1ldmVudHMtY29udHJvbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogJHBhZGRpbmctc207XG5cbiAgLnNsaWNrLWFycm93IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB3aWR0aDogJHBhZGRpbmctbWQ7XG4gICAgaGVpZ2h0OiAkcGFkZGluZy1tZDtcbiAgICBmb250LXNpemU6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJvcmRlcjogMDtcblxuICAgICYuc2xpY2stcHJldiB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGFzc2V0LXBhdGh9L2ljb25zL2NoZXZyb24tbGVmdC1ibGFjay5zdmcpO1xuICAgIH1cblxuICAgICYuc2xpY2stbmV4dCB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRhc3NldC1wYXRofS9pY29ucy9jaGV2cm9uLXJpZ2h0LWJsYWNrLnN2Zyk7XG4gICAgfVxuICB9XG5cbiAgLnNsaWNrLWRvdHMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cblxuICAgIGJ1dHRvbiB7XG4gICAgICB3aWR0aDogJHBhZGRpbmctc207XG4gICAgICBoZWlnaHQ6ICRwYWRkaW5nLXNtO1xuICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRwYWRkaW5nLXhzO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRwYWRkaW5nLXhzO1xuICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoYmxhY2ssIGJhc2UpO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgb3BhY2l0eTogLjI1O1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkYW5pbS1zcGVlZC1mYXN0O1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyxcbiAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNsaWNrLWFjdGl2ZSBidXR0b24ge1xuICAgICAgb3BhY2l0eTogLjU7XG4gICAgfVxuICB9XG59XG5cbi5sYy1mZWF0dXJlZC1ldmVudC1idG4ge1xuICBtYXJnaW4tdG9wOiAkcGFkZGluZy1zbTtcbn1cbiIsIi5sYy1mb3JtIHtcbiAgLmxjLWZvcm1fX2FkZCB7XG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogY29sb3IoYmx1ZSwgbGlnaHQpO1xuICB9XG5cbiAgLmxjLWZvcm1fX3JlbW92ZSB7XG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogY29sb3IocmVkKTtcbiAgfVxuXG4gIC8vIFRPRE86IGFkZGl0aW9uYWwgdGVzdGluZ1xuICAuZm9ybS1zdWJtaXQge1xuICAgIG1hcmdpbi10b3A6ICRwYWRkaW5nLXNtO1xuICB9XG5cbiAgLmxjLWZvcm1fX2hhbGYsXG4gIC5sYy1mb3JtX19mdWxsIHtcbiAgICAuZm9ybS10ZXh0IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLmxjLWZvcm1fX2ZsZXgtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nLXNtO1xuICBtYXJnaW4tYm90dG9tOiAkcGFkZGluZy1zbTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGNvbG9yKHdoaXRlLCBkYXJrKTtcblxuICAuZm9ybS1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5sYy1mb3JtX19oYWxmIHtcbiAgZmxleDogaW5pdGlhbDtcbiAgLy8gd2lkdGg6IDUwJTtcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmcteHM7XG5cbiAgLmZvcm0taXRlbSxcbiAgLmZvcm0tdGV4dCxcbiAgLmZvcm0tc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIC8vIHBhZGRpbmctbGVmdDogJHBhZGRpbmcteHM7XG4gIH1cbn1cblxuLmxjLWZvcm1fX2hhbGYtLWZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLmxjLWZvcm1fX2Z1bGwge1xuICB3aWR0aDogMTAwJTtcblxuICAuZm9ybS1pdGVtLFxuICAuZm9ybS10ZXh0LFxuICAuZm9ybS1zZWxlY3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5sYy1mb3JtLS1yZXNlcnZlLWJ5LXRpbWUge1xuICAuZm9ybS1pdGVtLFxuICAuZm9ybS1zZWxlY3QsXG4gIC5mb3JtLXRleHQsXG4gIC5mb3JtLXR5cGUtc2VsZWN0LFxuICAuZm9ybS10eXBlLWRhdGUtcG9wdXAsXG4gIC5mb3JtLXN1Ym1pdCxcbiAgLmNvbnRhaW5lci1pbmxpbmUtZGF0ZSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50ICgkYnAtc20pIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLmZvcm0taXRlbSxcbiAgLmNvbnRhaW5lci1pbmxpbmUge1xuICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZy1zbTtcbiAgfVxuXG4gIC5jb250YWluZXItaW5saW5lLWRhdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuXG4gICAgLmZvcm0taXRlbSxcbiAgICAuZm9ybS1pdGVtIGlucHV0IHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC1zbSkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoJGJwLXNtKSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkcGFkZGluZy14cztcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLXR5cGUtc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50ICgkYnAtc20pIHtcbiAgICAgIGNsZWFyOiBsZWZ0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC1tZCkge1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tc3VibWl0IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50ICgkYnAtc20pIHtcbiAgICAgIG1hcmdpbjogMCAwIDAgJHBhZGRpbmcteHM7XG4gICAgfVxuICB9XG59XG5cbi5ibG9jay0tbGMtZ21hcCAuYmxvY2tfX3RpdGxlIHtcbiAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuO1xufVxuXG4ubGMtZm9ybV9fbWVzc2FnZSB7XG4gIHBhZGRpbmc6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlLCBkYXJrKTtcbn1cblxuLy8gLmxjLWZvcm1fX3JlbW92ZS0tbiB7XG4vLyAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnI3skYXNzZXQtcGF0aH0vaWNvbnMvdGltZXMuc3ZnJyk7XG4vLyAgIGJhY2tncm91bmQtc2l6ZTogMnJlbTtcbi8vICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuLy8gICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuLy8gICBkaXNwbGF5OiBibG9jaztcbi8vICAgcGFkZGluZzogMDtcbi8vICAgbWFyZ2luOiAwIDAgMCAxcmVtO1xuLy8gICB3aWR0aDogMy44cmVtO1xuLy8gICBoZWlnaHQ6IDMuOHJlbTtcbi8vICAgbGluZS1oZWlnaHQ6IDE7XG4vLyAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuLy8gICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8gICBvdmVyZmxvdzogaGlkZGVuO1xuXG4vLyAgIC5sYy1mb3JtICYuZm9ybS1zdWJtaXQge1xuLy8gICAgIG1hcmdpbi10b3A6IDA7XG4vLyAgIH1cbi8vIH1cblxuLyogZm9ybSAqL1xuLy8gLnBhbmUtZm9ybSB7XG4vLyAgIHNlbGVjdCB7XG4vLyAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbi8vICAgICB3aWR0aDogMTAwJTtcblxuLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC1zbSkge1xuLy8gICAgICAgd2lkdGg6IGluaGVyaXQ7XG4vLyAgICAgfVxuLy8gICB9XG4vLyB9XG5cbi5sYy1mb3JtLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkIGNvbG9yKHdoaXRlLCBkYXJrKTtcbn1cblxuLmxjLWZvcm0sXG4ubm9kZS1sYy1yZXNlcnZhdGlvbi1mb3JtLFxuLm5vZGUtbGMtZXZlbnQtZm9ybSxcbi5ub2RlLWxjLWNsb3NpbmctZm9ybSB7XG4gIGlucHV0W3R5cGU9J3RleHQnXSxcbiAgaW5wdXRbdHlwZT0nZW1haWwnXSxcbiAgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIHNlbGVjdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGJvcmRlci1jb2xvcjogY29sb3Iod2hpdGUsIGRhcmspO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoJGJwLXNtKSB7XG4gICAgICB3aWR0aDogdW5zZXQ7XG4gICAgfVxuICB9XG59XG5cbi5sYy1mb3JtICNhamF4LXBob25lLXdyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogMDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogNDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IC41ZW07XG4gIH1cbn1cblxuLmxjLWZvcm0gI2FqYXgtcGhvbmUtZXh0ZW5zaW9uLXdyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMjAlO1xuICB9XG59XG5cbi5mb3JtLXRlbCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gR2VuZXJhbCBTdHlsaW5nXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEBUT0RPOiBGaWd1cmUgb3V0IGhvdyB0byBnZXQgdGhpcyB6LWluZGV4IHdvcmtpbmcuXG4vLyAubGMtZXZlbnQge1xuLy8gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4vLyAgIHotaW5kZXg6IHpnZXQodHJvcG8pO1xuLy8gfVxuXG4ubGMtZXZlbnRfX3N1YnRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG5oNC5sYy1ldmVudF9fc3VidGl0bGUge1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG59XG5cbi5sYy1ldmVudF9fZGV0YWlscyB7XG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgLmxjLWV2ZW50LWluZm8ge1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmctc207XG4gIH1cblxuICAubGMtZXZlbnQtaW5mb19faXRlbSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgfVxufVxuXG4ubGMtZXZlbnRfX3JlZ2lzdHJhdGlvbi1pY29uLFxuLmxjLWV2ZW50X19yZWdpc3RyYXRpb24tcGF5bWVudC1pY29uIHtcbiAgd2lkdGg6IDE2cHg7XG4gIG1pbi13aWR0aDogMTZweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDVweCAxMHB4IDAgNXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWluZGVudDogMTAwJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG59XG5cbi5sYy1ldmVudF9fcmVnaXN0cmF0aW9uLWljb24ge1xuICBtYXJnaW4tdG9wOiAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJyN7JGFzc2V0LXBhdGh9L2ljb25zL3BlbmNpbC1zcXVhcmUtby1ibGFjay5zdmcnKTtcbn1cblxuLmxjLWV2ZW50X19yZWdpc3RyYXRpb24tcGF5bWVudC1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcjeyRhc3NldC1wYXRofS9pY29ucy9kb2xsYXItc2lnbi1zb2xpZC5zdmcnKTtcbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNb250aCBIb3ZlclxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubGMtZXZlbnRfX21vbnRoLWRldGFpbHMge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogemdldChtYXgpICsgNTA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAzMDBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAkcGFkZGluZy1sZyAoJHBhZGRpbmctc20gKyAkcGFkZGluZy1tZCk7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogY29sb3Iod2hpdGUpO1xuICBib3JkZXI6IDJweCBzb2xpZCBjb2xvcihncmF5LCBiYXNlKTtcbiAgYm9yZGVyLXRvcDogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkYW5pbS1zcGVlZC1tb2RlcmF0ZSAkYW5pbS1zdGFuZGFyZCAkYW5pbS1zcGVlZC1mYXN0LCBvcGFjaXR5IDBzICgkYW5pbS1zcGVlZC1tb2RlcmF0ZSArICRhbmltLXNwZWVkLWZhc3QpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC1zbSkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5jYWxlbmRhci0tZGF5IHtcbiAgLmxjLWRheS1yb29tIC5ub2RlLS10eXBlLWxjLWV2ZW50IHtcbiAgICBAaW5jbHVkZSBldmVudC1kZXRhaWxzLW9wZW4tcmlnaHQ7XG4gIH1cblxuICBAZm9yICRpIGZyb20gNSB0aHJvdWdoIDgge1xuICAgIC5sYy1kYXktcm9vbTpudGgtY2hpbGQoI3skaX0pIC5ub2RlLS10eXBlLWxjLWV2ZW50IHtcbiAgICAgIEBpbmNsdWRlIGV2ZW50LWRldGFpbHMtb3Blbi1sZWZ0O1xuICAgIH1cbiAgfVxufVxuXG4uY2FsZW5kYXItLXdlZWsge1xuICAubGMtd2Vlay1kYXkgLm5vZGUtLXR5cGUtbGMtZXZlbnQge1xuICAgIEBpbmNsdWRlIGV2ZW50LWRldGFpbHMtb3Blbi1yaWdodDtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSA1IHRocm91Z2ggOCB7XG4gICAgLmxjLXdlZWstZGF5Om50aC1jaGlsZCgjeyRpfSkgLm5vZGUtLXR5cGUtbGMtZXZlbnQge1xuICAgICAgQGluY2x1ZGUgZXZlbnQtZGV0YWlscy1vcGVuLWxlZnQ7XG4gICAgfVxuICB9XG59XG5cbi5jYWxlbmRhci0tbW9udGgge1xuICAuY2FsZW5kYXJfX2RheS0tbXVsdGkgLmV2ZW50LWNhcmQsXG4gIC5jYWxlbmRhcl9fZGF5IC5ldmVudC1jYXJkIHtcbiAgICBAaW5jbHVkZSBldmVudC1kZXRhaWxzLW9wZW4tcmlnaHQ7XG4gIH1cblxuICBAZm9yICRpIGZyb20gNSB0aHJvdWdoIDgge1xuICAgIC5jYWxlbmRhcl9fZGF5Om50aC1jaGlsZCgjeyRpfSkgLmV2ZW50LWNhcmQge1xuICAgICAgQGluY2x1ZGUgZXZlbnQtZGV0YWlscy1vcGVuLWxlZnQ7XG4gICAgfVxuICB9XG59XG5cbi5jYWxlbmRhci0tdXBjb21pbmcge1xuICBAaW5jbHVkZSBicmVha3BvaW50ICgkYnAtc20pIHtcbiAgICAubGMtZXZlbnQtLXVwY29taW5nIHtcbiAgICAgIEBpbmNsdWRlIGV2ZW50LWRldGFpbHMtb3Blbi1yaWdodDtcbiAgICB9XG5cbiAgICAubGMtZXZlbnQtLXVwY29taW5nOm50aC1jaGlsZCgybisyKSB7XG4gICAgICBAaW5jbHVkZSBldmVudC1kZXRhaWxzLW9wZW4tbGVmdDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50ICgkYnAtbWQpIHtcbiAgICAubGMtZXZlbnQtLXVwY29taW5nOm50aC1jaGlsZCgzbisxKSB7XG4gICAgICBAaW5jbHVkZSBldmVudC1kZXRhaWxzLW9wZW4tcmlnaHQ7XG4gICAgfVxuXG4gICAgLmxjLWV2ZW50LS11cGNvbWluZzpudGgtY2hpbGQoM24rMikge1xuICAgICAgQGluY2x1ZGUgZXZlbnQtZGV0YWlscy1vcGVuLWxlZnQ7XG4gICAgfVxuXG4gICAgLmxjLWV2ZW50LS11cGNvbWluZzpudGgtY2hpbGQoM24rMykge1xuICAgICAgQGluY2x1ZGUgZXZlbnQtZGV0YWlscy1vcGVuLWxlZnQ7XG4gICAgfVxuICB9XG59XG5cbi5ibG9jay1sYy1jYWxlbmRhci11cGNvbWluZy1ibG9jayB7XG4gIC5jYWxlbmRhci0tdXBjb21pbmcuaG92ZXItbGVmdCAubGMtZXZlbnQtLXVwY29taW5nIHtcbiAgICBAaW5jbHVkZSBldmVudC1kZXRhaWxzLW9wZW4tbGVmdDtcbiAgfVxuXG4gIC5jYWxlbmRhci0tdXBjb21pbmcuaG92ZXItcmlnaHQgLmxjLWV2ZW50LS11cGNvbWluZyB7XG4gICAgQGluY2x1ZGUgZXZlbnQtZGV0YWlscy1vcGVuLXJpZ2h0O1xuICB9XG59XG5cbi53aGl0ZS1wb3B1cCAubGMtZXZlbnQge1xuICBAaW5jbHVkZSBldmVudC1kZXRhaWxzLW9wZW4tcmlnaHQ7XG59XG5cbi5sYy1ldmVudF9fbW9udGgtZGV0YWlscyB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuXG4gIC5sYy1ldmVudF9fY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFkZGluZy14cztcbiAgICBmb250LXNpemU6ICRmb250LWIteHM7XG4gIH1cblxuICAubGMtZXZlbnRfX3RpdGxlLS1kZXRhaWxzIHtcbiAgICBmb250LXNpemU6ICRmb250LWgteHhzO1xuICB9XG5cbiAgLmxjLWV2ZW50X190aXRsZS0tc3RhdGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgY29sb3I6IGNvbG9yKHJlZCwgYmFzZSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC5sYy1ldmVudF9fZGF0ZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhZGRpbmcteHM7XG4gICAgZm9udC1zaXplOiAkZm9udC1iLXNtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICB9XG5cbiAgLmRhdGUtbG9jYXRpb25fX3Jvb20ge1xuICAgIGNvbG9yOiBjb2xvcihncmF5LCBiYXNlKTtcbiAgfVxuXG4gIC5sYy1ldmVudF9fYWdlLWdyb3VwcyxcbiAgLmxjLWV2ZW50X19ib2R5IHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLmxjLWV2ZW50X19jb250YWN0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmcteHM7XG4gIH1cbn1cblxuLy8gTW9iaWxlXG4ubGMtZXZlbnQge1xuICAmLmRlc2t0b3AtaGlkZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoJGJwLXNtKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4ubGMtZXZlbnRfcm9vbS1zZXR1cC1ub3RlcyB7XG4gID4gZGl2IHtcbiAgICBwYWRkaW5nLXRvcDogJHBhZGRpbmctc207XG4gICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nLXNtO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmctc207XG4gICAgbWFyZ2luLXRvcDogJHBhZGRpbmctc207XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206ICRwYWRkaW5nLXNtO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgY29sb3IoYmx1ZSwgYmFzZSk7XG4gIH1cbn1cbiIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTWVudSBUYXNrcy9UYWJzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5sYy1ldmVudF9fbWVudS10YXNrcyB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1kKSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGbGV4Ym94IGxheW91dFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubGMtZXZlbnRfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGNsZWFyOiBib3RoO1xuICBsaW5lLWhlaWdodDogJHBhZGRpbmctbWQgKyAkcGFkZGluZy14cztcblxuICBAaW5jbHVkZSBicmVha3BvaW50ICgkYnAtc20pIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG5cbi5sYy1ldmVudF9fY29udGVudCB7XG4gIC5sYy1ldmVudF9fbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cbn1cblxuLmxvY2F0aW9uLWFkZHJlc3Mge1xuICBwYWRkaW5nOiAkcGFkZGluZy1tZCAwIDAgMDtcbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGaXJzdCBTaWRlYmFyXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5sYy1ldmVudF9fc2lkZWJhciB7XG4gIC5sYy1ldmVudF9fZGV0YWlscyB7XG4gICAgcGFkZGluZzogJHBhZGRpbmcteHM7XG4gICAgYm9yZGVyOiAycHggc29saWQgY29sb3IoYmx1ZSk7XG4gIH1cblxuICAubGMtZXZlbnQtaW5mb19fY2FuY2VsbGVkIHtcbiAgICBjb2xvcjogY29sb3IocmVkLCBiYXNlKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG59XG5cbi8qIEdtYXAgKi9cbi5sYy1ldmVudC1sb2NhdGlvbiAubGMtZXZlbnRfX3N1YnRpdGxlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4ubGMtZXZlbnQtbG9jYXRpb24gLmxjLWFkZHJlc3NfX2xpbmUge1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG4vKiBSZXBlYXQgRGF0ZXMgKi9cbi5sYy1yZXBlYXRpbmctZGF0ZXNfX3RvZ2dsZSxcbi5sYy1yZXBlYXRpbmctZGF0ZXNfX2xpbmsge1xuICBjb2xvcjogY29sb3IoZ3JheSwgZGFyayk7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGdyYXksIGxpZ2h0KTtcbiAgYm9yZGVyOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICRhbmltLXN0YW5kYXJkICRhbmltLXNwZWVkLW1vZGVyYXRlO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGdyYXksIGJhc2UpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxufVxuXG4ubGMtcmVwZWF0aW5nLWRhdGVzX190b2dnbGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJHBhZGRpbmcteHM7XG4gIG1hcmdpbjogJHBhZGRpbmcteHMgMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxufVxuXG4ubGMtcmVwZWF0aW5nLWRhdGVzX190b2dnbGUtaWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTVweDtcbiAgaGVpZ2h0OiAxNXB4O1xuICBtYXJnaW4tbGVmdDogJHBhZGRpbmctc207XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtaW5kZW50OiAxMDAlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJyN7JGFzc2V0LXBhdGh9L2ljb25zL2NoZXZyb24tZG93bi5zdmcnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxNXB4O1xuICB0cmFuc2l0aW9uOiBhbGwgJGFuaW0tc3RhbmRhcmQgJGFuaW0tc3BlZWQtZmFzdDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG59XG5cbi5sYy1yZXBlYXRpbmctZGF0ZXNfX3RvZ2dsZS5vcGVuIHtcbiAgLmxjLXJlcGVhdGluZy1kYXRlc19fdG9nZ2xlLWljb24ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIH1cbn1cblxuLmxjLXJlcGVhdGluZy1kYXRlc19fd3JhcHBlciB7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAkYW5pbS1zdGFuZGFyZCAkYW5pbS1zcGVlZC1tb2RlcmF0ZTtcbn1cblxuLmxjLXJlcGVhdGluZy1kYXRlc19fbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbi5sYy1yZXBlYXRpbmctZGF0ZXNfX2l0ZW0ge1xuICB3aWR0aDogNDklO1xuICBtYXJnaW4tYm90dG9tOiAkcGFkZGluZy14cztcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICYubGMtcmVwZWF0aW5nLWRhdGUtbWFzdGVyID4gLmxjLXJlcGVhdGluZy1kYXRlc19fbGluazo6YmVmb3JlIHtcbiAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgIGNvbnRlbnQ6ICdcXDI2MDUnO1xuICB9XG59XG5cbi5sYy1yZXBlYXRpbmctZGF0ZXNfX2xpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTWFpbiBjb250ZW50IGFyZWFcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKiBDYXRlZ29yaWVzIHN0eWxpbmcgKi9cbi5sYy1ldmVudF9fY2F0ZWdvcmllcyB7XG4gIGxpbmUtaGVpZ2h0OiAxLjc7XG5cbiAgYSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgfVxufVxuXG4vKiBSZWdpc3RyYWlvbiBGb3JtICovXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU2Vjb25kIFNpZGViYXJcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmxjLWV2ZW50X19pbmZvLWl0ZW0ge1xuICBsaW5lLWhlaWdodDogMS43O1xufVxuXG5cbi5sYy1ldmVudF9fc2lkZWJhci0tc2Vjb25kIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAoJGJwLXNtKSB7XG4gICAgZmxleDogaW5pdGlhbDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC1tZCkge1xuICAgIGZsZXg6IDE7XG4gICAgd2lkdGg6IDIwMHB4O1xuICB9XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVXBjb21pbmcgUGFnZVxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uY2FsZW5kYXJfX3dyYXAtLXVwY29taW5nIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmxjLWV2ZW50LS11cGNvbWluZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkcGFkZGluZy1zbTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50ICgkYnAtc20pIHtcbiAgICB3aWR0aDogNTAlO1xuXG4gICAgJjpudGgtY2hpbGQoMm4tMSkge1xuICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmcteHM7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmcteHM7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAoJGJwLW1kKSB7XG4gICAgd2lkdGg6IDMzLjMzMyU7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhZGRpbmctc20gKyAkcGFkZGluZy14cztcblxuICAgICY6bnRoLWNoaWxkKDJuLTEpLFxuICAgICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDNuLTIpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLXNtO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDNuLTEpIHtcbiAgICAgIHBhZGRpbmc6IDAgJHBhZGRpbmcteHM7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoM24pIHtcbiAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmctc207XG4gICAgfVxuICB9XG5cbiAgLmV2ZW50LWNhcmQge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy1zbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSwgZGFyayk7XG4gICAgYm9yZGVyOiAycHggc29saWQgY29sb3IoZ3JheSwgYmFzZSk7XG4gIH1cblxuICAubGMtZXZlbnRfX2V2ZW50LWRldGFpbHMtLXVwY29taW5nIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgLmxjLWRhdGUtaWNvbl9faXRlbS0tZGF5IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmcteHM7XG4gIH1cbn1cblxuLmxjLWV2ZW50X19ldmVudC1kZXRhaWxzLS1sY19yZWdpc3RyYW50X3ByaW50ID4gKiB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4ubGMtZXZlbnRfX3RpdGxlLFxuLmxjLWV2ZW50X190aXRsZS0tZGV0YWlscyB7XG4gIG1hcmdpbjogMDtcbn1cblxuLmxjLWV2ZW50X19pbmZvIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZy1zbTtcblxuICAubGMtZXZlbnRfX3RpdGxlLFxuICAubGMtZXZlbnRfX3RpdGxlLS1kZXRhaWxzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAkZm9udC1oLXh4cztcbiAgfVxufVxuXG4ubGMtZXZlbnRfX21vbnRoLWRldGFpbHMge1xuICAubGMtZGF0ZS1pY29uIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nLXhzO1xuICB9XG5cbiAgLmxjLWRhdGUtaWNvbl9faXRlbS0tZGF5IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIH1cblxuICAubGMtZGF0ZS1pY29uX19pdGVtLS15ZWFyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmcteHM7XG4gICAgZm9udC1zaXplOiAkZm9udC1iLXh4cztcbiAgICBib3JkZXItdG9wOiBub25lO1xuICB9XG59XG5cbi5sYy1ldmVudC1pbmZvX19pdGVtLS1jYXRlZ29yaWVzIHtcbiAgZm9udC1zaXplOiAkZm9udC1iLXhzO1xufVxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBVcGNvbWluZyBCbG9ja1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uYmxvY2stbGMtY2FsZW5kYXItdXBjb21pbmctYmxvY2sge1xuICAubGMtZXZlbnQtLXVwY29taW5nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5sYy1ldmVudCB7XG4gICAgJjpudGgtY2hpbGQoMm4tMSksXG4gICAgJjpudGgtY2hpbGQoMm4pLFxuICAgICY6bnRoLWNoaWxkKDNuLTIpLFxuICAgICY6bnRoLWNoaWxkKDNuLTEpLFxuICAgICY6bnRoLWNoaWxkKDNuKSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5ldmVudC1jYXJkIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLmxjLWV2ZW50X19ldmVudC1kZXRhaWxzIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy1zbSAkcGFkZGluZy1zbSAkcGFkZGluZy1zbSAwO1xuICB9XG59XG5cbi5zY3JvbGwtaW5mbyB7XG4gIHBhZGRpbmc6IDFyZW07XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5sYy1ldmVudF9fcmVnaXN0cmF0aW9uLWxpc3Qge1xuICAudmlldy1jb250ZW50IHtcbiAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICB9XG5cbiAgdGgsXG4gIHRkIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG5cbiAgdGQgLmRyb3BidXR0b24td2lkZ2V0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBidXR0b24ge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBJRSBGaXhlcy5cbi5pZTEwLFxuLmllMTEge1xuICAubGMtZXZlbnRfX3NpZGViYXItLWZpcnN0IHtcbiAgICAubGMtZXZlbnQtaW5mbyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAubGMtZXZlbnRfX2JyYW5jaC1pbWFnZSB7XG4gICAgICBhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmxjLWV2ZW50X19mZWF0dXJlZC1pbWFnZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5vcGVuLXBvcHVwLWxpbmsge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmNhbGVuZGFyX193cmFwLS1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5sYy1ldmVudC13cmFwcGVyIHtcbiAgQGluY2x1ZGUgbWFrZS1yb3c7XG5cbiAgLmxjLWV2ZW50LXNpZGViYXIsXG4gIC5sYy1ldmVudC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbC1yZWFkeTtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFkZGluZy1tZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1kKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiB1bnNldDtcbiAgICB9XG4gIH1cblxuICAubGMtZXZlbnQtc2lkZWJhciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWQpIHtcbiAgICAgIEBpbmNsdWRlIG1ha2UtY29sKDMpO1xuICAgIH1cbiAgfVxuXG4gIC5sYy1ldmVudC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZCkge1xuICAgICAgQGluY2x1ZGUgbWFrZS1jb2woNik7XG4gICAgfVxuICB9XG5cbiAgLmxjLWV2ZW50LWRldGFpbHMge1xuICAgIEBpbmNsdWRlIG1ha2Utcm93KCRwYWRkaW5nLXhzKTtcbiAgfVxuXG4gIC5sYy1kYXRlLWljb24sXG4gIC5sYy1ldmVudC1pbmZvIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbC1yZWFkeSgkcGFkZGluZy14cyk7XG4gIH1cblxuICAubGMtZGF0ZS1pY29uIHtcbiAgICBmbGV4OiAwIDAgMy41cmVtO1xuXG4gICAgLmxjLWRhdGUtaWNvbl9faXRlbSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cblxuICAubGMtZXZlbnQtaW5mbyB7XG4gICAgZmxleDogMjtcblxuICAgIC5sYy1ldmVudC1zdWJ0aXRsZSB7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG4gIH1cblxuICAubGMtZXZlbnQtaW5mby1jYW5jZWxsZWQge1xuICAgIGNvbG9yOiBjb2xvcihyZWQsIGJhc2UpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAubGMtZXZlbnQtcm9vbS1zZXR1cC1pbWFnZSBpbWcge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yKGdyYXksIGxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJkLXNtO1xuICB9XG5cbiAgLmxjLWV2ZW50LXNlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYWRkaW5nLXNtO1xuICB9XG59XG5cbi5ub2RlLS10eXBlLWxjLWNsb3NpbmcgLmxjLWV2ZW50LWNvbnRlbnQge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZCkge1xuICAgIEBpbmNsdWRlIG1ha2UtY29sKDkpO1xuICB9XG59XG5cbi5sYy1jbG9zaW5nLWNvbG9yIHtcbiAgY29sb3I6IGNvbG9yKHJlZCwgYmFzZSk7XG59XG4iLCIvLyBSZXNlcnZlIHJvb20gbGFuZGluZyBwYWdlLlxuLmxjLXJlc2VydmF0aW9uLW9wdGlvbnNfX2xpbmtzIHtcbiAgQGluY2x1ZGUgbWFrZS1yb3c7XG5cbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmxjLXJlc2VydmF0aW9uLWJ0biB7XG4gIEBpbmNsdWRlIG1ha2UtY29sLXJlYWR5O1xuXG4gIG1hcmdpbi1ib3R0b206ICRwYWRkaW5nLXNtO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAoJGJwLW1kKSB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb2woNCk7XG4gIH1cblxuICBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogJHBhZGRpbmctbWQgJHBhZGRpbmctbGc7XG4gICAgZm9udC1zaXplOiAkZm9udC1iLXNtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoJGJwLW1kKSB7XG4gICAgICBmb250LXNpemU6ICRmb250LWgtbWQ7XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxMTVweDtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgcGF0aCB7XG4gICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICAgIH1cblxuICAgICAgZyB7XG4gICAgICAgIHN0cm9rZTogY3VycmVudENvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucmVzZXJ2YXRpb24tdHlwZXMge1xuICBAaW5jbHVkZSBtYWtlLXJvdztcblxuICAucmVzZXJ2YXRpb24tdHlwZSB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb2wtcmVhZHk7XG5cbiAgICBtYXJnaW4tYm90dG9tOiAkcGFkZGluZy1tZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC1tZCkge1xuICAgICAgQGluY2x1ZGUgbWFrZS1jb2woNCk7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLmxjLXJlc2VydmF0aW9uLW9wdGlvbnNfX2xpbmstLXJvb20gYSB7XG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJyN7JGFzc2V0LXBhdGh9L2ljb25zL2J1aWxkaW5nLnN2ZycpO1xuICB9XG59XG5cbi5sYy1yZXNlcnZhdGlvbi1vcHRpb25zX19saW5rLS10aW1lIGEge1xuICAmOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcjeyRhc3NldC1wYXRofS9pY29ucy9jbG9jay5zdmcnKTtcbiAgfVxufVxuXG4ubGMtcmVzZXJ2YXRpb24tb3B0aW9uc19fbGluay0tZGF0ZSBhIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnI3skYXNzZXQtcGF0aH0vaWNvbnMvY2FsZW5kYXIuc3ZnJyk7XG4gIH1cbn1cblxuLy8gUmVzZXJ2ZSByb29tIHJvb20gbGFuZGluZyBwYWdlLlxuLmxjLWF2YWlsYWJsZS1yb29tcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4ubGMtYXZhaWxhYmxlLXJvb21zX19ncm91cC1sYWJlbCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ubGMtYXZhaWxhYmxlLXJvb21zX19ncm91cCB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC1zbSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG59XG5cbi5sYy1hdmFpbGFibGUtcm9vbXMge1xuICBAaW5jbHVkZSBtYWtlLXJvdztcbn1cblxuLmxjLWF2YWlsYWJsZS1yb29tc19fcm93IHtcbiAgQGluY2x1ZGUgbWFrZS1jb2wtcmVhZHk7XG5cbiAgbWFyZ2luLWJvdHRvbTogJHBhZGRpbmctbWQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAoJGJwLXNtKSB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb2woNCk7XG4gIH1cbn1cblxuLmxjLWF2YWlsYWJsZS1yb29tc19fY29udGVudCB7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogJHBhZGRpbmctbWQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yKGdyZXksIGxpZ2h0KTtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yZC1zbTtcblxuICAubGMtYXZhaWxhYmxlLXJvb21zX19yb29tIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgLmJ1dHRvbnMge1xuICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICB9XG4gIH1cblxuICAuYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhZGRpbmctc207XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG4ubGMtYXZhaWxhYmxlLXJvb21zX19pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlcjogbm9uZTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cbn1cblxuLmxjLWF2YWlsYWJsZS1yb29tc19fZ3JvdXAtbGFiZWwge1xuICBtYXJnaW4tcmlnaHQ6ICRwYWRkaW5nLXNtO1xuICBtYXJnaW4tbGVmdDogJHBhZGRpbmctc207XG59XG5cbi5sYy1hdmFpbGFibGUtcm9vbXNfX3Jvb20ge1xuICAuYnV0dG9ucy5idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXhzICRwYWRkaW5nLXNtO1xuICB9XG59XG5cbi5sYy1hdmFpbGFibGUtcm9vbXNfX2RhdGUge1xuICBtYXJnaW4tYm90dG9tOiAkcGFkZGluZy1zbTtcbn1cblxuLmxjLWF2YWlsYWJsZS1yb29tcy0tZXJyb3ItbWVzc2FnZS1jb250YWluZXIge1xuICBAaW5jbHVkZSBtYWtlLWNvbC1yZWFkeSgpO1xufVxuXG4vLyBJbmRpdmlkdWFsIFJvb21zLlxuLmxjLXJvb20tZnVsbCB7XG4gIC5sYy1yZXNlcnZhdGlvbi1vcGVuaW5ncy10aW1lLWJsb2NrcyB7XG4gICAgbWFyZ2luOiAkcGFkZGluZy1tZCAwO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5yb29tLXJvdyB7XG4gICAgQGluY2x1ZGUgbWFrZS1yb3c7XG4gIH1cblxuICAucm9vbS1jb2x1bW4ge1xuICAgIEBpbmNsdWRlIG1ha2UtY29sLXJlYWR5O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWQpIHtcbiAgICAgIEBpbmNsdWRlIG1ha2UtY29sKDYpO1xuICAgIH1cbiAgfVxuXG4gIC5sYy1yb29tLWZlYXR1cmVkLWltYWdlIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbC1yZWFkeTtcblxuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZCkge1xuICAgICAgQGluY2x1ZGUgbWFrZS1jb2woNik7XG4gICAgfVxuICB9XG5cbiAgLmxjLXJvb20tc2V0dXBzLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIG1ha2UtY29sLXJlYWR5O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWQpIHtcbiAgICAgIEBpbmNsdWRlIG1ha2UtY29sKDYpO1xuICAgIH1cblxuICAgIC5sYy1yb29tLXNldHVwcyB7XG4gICAgICBAaW5jbHVkZSBtYWtlLXJvdztcblxuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAucm9vbS1zZXR1cHMtY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLXJlYWR5O1xuICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbCg2KTtcblxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkcGFkZGluZy1tZDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1zbSkge1xuICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sKDMpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgLnJvb20tc2V0dXBzX190aXRsZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yb29tLXNldHVwc19faW1hZ2Uge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmc6IC41cmVtO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgY29sb3IoZ3JleSwgbGlnaHQpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmQtc207XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1zbSkge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMjFweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucm9vbS1zZXR1cHNfX3RpdGxlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgei1pbmRleDogOTk5O1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nOiAuNXJlbTtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGNvbG9yKGdyZXksIGRhcmspLCAuOCk7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmxjLWhpZGRlbi1zZXR1cHM6bm90KC5zaG93KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxjLXJvb20tc2V0dXAtdG9nZ2xlIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgfVxuICB9XG5cbiAgLmxjLXJvb20tZGV0YWlscyB7XG4gICAgLnJvb20tZmllbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHBhZGRpbmctc207XG4gICAgfVxuICB9XG5cbiAgLy8gV2VlayB2aWV3IHN0eWxpbmdcbiAgLmxjLXJlc2VydmF0aW9uLXdlZWstZGlzcGxheSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIC5sYy1yZXNlcnZhdGlvbi13ZWVrLWRpc3BsYXkge1xuICAgIG1hcmdpbjogMCAkcGFkZGluZy1tZDtcbiAgICBvdmVyZmxvdzogc2Nyb2xsO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWQpIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgLmxjLXJlc2VydmF0aW9uLW9wZW5pbmdzIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICBoMyB7XG4gICAgICBwYWRkaW5nOiAkcGFkZGluZy1zbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtYi1tZDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvcihncmF5LCBsaWdodCk7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgJi50b2RheSB7XG4gICAgICBoMyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlLCBkYXJrKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgaDMge1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJkLW1kO1xuICAgICAgfVxuXG4gICAgICAubGMtcmVzZXJ2YXRpb24tb3BlbmluZ3MtaG91cnMge1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJkLW1kO1xuICAgICAgfVxuXG4gICAgICAubGMtcmVzZXJ2YXRpb24tb3BlbmluZ3MtaG91cjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAubGMtcmVzZXJ2YXRpb24tb3BlbmluZ3MtcXVhcnRlcjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmQtbWQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubGMtcmVzZXJ2YXRpb24tb3BlbmluZ3MtYWN0aW9ucyB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICB9XG5cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBoMyB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGNvbG9yKGdyYXksIGxpZ2h0KTtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmQtbWQ7XG4gICAgICB9XG5cbiAgICAgIC5sYy1yZXNlcnZhdGlvbi1vcGVuaW5ncy1ob3VycyB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGNvbG9yKGdyYXksIGxpZ2h0KTtcbiAgICAgIH1cblxuICAgICAgLmxjLXJlc2VydmF0aW9uLW9wZW5pbmdzLWhvdXJzIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmQtbWQ7XG4gICAgICB9XG5cbiAgICAgIC5sYy1yZXNlcnZhdGlvbi1vcGVuaW5ncy1ob3VyOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIC5sYy1yZXNlcnZhdGlvbi1vcGVuaW5ncy1xdWFydGVyOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmQtbWQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubGMtcmVzZXJ2YXRpb24tb3BlbmluZ3MtaG91cnMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgY29sb3IoZ3JheSwgbGlnaHQpO1xuICB9XG5cbiAgLmxjLXJlc2VydmF0aW9uLW9wZW5pbmdzLWhvdXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5sYy1yZXNlcnZhdGlvbi1vcGVuaW5ncy10aW1lLS1ob3VyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDMzLjMzMyU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG5cbiAgLmxjLXJlc2VydmF0aW9uLW9wZW5pbmdzLXF1YXJ0ZXJzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6ICRmb250LWIteHM7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIH1cblxuICAubGMtcmVzZXJ2YXRpb24tb3BlbmluZ3MtcXVhcnRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXhzO1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogY29sb3IoZ3JheSwgYmFzZSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGNvbG9yKGdyYXksIGxpZ2h0KTtcbiAgfVxuXG4gIC5sYy1yZXNlcnZhdGlvbi1vcGVuaW5ncy1xdWFydGVyLS1ibG9ja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSwgZGFyayk7XG4gIH1cbn1cblxuLmxjLWZvcm0tLXJlc2VydmUtcm9vbS1vcGVuaW5ncyB7XG4gIC5mb3JtLXN1Ym1pdCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmxjLWZvcm1fX2ZpbHRlcnMge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICBsYWJlbCB7XG4gICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW47XG4gICAgfVxuXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5sYy1yZXNlcnZhdGlvbi1kYXRlLWNvbnRhaW5lciA+IC5mb3JtLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgLmZvcm0taXRlbS1zZWxlY3RlZC1kYXRlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkcGFkZGluZy1zbTtcbiAgICAgIH1cblxuICAgICAgLmZvcm0tZGF0ZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLmZvcm0tZGF0ZTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIH1cblxuICAgICAgLmZvcm0tc3VibWl0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubGMtZm9ybV9fZmlsdGVycy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG5cbiAgLmxjLWZvcm1fX25leHQsXG4gIC5sYy1mb3JtX19sYXN0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgbWFyZ2luOiAkcGFkZGluZy1tZCAwO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skYXNzZXQtcGF0aH0vaWNvbnMvY2hldnJvbi1sZWZ0LWJsYWNrLnN2Zyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiA2NSU7XG4gIH1cblxuICAubGMtZm9ybV9fbmV4dCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGFzc2V0LXBhdGh9L2ljb25zL2NoZXZyb24tcmlnaHQtYmxhY2suc3ZnKTtcbiAgfVxufVxuXG4ubGMtcmVzZXJ2YXRpb24tb3BlbmluZ3MtdGltZSB7XG4gIGZsZXgtZ3JvdzogMTtcbn1cblxuLmxjLXJlc2VydmF0aW9uLW9wZW5pbmdzLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogMjJweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogNHB4O1xuICAgIGhlaWdodDogMTJweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIGhlaWdodDogNHB4O1xuICB9XG59XG5cbi5sYy1yZXNlcnZhdGlvbi1vcGVuaW5ncy1oaWRlLXRleHQge1xuICB3aWR0aDogNDVweDtcbiAgaGVpZ2h0OiAyNXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtaW5kZW50OiA5OTk5cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8vIElFIEZpeGVzLlxuLmllMTAsXG4uaWUxMSB7XG4gIC5sYy1yb29tLS1mdWxsIHtcbiAgICAucm9vbS1zZXR1cHNfX2ltYWdlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICBpbWcge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucm9vbS1zZXR1cHNfX3RpdGxlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuIiwiLyogVG9nZ2xlIEZpbHRlcnMgKi9cbi5sYy1mb3JtX19oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG59XG5cbi5idXR0b24ubGMtZm9ybV9fdG9nZ2xlIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkcGFkZGluZy1zbTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcGFkZGluZy1zbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXNpemU6ICRmb250LWgteHhzO1xuICBjb2xvcjogY29sb3Iod2hpdGUsIGJhc2UpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihibHVlLCBiYXNlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC1tZCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyNSU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcjeyRhc3NldC1wYXRofS9pY29ucy9saXN0LnN2ZycpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoYmx1ZSwgZGFyayk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxufVxuXG4ubGMtZm9ybV9fZmlsdGVycyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJHBhZGRpbmctc20gJHBhZGRpbmctbWQ7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcGFkZGluZy1tZDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xlYXI6IGxlZnQ7XG4gIGNvbG9yOiBjb2xvcih3aGl0ZSwgYmFzZSk7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGJsdWUsIGJhc2UpO1xuXG4gIHNlbGVjdCB7XG4gICAgY29sb3I6ICMwMDA7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50ICgkYnAtbWQpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjUlO1xuICB9XG5cbiAgJi5jb2xsYXBzZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmZvcm0tdHlwZS1kYXRlIHtcbiAgY29sb3I6IGNvbG9yKGdyYXkpO1xufVxuXG4ubGMtZm9ybV9fZmlsdGVycy1jb250YWluZXIge1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcblxuICAuZm9ybS1pdGVtLFxuICAuZm9ybS1hY3Rpb25zIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuZm9ybS1jaGVja2JveGVzIC5mb3JtLWl0ZW0sXG4gIC5mb3JtLXJhZGlvcyAuZm9ybS1pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBkZXRhaWxzIHtcbiAgICBib3JkZXI6IDA7XG5cbiAgICA+IGRpdiB7XG4gICAgICBwYWRkaW5nOiAkcGFkZGluZy14cyAkcGFkZGluZy1zbTtcbiAgICAgIGNvbG9yOiBjb2xvcihibGFjaywgbGlnaHQpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUsIGJhc2UpO1xuICAgIH1cblxuICAgID4gc3VtbWFyeSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6ICRwYWRkaW5nLXNtIDAgJHBhZGRpbmcteHMgMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICAgIGNvbG9yOiBjb2xvcih3aGl0ZSwgYmFzZSk7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGNvbG9yKHdoaXRlLCBiYXNlKTtcblxuICAgICAgJjo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnI3skYXNzZXQtcGF0aH0vaWNvbnMvY2hldnJvbi1jaXJjbGUtZG93bi5zdmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZGV0YWlsc1tvcGVuXSA+IHN1bW1hcnk6OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB9XG5cbiAgLmZpZWxkc2V0LXdyYXBwZXIge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXhzICRwYWRkaW5nLXNtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY29sb3I6IGNvbG9yKGJsYWNrLCBsaWdodCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUsIGJhc2UpO1xuXG4gICAgJi5jb2xsYXBzZWQge1xuICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgIHBhZGRpbmc6IDAgJHBhZGRpbmctc207XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIC5sYy1jaGVja2JveC13cmFwcGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFkZGluZy14cztcbiAgfVxuXG4gIC5mb3JtLWdyb3VwOm5vdCguZm9ybS1jaGVjaykgPiBsYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxufVxuXG4uY29sb3ItY29kaW5nIHtcbiAgLmxjLWNoZWNrYm94LXdyYXBwZXIgLmZvcm0taXRlbSB7XG4gICAgcGFkZGluZzogJHBhZGRpbmcteHM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUsIGRhcmspO1xuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgY29sb3Iod2hpdGUsIGRhcmspO1xuICB9XG59XG5cbi8vIFN0eWxlIGZvciByb29tIGZpbHRlcnMuXG4ubGMtcm9vbV9fcm9vbS1vcGVuaW5ncyB7XG4gIC5sYy1mb3JtX19maWx0ZXJzLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoJGJwLXNtKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWl0ZW0ge1xuICAgIG1hcmdpbi1yaWdodDogJHBhZGRpbmctc207XG4gIH1cblxuICAuZm9ybS1hY3Rpb25zIHtcbiAgICBwYWRkaW5nLXRvcDogJHBhZGRpbmctc207XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50ICgkYnAtc20pIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyM3B4O1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLXN1Ym1pdCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIC5mb3JtLWRhdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yKGdyYXksIGJhc2UpO1xuICB9XG5cbiAgLmxjLWZvcm1fX2ZpbHRlcnMge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXNtIDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8gQWdlIFJlbGF0ZWQgQ29sb3JzLlxuLmNvbG9yLWNvZGluZyAubGMtY2hlY2tib3gtd3JhcHBlci0tYWR1bHQgLmZvcm0taXRlbSxcbi5jb2xvci1jb2RpbmcgLmxjLWNoZWNrYm94LXdyYXBwZXItLWFkdWx0cyAuZm9ybS1pdGVtIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IGNvbG9yKGJsdWUsIGxpZ2h0KTtcbn1cblxuLmNvbG9yLWNvZGluZyAubGMtY2hlY2tib3gtd3JhcHBlci0tZXZlcnlvbmUgLmZvcm0taXRlbSB7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiBjb2xvcihncmVlbiwgYmFzZSk7XG59XG5cbi5jb2xvci1jb2RpbmcgLmxjLWNoZWNrYm94LXdyYXBwZXItLWZhbWlseSAuZm9ybS1pdGVtLFxuLmNvbG9yLWNvZGluZyAubGMtY2hlY2tib3gtd3JhcHBlci0tY2hpbGRyZW4gLmZvcm0taXRlbSB7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiBjb2xvcihwdXJwbGUsIGJhc2UpO1xufVxuXG4uY29sb3ItY29kaW5nIC5sYy1jaGVja2JveC13cmFwcGVyLS1pbmZhbnQgLmZvcm0taXRlbSxcbi5jb2xvci1jb2RpbmcgLmxjLWNoZWNrYm94LXdyYXBwZXItLWJhYmllcyAuZm9ybS1pdGVtIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IGNvbG9yKHllbGxvdywgbGlnaHQpO1xufVxuXG4uY29sb3ItY29kaW5nIC5sYy1jaGVja2JveC13cmFwcGVyLS1raWRzIC5mb3JtLWl0ZW0ge1xuICBib3JkZXItbGVmdC1jb2xvcjogY29sb3IoeWVsbG93LCBiYXNlKTtcbn1cblxuLmNvbG9yLWNvZGluZyAubGMtY2hlY2tib3gtd3JhcHBlci0tcHJlc2Nob29sIC5mb3JtLWl0ZW0ge1xuICBib3JkZXItbGVmdC1jb2xvcjogY29sb3IoeWVsbG93LCBkYXJrKTtcbn1cblxuLmNvbG9yLWNvZGluZyAubGMtY2hlY2tib3gtd3JhcHBlci0tc2Nob29sLWFnZSAuZm9ybS1pdGVtIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IGNvbG9yKHJlZCwgbGlnaHQpO1xufVxuXG4uY29sb3ItY29kaW5nIC5sYy1jaGVja2JveC13cmFwcGVyLS10ZWVuIC5mb3JtLWl0ZW0sXG4uY29sb3ItY29kaW5nIC5sYy1jaGVja2JveC13cmFwcGVyLS10ZWVucyAuZm9ybS1pdGVtIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IGNvbG9yKHJlZCwgYmFzZSk7XG59XG5cbi5jb2xvci1jb2RpbmcgLmxjLWNoZWNrYm94LXdyYXBwZXItLXRvZGRsZXIgLmZvcm0taXRlbSB7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiBjb2xvcihyZWQsIGRhcmspO1xufVxuXG4uY29sb3ItY29kaW5nIC5sYy1jaGVja2JveC13cmFwcGVyLS10b2RkbGVyLW9uZSAuZm9ybS1pdGVtIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IGNvbG9yKGdyZWVuLCBsaWdodCk7XG59XG5cbi5sYy1mb3JtIC5oaWRlLWZpbHRlciB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi5tZnAtd3JhcCAubWZwLWlubGluZS1ob2xkZXIgLm1mcC1jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAoJGJwLXNtKSB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLmxjLWV2ZW50LWFjdGlvbnNfX2xpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZ3JvdzogMTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogJHBhZGRpbmcteHMgMDtcbn1cblxuLmxjLWV2ZW50LWFjdGlvbnNfX2l0ZW0ge1xuICBmbGV4OiBub25lO1xuICB3aWR0aDogYXV0bztcbiAgbWluLXdpZHRoOiAwO1xuICBtYXJnaW4tcmlnaHQ6ICRwYWRkaW5nLXNtO1xuICBtYXJnaW4tYm90dG9tOiAkcGFkZGluZy1zbTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXhzICRwYWRkaW5nLXNtO1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGJsdWUsIGJhc2UpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgfVxuICB9XG59XG5cbi8vIFdoaXRlIHBvcC11cCBibG9ja3MuXG4ubGMtZXZlbnQtYWN0aW9uc19fY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUsIGJhc2UpO1xuXG4gIC5oZWFkZXIge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLW1kICRwYWRkaW5nLXNtO1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSwgYmFzZSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoYmx1ZSwgYmFzZSk7XG5cbiAgICBoMiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgLmJvZHkge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXNtICRwYWRkaW5nLW1kO1xuICB9XG5cbiAgLmxpbmtzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgdWwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgICYubWVzc2FnZXNfX2l0ZW0ge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmcteHMgJHBhZGRpbmctc207XG4gICAgbWFyZ2luOiAwICRwYWRkaW5nLXNtICRwYWRkaW5nLXNtIDA7XG4gICAgY29sb3I6IGNvbG9yKHdoaXRlLCBiYXNlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihibHVlLCBiYXNlKTtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJkLW1kO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWQpIHtcbiAgICAgIG1hcmdpbi10b3A6ICRwYWRkaW5nLXNtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IGNvbG9yKHdoaXRlLCBiYXNlKTtcbiAgICB9XG4gIH1cbn1cblxuLndoaXRlLXBvcHVwIHtcbiAgLm1mcC1jbG9zZSB7XG4gICAgd2lkdGg6IDY0cHg7XG4gICAgaGVpZ2h0OiA2NHB4O1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSwgYmFzZSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoYmx1ZSwgbGlnaHQpO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCBlYXNlLWluLW91dCAuMjVzO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGJsdWUsIGJhc2UpO1xuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG4gIH1cblxuICAubGMtZXZlbnQtYWN0aW9uc19faWNvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogM3B4O1xuICAgIHdpZHRoOiAxN3B4O1xuICAgIGhlaWdodDogMTdweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE3cHg7XG4gIH1cbn1cblxuLmxjLWV2ZW50LWFjdGlvbnNfX3NvY2lhbC1pY29uIGEge1xuICB3aWR0aDogNjBweDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWluZGVudDogMTAwJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDQwcHg7XG59XG5cbi5sYy1ldmVudC1hY3Rpb25zX19pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxNnB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC14cykge1xuICAgIG1hcmdpbi1yaWdodDogJHBhZGRpbmctc207XG4gIH1cbn1cblxuLmxjLWV2ZW50LWFjdGlvbnNfX3RleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAoJGJwLXhzKSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgY2xpcDogYXV0bztcbiAgfVxufVxuXG4ubGMtZXZlbnQtYWN0aW9uc19faWNvbi0tY2FsZW5kYXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJyN7JGFzc2V0LXBhdGh9L2ljb25zL2NhbGVuZGFyLnN2ZycpO1xufVxuXG4ubGMtZXZlbnQtYWN0aW9uc19faWNvbi0tcHJpbnQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJyN7JGFzc2V0LXBhdGh9L2ljb25zL3ByaW50LnN2ZycpO1xufVxuXG4ubGMtZXZlbnQtYWN0aW9uc19faWNvbi0tc2hhcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJyN7JGFzc2V0LXBhdGh9L2ljb25zL21haWwtZm9yd2FyZC5zdmcnKTtcbn1cblxuLmxjLWV2ZW50LWFjdGlvbnNfX2ljb24tLWdvb2dsZSxcbi5sYy1ldmVudC1hY3Rpb25zX19pY29uLS1pY2FsIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcjeyRhc3NldC1wYXRofS9pY29ucy9nb29nbGUuc3ZnJyk7XG59XG5cbi5sYy1ldmVudC1hY3Rpb25zX19pY29uLS1yZW1pbmRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnI3skYXNzZXQtcGF0aH0vaWNvbnMvY2xvY2stby5zdmcnKTtcbn1cblxuLmxjLWV2ZW50LWFjdGlvbnNfX2ljb24tLXBlbmNpbCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnI3skYXNzZXQtcGF0aH0vaWNvbnMvcGVuY2lsLXNxdWFyZS1vLnN2ZycpO1xufVxuXG4ubGMtZXZlbnQtYWN0aW9uc19fc29jaWFsLWljb24tLWZhY2Vib29rIGEge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJyN7JGFzc2V0LXBhdGh9L2ljb25zL2ZhY2Vib29rLnN2ZycpO1xufVxuXG4ubGMtZXZlbnQtYWN0aW9uc19fc29jaWFsLWljb24tLXR3aXR0ZXIgYSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnI3skYXNzZXQtcGF0aH0vaWNvbnMvdHdpdHRlci5zdmcnKTtcbn1cblxuLmxjLWV2ZW50LWFjdGlvbnNfX3NvY2lhbC1pY29uLS1saW5rZWRpbiBhIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcjeyRhc3NldC1wYXRofS9pY29ucy9saW5rZWRpbi5zdmcnKTtcbn1cblxuLmxjLWV2ZW50LWFjdGlvbnNfX3NvY2lhbC1pY29uLS1lbWFpbCBhIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcjeyRhc3NldC1wYXRofS9pY29ucy9lbnZlbG9wZS5zdmcnKTtcbn1cblxuLy8gQXR0ZW5kYW5jZSBwZXIgR3JvdXAuXG4jYXR0ZW5kYW5jZS1maWVsZHNldC13cmFwcGVyIHtcbiAgLmxjLWZvcm1fX2ZsZXgtd3JhcHBlciB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nLXhzO1xuICAgIG1hcmdpbi1ib3R0b206ICRwYWRkaW5nLXNtO1xuICB9XG5cbiAgLmZvcm0taXRlbSxcbiAgLmZvcm0tYWN0aW9ucyB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIC5mb3JtLXNlbGVjdCxcbiAgLmZvcm0tdGV4dCxcbiAgLmxjLWZvcm1fX3JlbW92ZSB7XG4gICAgbWluLWhlaWdodDogMzBweDtcbiAgICBtYXJnaW46IDJweCAwO1xuICAgIGJvcmRlci1jb2xvcjogY29sb3IoZ3JheSwgbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmQtc207XG4gIH1cblxuICAuZm9ybS1zZWxlY3QsXG4gIC5sYy1mb3JtX19yZW1vdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlLCBkYXJrKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICRhbmltLXN0YW5kYXJkICRhbmltLXNwZWVkLWZhc3Q7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUsIGRhcmssIC0gMzApO1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLXNlbGVjdCB7XG4gICAgcGFkZGluZzogMCAkcGFkZGluZy14cztcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjJyZW07XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcjeyRhc3NldC1wYXRofS9pY29ucy9hbmdsZS1kb3duLWJsYWNrLnN2ZycpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMS4zcmVtO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAubGMtZm9ybV9fcmVtb3ZlIHtcbiAgICBtYXJnaW4tbGVmdDogJHBhZGRpbmctc207XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxufVxuIiwiLmJsb2NrLWxjLWJyYW5jaC1zZWxlY3Qge1xuICB3aWR0aDogMTAwJTtcblxuICBoMiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50ICgkYnAtbWQpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuICB9XG59XG5cbi5sYy1icmFuY2gtc2VsZWN0X193cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAkYW5pbS1zdGFuZGFyZCAkYW5pbS1zcGVlZC1mYXN0O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC1tZCkge1xuICAgIG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxufVxuXG4ubGMtYnJhbmNoLXNlbGVjdF9fd3JhcHBlci0tb3BlbiB7XG4gIG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5sYy1icmFuY2gtc2VsZWN0X19zZWxlY3QtaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmctbWQ7XG4gIG1hcmdpbi1ib3R0b206ICRwYWRkaW5nLXNtO1xuICBjb2xvcjogY29sb3Iod2hpdGUsIGJhc2UpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihibHVlLCBsaWdodCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnI3skYXNzZXQtcGF0aH0vaWNvbnMvYW5nbGUtZG93bi5zdmcnKSwgbm9uZTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMjVweDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuXG4ubGMtYnJhbmNoLXNlbGVjdC1kaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5sYy1icmFuY2gtc2VsZWN0X19icmFuY2guYWN0aXZlLWJyYW5jaCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLmxjLWJyYW5jaC1zZWxlY3RfX2FkZHJlc3MsXG4ubGMtYnJhbmNoLXNlbGVjdF9faG91cnMge1xuICB3aWR0aDogNTAlO1xufVxuXG4ubGMtYnJhbmNoLXNlbGVjdF9fYWRkcmVzcyB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXhzICRwYWRkaW5nLXNtO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5sYy1icmFuY2gtc2VsZWN0X19ob3VycyB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXhzICRwYWRkaW5nLXNtO1xuICBib3JkZXI6IDFweCBzb2xpZCBjb2xvcih3aGl0ZSwgZGFyayk7XG59XG5cblxuLy8gSG91cnMgVG9nZ2xlIEljb25cbi5qcy1ob3Vycy10b2dnbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHBhZGRpbmctbWQ7XG4gIHJpZ2h0OiAkcGFkZGluZy1tZDtcbiAgei1pbmRleDogMTAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvcmRlcjogMDtcbiAgcGFkZGluZzogNXB4O1xuICBmb250LXNpemU6IDEwcHg7XG4gIGNvbG9yOiBjb2xvcih3aGl0ZSwgYmFzZSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGJsdWUsIGJhc2UpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGJsdWUsIGxpZ2h0KTtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgLy8gQFRPRE86IFRpZSB0aGlzIGludG8gdGhlIGNvbGxhcHNlIHNpdGUgdmFyaWFibGUsIHNvIHRoYXQgaXQgZG9lc24ndFxuICAvLyBoYXZlIHRvIGJlIGhhbmRsZWQgd2l0aCBhIHRoZW1lIG92ZXJyaWRlLlxuICBAaW5jbHVkZSBicmVha3BvaW50ICgkYnAtbWQpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5ob3Vycy10b2dnbGVfX2ljb24ge1xuICBAaW5jbHVkZSBpbWFnZS1yZXBsYWNlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDIuNXB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiBjb2xvcih3aGl0ZSwgYmFzZSk7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGJsdWUsIGJhc2UpO1xuICBib3JkZXItcmFkaXVzOiAzNXB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxMHB4IGNvbG9yKHdoaXRlLCBiYXNlKTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTdweDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMnB4O1xuICAgIGhlaWdodDogN3B4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBjb250ZW50OiAnICc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoYmx1ZSwgYmFzZSk7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMXM7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIGN1YmljLWJlemllciguNDIsIDAsIC4xOSwgMS4zNSkgLjc1cztcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIHRvcDogLTEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgfVxuXG4gICYub3BlbiB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDU0MGRlZyk7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gRGVmYXVsdCBjb2xsYXBzZWQgc3R5bGluZy5cbi5sYy1icmFuY2gtc2VsZWN0X19jb2xsYXBzZS1idXR0b24ge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG59XG5cbi5sYy1icmFuY2gtc2VsZWN0X19jb2xsYXBzZWQtd3JhcHBlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgJi5vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuIiwiLmxheW91dF9fc2VjdGlvbi0tYW5ub3VuY2VtZW50cyB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC52aWV3cy1maWVsZC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAkZm9udC1oLXhzO1xuICB9XG59XG4iLCIuYnJhaW50cmVlLW1ldGhvZCB7XG4gIC5icmFpbnRyZWUtbWV0aG9kX19jaGVjayB7XG4gICAgcGFkZGluZzogMCAkcGFkZGluZy1zbTtcblxuICAgIHN2ZyB7XG4gICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuICB9XG59XG5cbiNsYy1wYXltZW50LWJ1dHRvbiB7XG4gIG1hcmdpbi1ib3R0b206ICRwYWRkaW5nLW1kO1xufVxuIiwiLmxjLWZlZXMsXG4ubGMtZmVlc19fZmVlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi5sYy1mZWVzX19mZWUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogYm90dG9tO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXhzIDA7XG4gIGZvbnQtc2l6ZTogJGZvbnQtYi14eHM7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCBjb2xvcihncmF5LCBsaWdodCk7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgfVxufVxuXG4ubGMtZmVlc19fZmVlLS10b3RhbCB7XG4gIGZvbnQtc2l6ZTogJGZvbnQtYi1tZDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwMDA7XG59XG4iLCIvLyBSZWdpc3RyYXRpb24gUHJpbnQgUGFnZSBTdHlsaW5nLlxuLmxjLXJlZ2lzdHJhdGlvbi1saXN0IHtcbiAgLml0ZW0tbGlzdCBsaSB7XG4gICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nLXNtO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFkZGluZy1zbTtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGNvbG9yKGdyYXksIGJhc2UpO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLnJlZ2lzdHJhdGlvbi13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuXG4gIC5yZWdpc3RyYXRpb25fX2l0ZW1zIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFkZGluZy1zbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC1zbSkge1xuICAgICAgd2lkdGg6IDMzLjMzMyU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoJGJwLW1kKSB7XG4gICAgICB3aWR0aDogMjUlO1xuICAgIH1cbiAgfVxuXG4gIC5yZWdpc3RyYXRpb25fX2l0ZW1zLS1jb250YWN0LWluZm8ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC1zbSkge1xuICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmctbWQ7XG4gICAgfVxuICB9XG5cbiAgLnJlZ2lzdHJhdGlvbl9faXRlbXMtLXJlZ2lzdHJhbnQtaW5mbyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoJGJwLXNtKSB7XG4gICAgICBwYWRkaW5nOiAwICRwYWRkaW5nLXNtO1xuICAgIH1cbiAgfVxuXG4gIC5yZWdpc3RyYXRpb25fX2l0ZW1zLS1ldmVudC1pbmZvIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50ICgkYnAtc20pIHtcbiAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmctbWQ7XG4gICAgfVxuICB9XG5cbiAgLnJlZ2lzdHJhdGlvbl9faXRlbXMtLXNwZWNpYWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLnJlZ2lzdHJhdGlvbi1pdGVtLS1uYW1lIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6ICRmb250LWItbGc7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxufVxuXG4ubGMtZXZlbnRfX3JlZ2lzdHJhdGlvbi1saXN0IHtcbiAgdGJvZHkge1xuICAgIHRyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOTk5O1xuXG4gICAgICAuZHJvcGJ1dHRvbi1tdWx0aXBsZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gICAgfVxuICB9XG59XG5cbi5mb3JtLWl0ZW0tcmVnLXNhdmUtc3RhdGUge1xuICBwYWRkaW5nOiAkcGFkZGluZy1zbTtcbiAgYm9yZGVyOiAxcHggc29saWQgY29sb3IoZ3JleSwgbGlnaHQpO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJkLXNtO1xufVxuXG4ubGMtcmVnaXN0cmFudC1oZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogJHBhZGRpbmctbWQ7XG4gIG1hcmdpbi1ib3R0b206ICRwYWRkaW5nLW1kO1xufVxuXG4ubGMtcmVnaXN0cmFudC1zdWJoZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogJHBhZGRpbmctbWQ7XG59XG5cbi5sYy1yZWdpc3RyYXRpb24tZmllbGQge1xuICBtYXJnaW4tYm90dG9tOiAkcGFkZGluZy1zbTtcbn1cblxuLmZpZWxkLS1uYW1lLWZpZWxkLWxjLXJlZ2lzdHJhdGlvbi1yZWZlcmVuY2Uge1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmctc207XG4gIG1hcmdpbi1ib3R0b206ICRwYWRkaW5nLXNtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY29sb3IoZ3JleSwgbGlnaHQpO1xufVxuIiwiLmxjLWNsb3NpbmctbG9jYXRpb25fX2FkZHJlc3M6bm90KDpsYXN0LWNoaWxkKSB7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZy1tZDtcbn1cbiIsIkBtZWRpYSBwcmludCB7XG4gIC8vIFV0aWxpdGllc1xuICAvL1xuICAvLyBJbXBvcnQgdmFyaWFibGVzIGFuZCBtaXhpbnNcbiAgLy8gU2hvdWxkIGNvbnRhaW4gTk8gY3NzIG91dHB1dC5cbiAgLy8gT25seSB2YXJpYWJsZXMgLyBtaXhpbnMgLyBzZXR0aW5ncy5cbiAgQGltcG9ydCAnaW5pdC1iYXNlJztcblxuICAvLyBCYXNlXG4gIEBpbXBvcnQgJ2Jhc2UvaW1wb3J0LnByaW50JztcblxuICAvLyBDb21wb25lbnRzXG4gIEBpbXBvcnQgJ2NvbXBvbmVudHMvaW1wb3J0LnByaW50Jztcbn1cbiIsIioge1xuICBjb2xvcjogY29sb3IoYmxhY2ssIGJhc2UpICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4iLCIvKipcbiAqIENhbGVuZGFyIG1vbnRoIGRpc3BsYXkuXG4gKlxuICogQWxsIHBhZGRpbmcgYW5kIGZvbnQtc2l6ZXMgaW4gdGhlIG1vbnRoIGRpc3BsYXlcbiAqIHNob3VsZCB1c2VzIGVtIHVuaXRzIChub3QgcmVtIG9yIHB4KSwgYXMgZGVmaW5lZFxuICogaW4gdGhlIGNhbGVuZGFyIGNvbXBvbmVudCdzIGxvY2FsIHZhcmlhYmxlcyBwYXJ0aWFsLlxuICogVGhlIHJlYXNvbmluZyBmb3IgdGhhdCBpcyBzbyB0aGF0IGZvbnQtc2l6ZXMgY2FuIGJlXG4gKiBkZWZpbmVkIHJlbGF0aXZlIHRvIGVhY2ggb3RoZXIsIGFuZCB0aGVuIHRoZSBvdmVyYWxsXG4gKiBmb250L3BhZGRpbmcgc2l6ZXMgb2YgdGhlIGNhbGVuZGFyIGNhbiBiZSBhZGp1c3RlZFxuICogcHJvcG9ydGlvbmFsbHkgd2hpbGUgb25seSBtb2RpZnlpbmcgdGhlIHJvb3QgZm9udFxuICogc2l6ZSBvbiB0aGUgLmNhbGVuZGFyLS1tb250aCBjb250YWluZXIuXG4gKi9cbi5jYWxlbmRhci0tbW9udGgge1xuICBmb250LXNpemU6ICRmb250LWIteHhzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG5cbiAgLm1vYmlsZS1oaWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgfVxuXG4gIC5ldmVudC1jYXJkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAubGMtZXZlbnRfX3JlZ2lzdHJhdGlvbi1pY29uLFxuICAubGMtZXZlbnRfX3JlZ2lzdHJhdGlvbi1wYXltZW50LWljb24ge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG4uY2FsZW5kYXJfX3dlZWsge1xuICAuZXZlbnQtY2FyZF9fdGl0bGUsXG4gIC5ldmVudC1jYXJkX19kZXRhaWxzLFxuICAuZXZlbnQtY2FyZF9fcm9vbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gIH1cbn1cblxuLmNhbGVuZGFyLS1tb250aCxcbi5jYWxlbmRhcl9fd2VlayB7XG4gIC5ub2RlLS10eXBlLWxjLWNsb3Npbmcge1xuICAgIGJvcmRlcjogM3B4IHNvbGlkIGNvbG9yKHJlZCwgYmFzZSk7XG4gIH1cblxuICAubm9kZS0tdHlwZS1sYy1yZXNlcnZhdGlvbiB7XG4gICAgYm9yZGVyOiAzcHggc29saWQgY29sb3IoZ3JlZW4sIGJhc2UpO1xuICB9XG5cbiAgLmFsbC1kYXkge1xuICAgIGJvcmRlcjogM3B4IHNvbGlkIGNvbG9yKGJsdWUsIGxpZ2h0KTtcbiAgfVxuXG4gIC5wcml2YXRlLWV2ZW50IHtcbiAgICBib3JkZXI6IDNweCBzb2xpZCBjb2xvcihibHVlLCBkYXJrKTtcbiAgfVxuXG4gIC5oYXMtY29uZmxpY3Qge1xuICAgIGJvcmRlcjogM3B4IHNvbGlkIGNvbG9yKHB1cnBsZSwgYmFzZSk7XG4gIH1cbn1cblxuYS5jYWxlbmRhcl9fZGF5LS1jdXJyZW50IHtcbiAgY29sb3I6IGNvbG9yKHdoaXRlLCBiYXNlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZ3JheSwgYmFzZSk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgJGFuaW0tc3RhbmRhcmQgJGFuaW0tc3BlZWQtZmFzdDtcbn1cblxuLyoqXG4gKiBIZWFkZXIgYW5kIHBhZ2VyXG4gKlxuICogVGhlIGhlYWRlciBhbmQgcGFnZXIgdXNlIGZsZXhib3ggdG9cbiAqIGxheW91dCBhbmQgdmVydGljYWxseSBjZW50ZXIgdGhlIGhlYWRlclxuICogaXRlbXMuXG4gKi9cbi5jYWxlbmRhcl9fbW9udGgtcGFnZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiA2MDBweDtcbiAgcGFkZGluZzogJHBhZGRpbmctc20gMDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNhbGVuZGFyX193cmFwLS1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNhbGVuZGFyX193cmFwLS1oZWFkZXIsXG4uY2FsZW5kYXJfX3dyYXAtLXRpdGxlIHtcbiAgZm9udC1zaXplOiAkZm9udC1iLXhzO1xuXG4gIC5jYWxlbmRhcl9fdGl0bGUgaDIge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6ICRmb250LWItc207XG4gIH1cbn1cblxuLmNhbGVuZGFyX193cmFwLS10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2FsZW5kYXJfX3BhZ2VyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcblxuICAmOjpiZWZvcmUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29udGVudDogJyc7XG4gIH1cbn1cblxuLmNhbGVuZGFyX190aXRsZSB7XG4gIG9yZGVyOiAxO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5idXR0b24uY2FsZW5kYXJfX3BhZ2VyLS1sZWZ0LFxuLmJ1dHRvbi5jYWxlbmRhcl9fcGFnZXItLXJpZ2h0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtaW5kZW50OiAxMDAlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihibHVlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmQtc207XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgZWFzZS1pbi1vdXQgLjI1cztcbn1cblxuLmJ1dHRvbi5jYWxlbmRhcl9fcGFnZXItLWxlZnQge1xuICBvcmRlcjogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcjeyRhc3NldC1wYXRofS9pbWFnZXMvcGFnZXItYXJyb3ctcHJldi5zdmcnKTtcbn1cblxuLmJ1dHRvbi5jYWxlbmRhcl9fcGFnZXItLXJpZ2h0IHtcbiAgb3JkZXI6IDI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnI3skYXNzZXQtcGF0aH0vaW1hZ2VzL3BhZ2VyLWFycm93LW5leHQuc3ZnJyk7XG59XG5cblxuLyoqXG4gKiBHcmlkIHN0eWxpbmdcbiAqXG4gKiBUaGUgZ3JpZCBzdHlsaW5nIGZvciB0aGUgc2luZ2xlLWRheSBldmVudFxuICogY2VsbHMgdXNlcyBmbGV4Ym94IGNvbnRhaW5lcnMgZm9yIHRoZSByb3dcbiAqIGFuZCAxLzcgb2YgdGhlIGNvbnRhaW5lciBmb3IgdGhlIHdpZHRoIG9uXG4gKiBlYWNoIGl0ZW0uIFRoZSBmaXJzdCBpdGVtIGluIHRoZSByb3cgaXNcbiAqIGFsd2F5cyB0aGUgbXVsdGktZGF5IGV2ZW50IGNlbGwsIHdoaWNoIGlzIDEwMCVcbiAqIHdpZGUsIGFuZCB1c2VzIGl0J3Mgb3duIGdyaWQgdG8gY29udHJvbFxuICogbGF5b3V0IGZvciBtdWx0aS1kYXkgZXZlbnRzLlxuICovXG4uY2FsZW5kYXJfX3dyYXAtLWdyaWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNkMWQxZDE7XG59XG5cbi5jYWxlbmRhcl9fcm93LS1oZWFkZXIsXG4uY2FsZW5kYXJfX3Jvdy0tY29udGVudCxcbi5jYWxlbmRhcl9fbnVtYmVycyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4uY2FsZW5kYXJfX3Jvdy0tZm9vdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jYWxlbmRhcl9fZGF5LFxuLmNhbGVuZGFyX19kYXktLW51bWJlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDE0LjI4NTcxJTtcbiAgcGFkZGluZzogJHBhZGRpbmcteHM7XG59XG5cbi5jYWxlbmRhcl9fZGF5LS1tdWx0aSB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC5ldmVudC1jYXJkIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCBjb2xvcihibGFjaywgYmFzZSk7XG4gIH1cbn1cblxuLmNhbGVuZGFyX19kYXkge1xuICBtaW4taGVpZ2h0OiAyNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSwgYmFzZSk7XG59XG5cbi5jYWxlbmFyX19kYXktLW51bWJlciB7XG4gIG1pbi1oZWlnaHQ6IDA7XG59XG5cbi5jYWxlbmRhcl9fZGF5LS1oZWFkZXIge1xuICBtaW4taGVpZ2h0OiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jYWxlbmRhcl9fZGF5LS1ibGFuayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2FsZW5kYXJfX3Jvdy0tY29udGVudCAuY2FsZW5kYXJfX2RheS0tYmxhbmsge1xuICBtaW4taGVpZ2h0OiA1cmVtO1xufVxuXG4uY2FsZW5kYXJfX2RheS0tb3V0c2lkZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlLCBkYXJrKTtcbn1cblxuLyoqXG4gKiBDYWxlbmRhciBib3JkZXJzXG4gKlxuICogRXh0ZXJuYWwgYm9yZGVycyBhcmUgd3JhcHBlZCBhcm91bmQgdGhlXG4gKiAuY2FsZW5kYXJfX3dlZWsgZWxlbWVudCwgd2hpbGUgaW50ZXJuYWwgYm9yZGVyc1xuICogYXJlIGFic29sdXRlbHkgcG9zaXRpb25lZCBlbXB0eSBkaXZzLlxuICovXG4uY2FsZW5kYXJfX3dlZWsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiAyNXB4O1xuICBib3JkZXItdG9wOiAycHggc29saWQgI2QxZDFkMTtcbn1cblxuLmNhbGVuZGFyX193ZWVrLS1lbXB0eSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2FsZW5kYXJfX2JhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBjb2xvcjogI2QxZDFkMTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4LCAtMXB4IDAgMCAwO1xuICBvcGFjaXR5OiAuMjU7XG59XG5cbi5jYWxlbmRhcl9fYmFyLS0xIHtcbiAgbGVmdDogMTQuMjg1NzElO1xufVxuXG4uY2FsZW5kYXJfX2Jhci0tMiB7XG4gIGxlZnQ6IDI4LjU3MTQzJTtcbn1cblxuLmNhbGVuZGFyX19iYXItLTMge1xuICBsZWZ0OiA0Mi44NTcxNCU7XG59XG5cbi5jYWxlbmRhcl9fYmFyLS00IHtcbiAgbGVmdDogNTcuMTQyODYlO1xufVxuXG4uY2FsZW5kYXJfX2Jhci0tNSB7XG4gIGxlZnQ6IDcxLjQyODU3JTtcbn1cblxuLmNhbGVuZGFyX19iYXItLTYge1xuICBsZWZ0OiA4NS43MTQyOSU7XG59XG5cbi8qKlxuICogTGluayBvdmVybGF5c1xuICpcbiAqIEVhY2ggZGF5IGluIHRoZSBjYWxlbmRhciBoYXMgYW4gYXNzb2NpYXRlZCBsaXN0IG9mIGRheXNcbiAqIHRoYXQgaXMgc3RvcmVkIGJlbG93IHRoZSBjYWxlbmRhciB0aGF0IGNvbnRhaW5zIG1vcmVcbiAqIGluZm9ybWF0aW9uLiBUbyBhY2Nlc3MgdGhpcyBpbmZvcm1hdGlvbiwgdGhlcmUgYXJlIGxpbmtcbiAqIG92ZXJsYXlzIHBvc2l0aW9uZWQgYWJzb2x1dGVseSBhYm92ZSB0aGUgZGF5IGNlbGxzLlxuICovXG4uY2FsZW5kYXJfX251bWJlcnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5jYWxlbmRhcl9fbnVtYmVyLWRheS0tbXVsdGkge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbn1cblxuLyoqXG4gKiBNdWx0aS1kYXkgZ3JpZHNcbiAqXG4gKiBVbmxpa2UgdGhlIHJlZ3VsYXIgZ3JpZCBjZWxscyBmb3IgdGhlIGNhbGVuZGFyLCB3aGljaFxuICogdXNlIGZsZXhib3gsIHRoZSBtdWx0aS1kYXkgZ3JpZHMgdXNlIFNpbmd1bGFyaXR5IEdTJ3NcbiAqIGZsb2F0IGdyaWQtc3BhbnMgc28gdGhhdCB0aGV5IGNhbiBzdGFydCBhdCBhcmJpdHJhcnlcbiAqIHBvaW50cyB3aXRoaW4gdGhlIGdyaWQuIENsZWFyaW5nIGhhcyB0byBiZSBhcHBsaWVkXG4gKiBtYW51YWxseSB2aWEgYSBjbGVhciBjbGFzcywgYXBwbGllZCB3aGVuIHRoZSB0ZW1wbGF0ZVxuICogaXMgZmlyc3QgZ2VuZXJhdGVkLlxuICovXG4uY2FsZW5kYXJfX2RheS0tbXVsdGkge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcblxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogJyc7XG4gIH1cbn1cblxuLmNhbGVuZGFyX19kYXktc3Bhbi0tMS0xIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxNC4yODU3MSU7XG4gIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBjbGVhcjogbm9uZTtcbn1cblxuLmNhbGVuZGFyX19kYXktc3Bhbi0tMS03IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB3aWR0aDogMTQuMjg1NzElO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBjbGVhcjogbm9uZTtcbn1cblxuLmNhbGVuZGFyX19kYXktc3Bhbi0tMi0xIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyOC41NzE0MyU7XG4gIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBjbGVhcjogbm9uZTtcbn1cblxuLmNhbGVuZGFyX19kYXktc3Bhbi0tMi0yIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyOC41NzE0MyU7XG4gIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAxNC4yODU3MSU7XG4gIGNsZWFyOiBub25lO1xufVxuXG4uY2FsZW5kYXJfX2RheS1zcGFuLS0yLTMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDI4LjU3MTQzJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDI4LjU3MTQzJTtcbiAgY2xlYXI6IG5vbmU7XG59XG5cbi5jYWxlbmRhcl9fZGF5LXNwYW4tLTItNCB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMjguNTcxNDMlO1xuICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICBtYXJnaW4tbGVmdDogNDIuODU3MTQlO1xuICBjbGVhcjogbm9uZTtcbn1cblxuLmNhbGVuZGFyX19kYXktc3Bhbi0tMi01IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyOC41NzE0MyU7XG4gIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gIG1hcmdpbi1sZWZ0OiA1Ny4xNDI4NiU7XG4gIGNsZWFyOiBub25lO1xufVxuXG4uY2FsZW5kYXJfX2RheS1zcGFuLS0yLTYge1xuICBmbG9hdDogcmlnaHQ7XG4gIHdpZHRoOiAyOC41NzE0MyU7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGNsZWFyOiBub25lO1xufVxuXG4uY2FsZW5kYXJfX2RheS1zcGFuLS0zLTEge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDQyLjg1NzE0JTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGNsZWFyOiBub25lO1xufVxuXG4uY2FsZW5kYXJfX2RheS1zcGFuLS0zLTIge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDQyLjg1NzE0JTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDE0LjI4NTcxJTtcbiAgY2xlYXI6IG5vbmU7XG59XG5cbi5jYWxlbmRhcl9fZGF5LXNwYW4tLTMtMyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNDIuODU3MTQlO1xuICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICBtYXJnaW4tbGVmdDogMjguNTcxNDMlO1xuICBjbGVhcjogbm9uZTtcbn1cblxuLmNhbGVuZGFyX19kYXktc3Bhbi0tMy00IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA0Mi44NTcxNCU7XG4gIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gIG1hcmdpbi1sZWZ0OiA0Mi44NTcxNCU7XG4gIGNsZWFyOiBub25lO1xufVxuXG4uY2FsZW5kYXJfX2RheS1zcGFuLS0zLTUge1xuICBmbG9hdDogcmlnaHQ7XG4gIHdpZHRoOiA0Mi44NTcxNCU7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGNsZWFyOiBub25lO1xufVxuXG4uY2FsZW5kYXJfX2RheS1zcGFuLS00LTEge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDU3LjE0Mjg2JTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGNsZWFyOiBub25lO1xufVxuXG4uY2FsZW5kYXJfX2RheS1zcGFuLS00LTIge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDU3LjE0Mjg2JTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDE0LjI4NTcxJTtcbiAgY2xlYXI6IG5vbmU7XG59XG5cbi5jYWxlbmRhcl9fZGF5LXNwYW4tLTQtMyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNTcuMTQyODYlO1xuICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICBtYXJnaW4tbGVmdDogMjguNTcxNDMlO1xuICBjbGVhcjogbm9uZTtcbn1cblxuLmNhbGVuZGFyX19kYXktc3Bhbi0tNC00IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB3aWR0aDogNTcuMTQyODYlO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBjbGVhcjogbm9uZTtcbn1cblxuLmNhbGVuZGFyX19kYXktc3Bhbi0tNS0xIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA3MS40Mjg1NyU7XG4gIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBjbGVhcjogbm9uZTtcbn1cblxuLmNhbGVuZGFyX19kYXktc3Bhbi0tNS0yIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA3MS40Mjg1NyU7XG4gIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAxNC4yODU3MSU7XG4gIGNsZWFyOiBub25lO1xufVxuXG4uY2FsZW5kYXJfX2RheS1zcGFuLS01LTMge1xuICBmbG9hdDogcmlnaHQ7XG4gIHdpZHRoOiA3MS40Mjg1NyU7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGNsZWFyOiBub25lO1xufVxuXG4uY2FsZW5kYXJfX2RheS1zcGFuLS02LTEge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDg1LjcxNDI5JTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGNsZWFyOiBub25lO1xufVxuXG4uY2FsZW5kYXJfX2RheS1zcGFuLS02LTIge1xuICBmbG9hdDogcmlnaHQ7XG4gIHdpZHRoOiA4NS43MTQyOSU7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGNsZWFyOiBub25lO1xufVxuXG4uY2FsZW5kYXJfX2RheS1zcGFuLS03LTEge1xuICBmbG9hdDogcmlnaHQ7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBjbGVhcjogbm9uZTtcbn1cblxuLmNhbGVuZGFyX19kYXktc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2FsZW5kYXJfX2RheS1zcGFuLS1jbGVhciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4vKipcbiAqIENhbGVuZGFyIExpc3QgU3R5bGluZ1xuICpcbiAqIEluIGFkZGl0aW9uIHRvIHRoZSAzMC1kYXkgZ3JpZCwgdGhlcmUncyBhIGxpc3Qgdmlld1xuICogZm9yIGVhc2llciB1c2FnZSBvbiBtb2JpbGUgdGhhdCBhcHBlYXJzIGJlbG93IHRoZVxuICogbm9ybWFsIDMwLWRheSBjYWxlbmRhci4gSXQncyBicm91Z2h0IHVwIGEgZml4ZWRcbiAqIHBvc2l0aW9uIHdoZW5ldmVyIHRoZSB1c2VyIHRvdWNoZXMgaXQncyBhc3NvY2lhdGVkXG4gKiBkYXkgb24gdGhlIGNhbGVuZGFyIGdyaWQuXG4gKi9cbi5jYWxlbmRhcl9fZGF5LWhlYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jYWxlbmRhcl9fbW9iaWxlLWxpc3Qge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjk1KTtcbiAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2UtaW4tb3V0O1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuXG4gICYubGlzdCB7XG4gICAgei1pbmRleDogNTA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuXG4gIC5ldmVudC1jYXJkLS1zcGFyc2Uge1xuICAgIC50aW1lLS1lbmQsXG4gICAgLnRpbWUtLXNlcGFyYXRvciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICBjbGlwOiBhdXRvO1xuICAgIH1cblxuICAgIC50aW1lLS1zdGFydCAuZXZlbnQtY2FyZF9fZGF5LS1pbmxpbmUsXG4gICAgLnRpbWUtLXN0YXJ0IC5ldmVudC1jYXJkX19zZXBhcmF0b3Ige1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgY2xpcDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuXG4uY2FsZW5kYXJfX2xpc3QsXG4uY2FsZW5kYXJfX2xpc3QtaXRlbSxcbi5jYWxlbmRhcl9fbGlzdC0tZGF5LFxuLmNhbGVuZGFyX19saXN0LWl0ZW0tLWRheSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4uY2FsZW5kYXJfX2xpc3QtaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBwYWRkaW5nOiAxNXB4IDA7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZDFkMWQxO1xufVxuXG4uY2FsZW5kYXJfX2xpc3QtdGl0bGUge1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAkZm9udC1iLXhzO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jYWxlbmRhcl9fbGlzdC0tZGF5IHtcbiAgZmxleC1ncm93OiAxO1xufVxuXG4ua2lkcyB7XG4gIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmJkMGE7XG4gIGJvcmRlci1jb2xvcjogI2UxOWYwMDtcblxuICBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzRhYWNhMjtcbiAgfVxuXG4gIGgyLFxuICBoMyxcbiAgaDQge1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gIH1cbn1cblxuLnRlZW5zIHtcbiAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNkNDI0NjtcbiAgYm9yZGVyLWNvbG9yOiAjMWYyNDI4O1xuXG4gIGgyLFxuICBoMyxcbiAgaDQge1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gIH1cbn1cblxuLmFkdWx0IHtcbiAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRhYWNhMjtcbiAgYm9yZGVyLWNvbG9yOiAjMmM4ZTg0O1xuICBoMixcbiAgaDMsXG4gIGg0IHtcbiAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICB9XG5cbiAgYSB7XG4gICAgY29sb3I6ICM1N2I3ZGY7XG5cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgY29sb3I6ICNmZmJkMGE7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIE1vbnRobHkgTmF2aWdhdGlvblxuLmNhbGVuZGFyLXBpY2tlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jYWxlbmRhci1waWNrZXItdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDIwO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhbGVuZGFyLXBpY2tlci1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogYXV0bztcbiAgb3BhY2l0eTogMDtcblxuICAuY2FsZW5kYXItcGlja2VyLmFjdGl2ZSAmIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBlYXNlLWluLW91dCAuMjVzLCBvcGFjaXR5IGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxufVxuXG4vLyBOYXZpZ2F0aW9uIHRhYnMuXG4uY2FsZW5kYXJfX21lbnUtdGFza3Mge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLmxjLWV2ZW50X19ldmVudC1kZXRhaWxzIGgzIHtcbiAgZm9udC1zaXplOiAxMXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5sYy1ldmVudF9fbGluayB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5sYy1ldmVudF9fZGF0ZSB7XG4gIGZvbnQtc2l6ZTogOXB4O1xufVxuXG4ubGMtZXZlbnQuZGVza3RvcC1oaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmxjLWV2ZW50X19rZXkge1xuICBmb250LXNpemU6IDlweDtcbn1cbiIsIi5hbm5vdW5jZW1lbnQge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLmxjLWV2ZW50LWFjdGlvbnMsXG4ubGMtZXZlbnRfX21vbnRoLWRldGFpbHMsXG4ubGMtZXZlbnRfX3JlZ2lzdHJhdGlvbi1saXN0LFxuLmxjLXJlcGVhdGluZy1kYXRlc19fdG9nZ2xlLWljb24sXG4ubGMtcmVwZWF0aW5nLWRhdGVzLFxuLmxjLWV2ZW50LWxvY2F0aW9uLW1hcCxcbi5sYy1ldmVudC1icmFuY2gtaW1hZ2UsXG4uc2Nyb2xsLWluZm8sXG4udG9vbHRpcCxcbi5sYy1ldmVudC1yZWdpc3RyYW50LWxpc3QtdGl0bGUsXG4ubGMtZXZlbnQtbG9jYXRpb25fX2VtYWlsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRvb2x0aXAge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8vIEZvbnQgc2l6ZXMuXG4ubGMtZXZlbnRfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICBwLFxuICAubGMtbWVzc2FnZXMsXG4gIC5sYy1ldmVudF9fY2F0ZWdvcmllcyxcbiAgLmxjLWV2ZW50LWluZm8sXG4gIC5sYy1ldmVudC1sb2NhdGlvbl9fYWRkcmVzcyxcbiAgLmxjLWV2ZW50X19pbmZvLWl0ZW0ge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgfVxufVxuXG4ubGMtYWRkcmVzc19fbmFtZSxcbi5sYy1ldmVudF9fc3VidGl0bGUge1xuICBmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcbn1cblxuaDMubGMtZXZlbnRfX3N1YnRpdGxlLmxjLWFkZHJlc3NfX25hbWUge1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLy8gRmlyc3QgU2lkZWJhci5cbi5sYy1ldmVudF9fc2lkZWJhci0tZmlyc3Qge1xuICB3aWR0aDogMjUlO1xufVxuXG4ubGMtcmVwZWF0aW5nLWRhdGVzX190b2dnbGUge1xuICB3aWR0aDogaW5oZXJpdDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5sYy1yZXBlYXRpbmctZGF0ZXNfX3dyYXBwZXIge1xuICBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5sYy1yZXBlYXRpbmctZGF0ZXNfX2xpc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IGluaGVyaXQ7XG59XG5cbi5sYy1yZXBlYXRpbmctZGF0ZXNfX2xpbmsge1xuICBwYWRkaW5nOiAycHggMCAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ubGMtcmVwZWF0aW5nLWRhdGVzX19pdGVtIHtcbiAgd2lkdGg6IGluaGVyaXQ7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8gQ29udGVudCBhcmVhLlxuLmxjLWV2ZW50X19jb250ZW50IHtcbiAgd2lkdGg6IDc1JTtcblxuICAubGMtZm9ybSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ubGMtbWVzc2FnZXMsXG4ubGMtbWVzc2FnZXNfX21lc3NhZ2Uge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuXG4ubGMtcHJpbnQtcm93IHtcbiAgQGluY2x1ZGUgbWFrZS1yb3coKTtcbn1cblxuLmxjLXByaW50LWNvbHVtbiB7XG4gIEBpbmNsdWRlIG1ha2UtY29sLXJlYWR5KCk7XG4gIEBpbmNsdWRlIG1ha2UtY29sKDYpO1xufVxuXG4ubGMtZXZlbnQtd3JhcHBlciB7XG4gIC5sYy1ldmVudC1zaWRlYmFyLFxuICAubGMtZXZlbnQtY29udGVudCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb2woMTIpO1xuICB9XG59XG5cbi5sYy1ldmVudF9fY2F0ZWdvcmllcyB7XG4gIG1hcmdpbi1ib3R0b206ICRwYWRkaW5nLXNtO1xufVxuXG4ubGMtbWVzc2FnZXMge1xuICBtYXJnaW4tYm90dG9tOiAkcGFkZGluZy1zbTtcbn1cbiIsIi5sYy1mb3JtX19oZWFkZXIsXG4ubGMtZm9ybV9fZmlsdGVycyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvLyBSZWdpc3RyYXRpb24gUHJpbnQgUGFnZSBTdHlsaW5nLlxuLmxjLXJlZ2lzdHJhdGlvbi1saXN0IHtcbiAgLml0ZW0tbGlzdCBsaSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhZGRpbmcteHM7XG4gIH1cblxuICAucmVnaXN0cmF0aW9uX19pdGVtcyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFkZGluZy14cztcbiAgICBmb250LXNpemU6IDEwcHg7XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRwYWRkaW5nLXhzO1xuICAgIH1cbiAgfVxuXG4gIC5yZWdpc3RyYXRpb25fX2l0ZW1zLS1jb250YWN0LWluZm8ge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLW1kO1xuICB9XG5cbiAgLnJlZ2lzdHJhdGlvbl9faXRlbXMtLXJlZ2lzdHJhbnQtaW5mbyB7XG4gICAgcGFkZGluZzogMCAkcGFkZGluZy1zbTtcbiAgfVxuXG4gIC5yZWdpc3RyYXRpb25fX2l0ZW1zLS1ldmVudC1pbmZvIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nLW1kO1xuICB9XG5cbiAgLnJlZ2lzdHJhdGlvbl9faXRlbXMtLXNwZWNpYWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLnJlZ2lzdHJhdGlvbi1pdGVtLS1uYW1lIHtcbiAgICBmb250LXNpemU6ICRmb250LWIteHM7XG4gIH1cbn1cblxuLmxjLXJlZ2lzdHJhdGlvbi1wcmludC1idG4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCIuYnV0dG9uX19wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnZpZXctZmlsdGVycyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5yZWdpb24taGlnaGxpZ2h0ZWQge1xuICBkaXNwbGF5OiBub25lO1xufVxuIl19 */
