/*! Flickity v2.2.2
https://flickity.metafizzy.co
---------------------------------------------- */

.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus { outline: none; }

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* draggable */

.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

/* ---- flickity-button ---- */

.flickity-button {
  position: absolute;
  background: hsla(0, 0%, 100%, 0.75);
  border: none;
  color: #333;
}

.flickity-button:hover {
  background: white;
  cursor: pointer;
}

.flickity-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #19F;
}

.flickity-button:active {
  opacity: 0.6;
}

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}

.flickity-button-icon {
  fill: currentColor;
}

/* ---- previous/next buttons ---- */

.flickity-prev-next-button {
  top: 50%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  /* vertically center */
  transform: translateY(-50%);
}

.flickity-prev-next-button.previous { left: 10px; }

.flickity-prev-next-button.next { right: 10px; }

/* right to left */

.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px;
}

.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px;
}

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}

/* ---- page dots ---- */

.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}

.flickity-rtl .flickity-page-dots { direction: rtl; }

.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: #333;
  border-radius: 50%;
  opacity: 0.25;
  cursor: pointer;
}

.flickity-page-dots .dot.is-selected {
  opacity: 1;
}

:root {
  --uc-listingCard-padding--sm: 8px;
  --uc-listingCard-padding: 10px;
  --uc-listingCard-contentPadding: 20px;

  --uc-listingCard-fontSize--sm: 12px;
  --uc-listingCard-fontSize--md: 13px;
  --uc-listingCard-fontSize--lg: 14px;
  --uc-listingCard-fontSize--xlg: 16px;

  --uc-listingCard-lineHeight--xsm: 14px;
  --uc-listingCard-lineHeight--sm: 15px;
  --uc-listingCard-lineHeight--md: 14px;
  --uc-listingCard-lineHeight--lg: 14px;
  --uc-listingCard-lineHeight--xlg: 16px;

  --uc-listingCard-imageWidth--xs: 114px;
  --uc-listingCard-imageHeight--xs: 89px;
  --uc-listingCard-imageWidth--sm: 100px;
  --uc-listingCard-imageHeight--sm: 77px;
  --uc-listingCard-imageWidth--lg: 130px;
  --uc-listingCard-imageHeight--lg: 100px;
  --uc-listingCard-borderColor: #DADADA;
  --uc-listingCard-borderColor: #DADADA;
  --uc-listingCard-borderColor: var(--cx-color-border);

  --uc-listingCard-primaryTextColor: #171717;

  --uc-listingCard-primaryTextColor: #171717;

  --uc-listingCard-primaryTextColor: var(--cx-color-text);
  --uc-listingCard-secondaryTextColor: #6C6C6C;
  --uc-listingCard-secondaryTextColor: #6C6C6C;
  --uc-listingCard-secondaryTextColor: var(--cx-color-textSubtle);
  --uc-listingCard-statDividerColor: #8D8D8D;
  --uc-listingCard-statDividerColor: #8D8D8D;
  --uc-listingCard-statDividerColor: var(--cx-color-grey70);

  /**
   * TODO: Refactor these variables out so they exist in the listing component and re-imported here
   * once the listing component is available as a dependency.
   */
  --listing-badges-incentivesColor: #3AAC6F;
  --listing-badges-incentivesColor: #3AAC6F;
  --listing-badges-incentivesColor: var(--cx-color-success);
  --listing-badges-activeStatusColor: #2A7E51;
  --listing-badges-activeStatusColor: #2A7E51;
  --listing-badges-activeStatusColor: var(--cx-color-green90);
  --listing-badges-virtualOpenHouseBadgeColor: #037A82;
  --listing-badges-virtualOpenHouseBadgeColor: #037A82;
  --listing-badges-virtualOpenHouseBadgeColor: var(--cx-color-teal100);
  --listing-badges-virtualTourTextColor: #037A82;
  --listing-badges-virtualTourTextColor: #037A82;
  --listing-badges-virtualTourTextColor: var(--cx-color-teal100);
  --listing-badges-virtualTourBadgeColor: #DDF7F9;
  --listing-badges-virtualTourBadgeColor: #DDF7F9;
  --listing-badges-virtualTourBadgeColor: var(--cx-color-teal30);
  --listing-badges-pendingStatusColor: #FFF7DF;
  --listing-badges-pendingStatusColor: #FFF7DF;
  --listing-badges-pendingStatusColor: var(--cx-color-faintHighlight);
  --listing-badges-offMarketStatusColor: #AE0917;
  --listing-badges-offMarketStatusColor: #AE0917;
  --listing-badges-offMarketStatusColor: var(--cx-color-critical);
  --listing-badges-compassExclusiveBadgeColor: #000000;
  --listing-badges-compassExclusiveBadgeColor: #000000;
  --listing-badges-compassExclusiveBadgeColor: var(--cx-color-black);
  --listing-badges-soldColor: #DDF7F9;
  --listing-badges-soldColor: #DDF7F9;
  --listing-badges-soldColor: var(--cx-color-teal30);
  --listing-badges-nonCompassSourceColor: #DADADA;
  --listing-badges-nonCompassSourceColor: #DADADA;
  --listing-badges-nonCompassSourceColor: var(--cx-color-border);
  --listing-badges-comingSoonColor: #FFFFFF;
  --listing-badges-comingSoonColor: #FFFFFF;
  --listing-badges-comingSoonColor: var(--cx-color-background);
  --listing-badges-newListingColor: #2A7E51;
  --listing-badges-newListingColor: #2A7E51;
  --listing-badges-newListingColor: var(--cx-color-green90);
  --listing-badges-priceChangeColor: #FFF7DF;
  --listing-badges-priceChangeColor: #FFF7DF;
  --listing-badges-priceChangeColor: var(--cx-color-faintHighlight);
}

/**
 * Listing Card
 *
 * Our standard listing card component. Builds off of c0-card.
 * Can have clickable image and title text.
 *
 * .uc-listingCard--clickable - Enables clickable image/title text
 *
 * Markup: <uc-listing-card size="sm">...</uc-listing-card>
 *
 * It can have the attribute size set to either 'md', 'sm' or 'xs.
 * If size is not set, 'md' is taken as the default size.
 * In case of size = 'md' .uc-listingCard styles are used whereas
 * in case of size = 'sm' styles have a parent selector of .uc-listingCard--sm.
 * in case of size = 'xs' styles have a parent selector of .uc-listingCard--xs.
 */

.uc-listingCard {
  display: inline-flex;
  flex-direction: column;
  position: relative;
  border: 1px solid #DADADA;
  border: 1px solid #DADADA;
  border: 1px solid var(--uc-listingCard-borderColor);
  border-radius: 2px;
  border-radius: 2px;
  border-radius: var(--cx-borderRadius);
  background-color: #FFFFFF;
  background-color: #FFFFFF;
  background-color: var(--cx-color-background);
}

@media (hover: hover) {
  .uc-listingCard:hover:after {
    content: '';
    display: block;
    position: absolute;
    top: -1px;
    right: -1px;
    bottom: -1px;
    left: -1px;
    border: solid 1px #8D8D8D;
    border: solid 1px #8D8D8D;
    border: solid 1px var(--cx-color-grey70);
    border-radius: 3px;
    border-radius: 3px;
    border-radius: calc(var(--cx-borderRadius) + 1px);
    pointer-events: none;
    z-index: 100;
    z-index: 100;
    z-index: var(--cx-zIndex-1);
  }

  .uc-listingCard:hover {
    border: 1px solid #FFFFFF;
    border: 1px solid #FFFFFF;
    border: 1px solid var(--cx-color-white);
  }
}

.uc-listingCard:focus-within:after {
  content: '';
  display: block;
  position: absolute;
  top: -1px;
  right: -1px;
  bottom: -1px;
  left: -1px;
  border: solid 1px #8D8D8D;
  border: solid 1px #8D8D8D;
  border: solid 1px var(--cx-color-grey70);
  border-radius: 3px;
  border-radius: 3px;
  border-radius: calc(var(--cx-borderRadius) + 1px);
  pointer-events: none;
  z-index: 100;
  z-index: 100;
  z-index: var(--cx-zIndex-1);
}

.uc-listingCard:focus-within {
  border: 1px solid #FFFFFF;
  border: 1px solid #FFFFFF;
  border: 1px solid var(--cx-color-white);
}

.uc-listingCard-content {
  display: flex;
  flex-direction: column;
  padding: 10px 20px;
  padding: 10px 20px;
  padding: var(--uc-listingCard-padding) var(--uc-listingCard-contentPadding);
  flex-grow: 1;
  order: 2;
  cursor: pointer;
}

.uc-listingCard-body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  width: 100%;
  /* Removes default underline on link */
  text-decoration: none;
}

/* Used to work around a known bug between Firefox and flexbox. Using a wrapper div with
 * display:block set ensures our background-image's padding ratio trick works as intended.
 */

.uc-listingCard-firefoxFix {
  display: block;
  position: relative;
}

.uc-listingCard-carousel {
  position: absolute;
  top: 0;
  width: 100%;
  padding-bottom: 75%; /* This forces a 4:3 aspect ratio */
  overflow: hidden;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch; /* make scrolling smooth on iOS */
  z-index: 1; /* make sure it is on top of the staticly displayed image */
}

.uc-listingCard-carousel.flickity-enabled {
  position: absolute; /* Ensures .flicktiy-enabled doesn't reset the position back to relative */
}

/* viewport inherit size from carousel */

.uc-listingCard-carousel .flickity-viewport {
  position: absolute;
  width: 100%;
}

.uc-listingCard--sm .uc-listingCard-carousel {
  float: left;
  width: 120px;
  width: 120px;
  width: calc(var(--uc-listingCard-imageWidth--sm) + var(--uc-listingCard-padding)*2);
  height: 97px;
  height: 97px;
  height: calc(var(--uc-listingCard-imageHeight--sm) + var(--uc-listingCard-padding)*2);
}

@media (min-width: 512px) {

.uc-listingCard--sm .uc-listingCard-carousel {
    width: 150px;
    width: 150px;
    width: calc(var(--uc-listingCard-imageWidth--lg) + var(--uc-listingCard-padding)*2);
    height: 120px;
    height: 120px;
    height: calc(var(--uc-listingCard-imageHeight--lg) + var(--uc-listingCard-padding)*2)
}
  }

.uc-listingCard-carouselCell.is-selected {
  opacity: 1;
}

.uc-listingCard-title {
  margin-top: 0;
  margin-bottom: 5px;
  font-size: 16px;
  line-height: 18px;
  color: #171717;
  color: #171717;
  color: var(--cx-color-text);
  text-decoration: none;

  font-family: "Compass Sans", Helvetica, Arial, sans-serif;

  font-family: "Compass Sans", Helvetica, Arial, sans-serif;

  font-family: var(--font-familySans, "Compass Sans", Helvetica, Arial, sans-serif);

  font-weight: 500;

  font-weight: 500;

  font-weight: var(--font-weightMedium, 500);

  font-style: normal;
}

.uc-listingCard-subtitle {
  flex-grow: 1;
  margin-top: 0;
  font-size: 12px;
  line-height: 15px;
  color: #6C6C6C;
  color: #6C6C6C;
  color: var(--cx-color-textSubtle);
  letter-spacing: 0.5px;

  font-family: "Open Sans", Helvetica, Arial, sans-serif;

  font-family: "Open Sans", Helvetica, Arial, sans-serif;

  font-family: var(--font-familyLegible, "Open Sans", Helvetica, Arial, sans-serif);

  font-weight: 400;

  font-weight: 400;

  font-weight: var(--font-weightRegular, 400);

  font-style: normal;

  -webkit-font-smoothing: auto;

  -moz-osx-font-smoothing: auto;

  font-smoothing: auto;
}

.uc-listingCard-image {
  display: inline-block;
  position: relative;
  margin: 0;
  width: 100%;
  border-top-right-radius: 2px;
  border-top-right-radius: 2px;
  border-top-right-radius: var(--cx-borderRadius);
  border-top-left-radius: 2px;
  border-top-left-radius: 2px;
  border-top-left-radius: var(--cx-borderRadius);
  padding-bottom: 75%; /* This forces a 4:3 aspect ratio */
  background-color: var(--cx-color-backgroundContainerAccent);
  background-color: var(--cx-color-backgroundContainerAccent);
  background-color: var(--cx-color-backgroundContainerAccent);
  background-color: var(--cx-color-backgroundContainerAccent);
  cursor: pointer;
}

/* Floorplans and other images with white backgrounds don't look so good overlaid over the borders.
 * Applying this class undoes it and insets the image.
 *
 * The bottom needs a negative margin so that the text below the image still lines up with the other
 * listing cards.
 */

.uc-listingCard-image--inset {
  margin: 0 0 -1px 0;
  width: 100%;
}

.uc-listingCard--clickable .uc-listingCard-image,
.uc-listingCard--clickable .uc-listingCard-title {
  cursor: pointer;
}

/**
 * If onListingClick is an empty string,
 * the app maker's intention is to do nothing when the card is clicked.
 * To avoid confusion due to cursor: pointer, the cursor is set to default.
*/

.uc-listingCard--unclickable .uc-listingCard-image,
.uc-listingCard--unclickable .uc-listingCard-title {
  cursor: default;
}

/* Remove flicker that occurs when Flickity and the div
  containing it are rebuilt frequently. The flicker occurs
  only for cases where the images are <a> tags and not <img>
  tags. */

.uc-listingCard-imageFlickerFix {
  background-color: transparent;
}

.uc-listingCard-heroImage {
  background-position: center center;
  background-size: cover;
}

.uc-listingCard-cornerBoxContainer {
  position: absolute;
  top: 10px;
  top: 10px;
  top: var(--uc-listingCard-padding);
  left: 10px;
  left: 10px;
  left: var(--uc-listingCard-padding);
  width: calc(100% - 50px);
}

.uc-listingCard-cornerBox {
  display: inline-block;
  position: relative;
  border: 1px solid transparent;
  padding: 3px 8px;
  margin-right: 10px;
  margin-right: 10px;
  margin-right: var(--uc-listingCard-padding);
  border-radius: 2px;
  border-radius: 2px;
  border-radius: var(--cx-borderRadius);
  text-overflow: ellipsis;
  overflow-x: hidden;
  font-size: 12px;
  font-size: 12px;
  font-size: var(--uc-listingCard-fontSize--sm);
  line-height: 10px;
  color: #FFFFFF;
  color: #FFFFFF;
  color: var(--colorIntent-textBrightBackgroundDark);
  text-transform: uppercase;
  z-index: 100;
  z-index: 100;
  z-index: var(--cx-zIndex-1);

  font-family: "Compass Sans", Helvetica, Arial, sans-serif;

  font-family: "Compass Sans", Helvetica, Arial, sans-serif;

  font-family: var(--font-familySans, "Compass Sans", Helvetica, Arial, sans-serif);

  font-weight: 700;

  font-weight: 700;

  font-weight: var(--font-weightBold, 700);

  font-style: normal;
}

.uc-listingCard-cornerBox--active {
  color: #FFFFFF;
  color: #FFFFFF;
  color: var(--colorIntent-textBrightBackgroundDark);
  background-color: #2A7E51;
  background-color: #2A7E51;
  background-color: var(--listing-badges-activeStatusColor);
}

.uc-listingCard-cornerBox--pending {
  border: 1px solid #DADADA;
  border: 1px solid #DADADA;
  border: 1px solid var(--cx-color-border);
  color: #9A4B0F;
  color: #9A4B0F;
  color: var(--colorIntent-divergent122);
  background-color: #FFF7DF;
  background-color: #FFF7DF;
  background-color: var(--listing-badges-pendingStatusColor);
}

.uc-listingCard-cornerBox--offMarket {
  color: #FFFFFF;
  color: #FFFFFF;
  color: var(--colorIntent-textBrightBackgroundDark);
  background-color: #AE0917;
  background-color: #AE0917;
  background-color: var(--listing-badges-offMarketStatusColor);
}

.uc-listingCard-cornerBox--sold {
  border: 1px solid #DADADA;
  border: 1px solid #DADADA;
  border: 1px solid var(--cx-color-border);
  color: #037A82;
  color: #037A82;
  color: var(--cx-color-teal100);
  background-color: #DDF7F9;
  background-color: #DDF7F9;
  background-color: var(--listing-badges-soldColor);
}

.uc-listingCard-cornerBox--compassExclusive {
  color: #FFFFFF;
  color: #FFFFFF;
  color: var(--colorIntent-textBrightBackgroundDark);
  background-color: #000000;
  background-color: #000000;
  background-color: var(--listing-badges-compassExclusiveBadgeColor);
}

.uc-listingCard-cornerBox--nonCompassSource {
  color: #171717;
  color: #171717;
  color: var(--colorIntent-textBody);
  background-color: #DADADA;
  background-color: #DADADA;
  background-color: var(--listing-badges-nonCompassSourceColor);
}

.uc-listingCard-cornerBox--comingSoon {
  border: 1px solid #DADADA;
  border: 1px solid #DADADA;
  border: 1px solid var(--cx-color-border);
  color: #171717;
  color: #171717;
  color: var(--cx-color-text);
  background-color: #FFFFFF;
  background-color: #FFFFFF;
  background-color: var(--listing-badges-comingSoonColor);
}

.uc-listingCard-cornerBox--openHouse {
  color: #FFFFFF;
  color: #FFFFFF;
  color: var(--colorIntent-textBrightBackgroundDark);
  background-color: #2A7E51;
  background-color: #2A7E51;
  background-color: var(--listing-badges-activeStatusColor);
}

.uc-listingCard-cornerBox--virtualOpenHouse {
  color: #FFFFFF;
  color: #FFFFFF;
  color: var(--colorIntent-textBrightBackgroundDark);
  background-color: #037A82;
  background-color: #037A82;
  background-color: var(--listing-badges-virtualOpenHouseBadgeColor);
}

.uc-listingCard-cornerBox--virtualTour {
  color: #037A82;
  color: #037A82;
  color: var(--listing-badges-virtualTourTextColor);
  background-color: #DDF7F9;
  background-color: #DDF7F9;
  background-color: var(--listing-badges-virtualTourBadgeColor);
}

.uc-listingCard-cornerBox--newListing {
  color: #FFFFFF;
  color: #FFFFFF;
  color: var(--colorIntent-textBrightBackgroundDark);
  background-color: #2A7E51;
  background-color: #2A7E51;
  background-color: var(--listing-badges-newListingColor);
}

.uc-listingCard-cornerBox--priceChange {
  border: 1px solid #DADADA;
  border: 1px solid #DADADA;
  border: 1px solid var(--cx-color-border);
  color: #000000;
  color: #000000;
  color: var(--cx-color-black);
  background-color: #FFF7DF;
  background-color: #FFF7DF;
  background-color: var(--listing-badges-priceChangeColor);
}

/* Overwrites position relative set by cx-checkboxField */

.uc-listingCard-checkbox.cx-checkboxField,
.uc-listingCard-removeBtn {
  position: absolute;
  top: 7px;
  top: 7px;
  top: calc(var(--uc-listingCard-padding) - 3px); /* To align with title */
  right: 10px;
  right: 10px;
  right: var(--uc-listingCard-padding);
  z-index: 100;
  z-index: 100;
  z-index: var(--cx-zIndex-1); /* Puts this on top of images */
}

/* Overwrites position relative set by cx-checkboxField */

.uc-listingCard-removeBtn {
  display: none;
  padding: 4px 6px;
  border-radius: 50%;
}

@media (hover: hover) {
  .uc-listingCard:hover .uc-listingCard-removeBtn {
    display: block;
  }
}

.uc-listingCard:focus-within .uc-listingCard-removeBtn {
  display: block;
}

/* The icon is a 16x16px icon but design wants a special override for this case */

.uc-listingCard-removeIcon {
  /*
    This is modified from buttons.css and is needed to center the icon vertically

    Also note: using 1.25em instead of the actual line height because of a Chrome rounding error.
    Math is hard... apparently.
   */
  margin: calc(0.625em - 7px) 0;
  width: 14px;
  height: 14px;
}

.uc-listingCard--sm .uc-listingCard-checkbox,
.uc-listingCard--sm .uc-listingCard-removeBtn {
  float: right;
  position: relative;
  top: 7px;
  top: 7px;
  top: calc(var(--uc-listingCard-padding) - 3px); /* To align checkbox with title */
  right: 10px;
  right: 10px;
  right: var(--uc-listingCard-padding);
}

.uc-listingCard--xs .uc-listingCard-checkbox,
.uc-listingCard--xs .uc-listingCard-removeBtn {
  float: right;
  position: relative;
  top: 5px;
  top: 5px;
  top: calc(var(--uc-listingCard-padding--sm) - 3px); /* To align checkbox with title */
  right: 8px;
  right: 8px;
  right: var(--uc-listingCard-padding--sm);
}

.uc-listingCard--sm .uc-listingCard-removeBtn {
  right: 7px;
  right: 7px;
  right: calc(var(--uc-listingCard-padding) - 3px); /* Alignment per designer request */
}

.uc-listingCard-complianceImg {
  position: absolute;
  right: 10px;
  right: 10px;
  right: var(--uc-listingCard-padding);
  bottom: 10px;
  bottom: 10px;
  bottom: var(--uc-listingCard-padding);
  width: 60px;
  height: 18px;
  z-index: 300;
  z-index: 300;
  z-index: var(--cx-zIndex-3);
  overflow: hidden;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.uc-listingCard--xs .uc-listingCard-complianceImg, .uc-listingCard--sm .uc-listingCard-complianceImg {
    bottom: 4px;
  }

.uc-listingCard-complianceImgWithCaption {
  top: -50px;
}

.uc-listingCard--xs .uc-listingCard-complianceImgWithCaption, .uc-listingCard--sm .uc-listingCard-complianceImgWithCaption {
    top: initial;
  }

/**
 * This caption wrapper follows the sizing of the image and houses the caption.
 * In the listing card with size = 'md', the caption is absolutely positioned and sticks to
 * bottom and order property is used on the caption to place it before the card content.
*/

.uc-listingCard-captionWrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  margin-top: 75%;
}

.uc-listingCard-caption {
  position: absolute;
  bottom: 0;
  padding: 5px 15px;
  order: 1;
  width: 100%;
  z-index: 100;
  z-index: 100;
  z-index: var(--cx-zIndex-1);
  font-size: 12px;
  font-size: 12px;
  font-size: var(--uc-listingCard-fontSize--sm);
  line-height: 15px;
  line-height: 15px;
  line-height: var(--uc-listingCard-lineHeight--sm);
  background-color: rgba(0, 0, 0, 0.25);
  background-color: rgba(0, 0, 0, 0.25);
  background-color: var(--colorIntent-backdrop);
  color: #FFFFFF;
  color: #FFFFFF;
  color: var(--colorIntent-textBrightBackgroundDark);

  font-family: "Open Sans", Helvetica, Arial, sans-serif;

  font-family: "Open Sans", Helvetica, Arial, sans-serif;

  font-family: var(--font-familyLegible, "Open Sans", Helvetica, Arial, sans-serif);

  font-weight: 400;

  font-weight: 400;

  font-weight: var(--font-weightRegular, 400);

  font-style: normal;

  -webkit-font-smoothing: auto;

  -moz-osx-font-smoothing: auto;

  font-smoothing: auto;
}

.uc-listingCard-captionIcon {
  width: 14px;
  height: 14px;
  fill: #FFFFFF;
  fill: #FFFFFF;
  fill: var(--colorIntent-textBrightBackgroundDark);
}

.uc-listingCard-captionText {
  display: inline;
  vertical-align: top;
}

.uc-listingCard-mainStats {
  position: relative;
  margin-top: 4px;
  color: #171717;
  color: #171717;
  color: var(--uc-listingCard-primaryTextColor);
  font-size: 16px;
  font-size: 16px;
  font-size: var(--uc-listingCard-fontSize--xlg);
  line-height: 16px;
  line-height: 16px;
  line-height: var(--uc-listingCard-lineHeight--xlg);

  font-family: "Compass Sans", Helvetica, Arial, sans-serif;

  font-family: "Compass Sans", Helvetica, Arial, sans-serif;

  font-family: var(--font-familySans, "Compass Sans", Helvetica, Arial, sans-serif);

  font-weight: 400;

  font-weight: 400;

  font-weight: var(--font-weightRegular, 400);

  font-style: normal;
}

/* Sub stats should only ever display one line of text. Anything beyond that should get hidden. */

.uc-listingCard-subStats {
  position: relative;
  /* set height to hide any wrapped sub-items */
  height: 25px;
  height: 25px;
  height: calc(var(--uc-listingCard-lineHeight--sm) + var(--uc-listingCard-padding));
  padding-top: 10px;
  padding-top: 10px;
  padding-top: var(--uc-listingCard-padding);
  color: #171717;
  color: #171717;
  color: var(--uc-listingCard-primaryTextColor);
  /* set overflow to hide any wrapped sub-items */
  white-space: nowrap;
  overflow: hidden;
  font-size: 12px;
  font-size: 12px;
  font-size: var(--uc-listingCard-fontSize--sm);
  line-height: 15px;
  line-height: 15px;
  line-height: var(--uc-listingCard-lineHeight--sm);

  font-family: "Open Sans", Helvetica, Arial, sans-serif;

  font-family: "Open Sans", Helvetica, Arial, sans-serif;

  font-family: var(--font-familyLegible, "Open Sans", Helvetica, Arial, sans-serif);

  font-weight: 400;

  font-weight: 400;

  font-weight: var(--font-weightRegular, 400);

  font-style: normal;

  -webkit-font-smoothing: auto;

  -moz-osx-font-smoothing: auto;

  font-smoothing: auto;
}

.uc-listingCard-subStat {
  display: inline-block;
  position: relative;
  padding: 0 10px;
  padding: 0 10px;
  padding: 0 var(--uc-listingCard-padding);
  white-space: nowrap;
}

/**
 * We want complete control over the height of the dividers between substats, so we're rendering a
 * pseudo element and drawing the border on that instead of on the element itself.
 */

.uc-listingCard-subStat:after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 3px;
  right: 0;
  bottom: 2px;
  border-right: 1px solid #8D8D8D;
  border-right: 1px solid #8D8D8D;
  border-right: 1px solid var(--uc-listingCard-statDividerColor);
  vertical-align: middle;
}

.uc-listingCard-subStat:last-child:after {
  display: none;
}

.uc-listingCard-subStat:first-child {
  padding-left: 0;
}

.uc-listingCard-subStat--sqFt:before {
  content: '~';
  font-family: "Compass Sans", Helvetica, Arial, sans-serif;
  font-family: "Compass Sans", Helvetica, Arial, sans-serif;
  font-family: var(--font-familySans, "Compass Sans", Helvetica, Arial, sans-serif);
  font-weight: 400;
  font-weight: 400;
  font-weight: var(--font-weightRegular, 400);
  font-style: normal;
}

.uc-listingCard-imagePlaceholderIcon {
  position: absolute;
  top: 25%;
  left: 25%;
  width: 50%;
  height: 50%;
  fill: #6C6C6C;
  fill: #6C6C6C;
  fill: var(--cx-color-textSubtle);
}

.uc-listingCard-disclaimerText {
  padding: 0 20px 10px;
  padding: 0 20px 10px;
  padding: 0 var(--uc-listingCard-contentPadding) var(--uc-listingCard-padding);
  font-size: 10px;
  line-height: 14px;
  color: #6C6C6C;
  color: #6C6C6C;
  color: var(--cx-color-textSubtle);

  font-family: "Open Sans", Helvetica, Arial, sans-serif;

  font-family: "Open Sans", Helvetica, Arial, sans-serif;

  font-family: var(--font-familyLegible, "Open Sans", Helvetica, Arial, sans-serif);

  font-weight: 400;

  font-weight: 400;

  font-weight: var(--font-weightRegular, 400);

  font-style: normal;

  -webkit-font-smoothing: auto;

  -moz-osx-font-smoothing: auto;

  font-smoothing: auto;
}

.uc-listingCard--sm .uc-listingCard-disclaimerText {
  padding: 0 10px 5px;
  padding: 0 10px 5px;
  padding: 0 var(--uc-listingCard-padding) 5px;
}

/**
 * uc-ListingCard--sm styles
 */

.uc-listingCard--sm {
  display: inline-block;
  flex-direction: row;
  position: relative;
  border: 1px solid #DADADA;
  border: 1px solid #DADADA;
  border: 1px solid var(--uc-listingCard-borderColor);
  min-width: 280px;
  margin-top: 0;
  border-radius: 2px;
  border-radius: 2px;
  border-radius: var(--cx-borderRadius);
  background-color: #FFFFFF;
  background-color: #FFFFFF;
  background-color: var(--cx-color-background);
}

@media (min-width: 512px) {

.uc-listingCard--sm {
    min-width: 300px
}
  }

@media (hover: hover) {
  .uc-listingCard--sm:hover:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border: solid 1px #8D8D8D;
    border: solid 1px #8D8D8D;
    border: solid 1px var(--cx-color-grey70);
    border-radius: 0;
    pointer-events: none;
    z-index: auto;
  }

  .uc-listingCard--sm:hover {
    border: 1px solid #DADADA;
    border: 1px solid #DADADA;
    border: 1px solid var(--uc-listingCard-borderColor);
  }
}

.uc-listingCard--sm:focus-within:after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border: solid 1px #8D8D8D;
  border: solid 1px #8D8D8D;
  border: solid 1px var(--cx-color-grey70);
  border-radius: 0;
  pointer-events: none;
  z-index: auto;
}

.uc-listingCard--sm:focus-within {
  border: 1px solid #DADADA;
  border: 1px solid #DADADA;
  border: 1px solid var(--uc-listingCard-borderColor);
}

.uc-listingCard--sm .uc-listingCard-body {
  display: inline-block;
  flex-direction: row;
  flex-grow: 0;
}

.uc-listingCard--sm .uc-listingCard-captionWrapper {
  position: static;
  margin-top: 0;
}

.uc-listingCard--sm .uc-listingCard-caption {
  position: static;
  padding: 5px 10px;
  padding: 5px 10px;
  padding: 5px var(--uc-listingCard-padding);
  background-color: #2A7E51;
  background-color: #2A7E51;
  background-color: var(--listing-badges-activeStatusColor);
}

.uc-listingCard--sm .uc-listingCard-caption.uc-listingCard-caption--openHouse {
  background-color: #2A7E51;
  background-color: #2A7E51;
  background-color: var(--listing-badges-activeStatusColor);
}

.uc-listingCard--sm .uc-listingCard-caption.uc-listingCard-caption--virtualOpenHouse {
  background-color: #037A82;
  background-color: #037A82;
  background-color: var(--listing-badges-virtualOpenHouseBadgeColor);
}

.uc-listingCard--sm .uc-listingCard-image {
  float: left;
  position: relative;
  margin: 10px;
  margin: 10px;
  margin: var(--uc-listingCard-padding);
  width: 100px;
  width: 100px;
  width: var(--uc-listingCard-imageWidth--sm);
  height: 77px;
  height: 77px;
  height: var(--uc-listingCard-imageHeight--sm);
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  padding-bottom: 0;
  background-color: transparent;
}

@media (min-width: 512px) {

.uc-listingCard--sm .uc-listingCard-image {
    width: 130px;
    width: 130px;
    width: var(--uc-listingCard-imageWidth--lg);
    height: 100px;
    height: 100px;
    height: var(--uc-listingCard-imageHeight--lg)
}
  }

.uc-listingCard--sm .uc-listingCard-heroImage {
  background-position: 0 0;
  background-size: cover;
}

.uc-listingCard--sm .uc-listingCard-cornerBox {
  margin-right: 0px;
  font-size: 10px;
  letter-spacing: 0.25px;
  text-overflow: clip;
  overflow-x: visible;
  z-index: 300;
  z-index: 300;
  z-index: var(--cx-zIndex-3);
}

.uc-listingCard--sm .uc-listingCard-cornerBox.uc-listingCard-cornerBox--virtualTour,
.uc-listingCard--xs .uc-listingCard-cornerBox.uc-listingCard-cornerBox--virtualTour {
  margin-bottom: 5px;
}

.uc-listingCard--sm .uc-listingCard-cornerBoxContainer {
  top: 15px;
  top: 15px;
  top: calc(var(--uc-listingCard-padding) + 5px);
  left: 15px;
  left: 15px;
  left: calc(var(--uc-listingCard-padding) + 5px);
  max-width: 90px;
  max-width: 90px;
  max-width: calc(var(--uc-listingCard-imageWidth--sm) - var(--uc-listingCard-padding));
}

@media (min-width: 512px) {

.uc-listingCard--sm .uc-listingCard-cornerBoxContainer {
    max-width: 120px;
    max-width: 120px;
    max-width: calc(var(--uc-listingCard-imageWidth--lg) - var(--uc-listingCard-padding))
}
  }

/* For text content */

.uc-listingCard--sm .uc-listingCard-content {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  position: relative;
  margin: 10px;
  margin: 10px;
  margin: var(--uc-listingCard-padding);
  padding: 0;
  flex-grow: 0;
  height: 77px;
  height: 77px;
  height: var(--uc-listingCard-imageHeight--sm);
  /* Account for the checkbox on the right side */
  margin-right: 40px;
  margin-right: 40px;
  margin-right: calc(var(--uc-listingCard-padding)*4);
  margin-left: 120px;
  margin-left: 120px;
  margin-left: calc(var(--uc-listingCard-imageWidth--sm) + var(--uc-listingCard-padding)*2);
}

@media (min-width: 512px) {

.uc-listingCard--sm .uc-listingCard-content {
    height: 100px;
    height: 100px;
    height: var(--uc-listingCard-imageHeight--lg);
    margin-left: 150px;
    margin-left: 150px;
    margin-left: calc(var(--uc-listingCard-imageWidth--lg) + var(--uc-listingCard-padding)*2)
}
  }

.uc-listingCard--sm .uc-listingCard-title {
  margin-top: 0;
  margin-bottom: 5px;
  font-size: 12px;
  font-size: 12px;
  font-size: var(--uc-listingCard-fontSize--sm);
  line-height: 14px;
  line-height: 14px;
  line-height: var(--uc-listingCard-lineHeight--xsm);
  color: #171717;
  color: #171717;
  color: var(--uc-listingCard-primaryTextColor);

  font-family: "Compass Sans", Helvetica, Arial, sans-serif;

  font-family: "Compass Sans", Helvetica, Arial, sans-serif;

  font-family: var(--font-familySans, "Compass Sans", Helvetica, Arial, sans-serif);

  font-weight: 500;

  font-weight: 500;

  font-weight: var(--font-weightMedium, 500);

  font-style: normal;
}

@media (min-width: 512px) {

.uc-listingCard--sm .uc-listingCard-title {
    font-size: 14px;
    font-size: 14px;
    font-size: var(--uc-listingCard-fontSize--lg);
    line-height: 14px;
    line-height: 14px;
    line-height: var(--uc-listingCard-lineHeight--lg);
}
  }

.uc-listingCard--sm .uc-listingCard-subtitle {
  flex-grow: 1;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 12px;
  font-size: 12px;
  font-size: var(--uc-listingCard-fontSize--sm);
  line-height: 14px;
  line-height: 14px;
  line-height: var(--uc-listingCard-lineHeight--md);
  color: #6C6C6C;
  color: #6C6C6C;
  color: var(--uc-listingCard-secondaryTextColor);
  letter-spacing: 0.5px;

  font-family: "Open Sans", Helvetica, Arial, sans-serif;

  font-family: "Open Sans", Helvetica, Arial, sans-serif;

  font-family: var(--font-familyLegible, "Open Sans", Helvetica, Arial, sans-serif);

  font-weight: 400;

  font-weight: 400;

  font-weight: var(--font-weightRegular, 400);

  font-style: normal;

  -webkit-font-smoothing: auto;

  -moz-osx-font-smoothing: auto;

  font-smoothing: auto;
}

.uc-listingCard--sm .uc-listingCard-mainStats {
  margin-top: 0;
  font-size: 14px;
  font-size: 14px;
  font-size: var(--uc-listingCard-fontSize--lg);
  line-height: 14px;
  line-height: 14px;
  line-height: var(--uc-listingCard-lineHeight--lg);
}

.uc-listingCard--sm .uc-listingCard-subStats {
  /* set height to hide any wrapped sub-items without cutting off text */
  height: 19px;
  height: 19px;
  height: calc(var(--uc-listingCard-lineHeight--xsm) + 5px);
  padding-top: 5px;
  line-height: 14px;
  line-height: 14px;
  line-height: var(--uc-listingCard-lineHeight--xsm);
}

/* Reduce margin to account overflow of content of substats */

/* calc(-4 * var(--uc-listingCard-padding) negates margin given to content with checkbox */

/* var(--uc-listingCard-padding--sm) applies default padding of listingCard */

.uc-listingCard--sm .uc-listingCard-subStats.checkable-true {
  margin-right: -32px;
  margin-right: -32px;
  margin-right: calc(var(--uc-listingCard-padding)*-4 + var(--uc-listingCard-padding--sm));
}

/**
 * uc-listingCard--xs styles
 */

.uc-listingCard--xs {
  display: inline-block;
  flex-direction: row;
  position: relative;
  border: 1px solid #DADADA;
  border: 1px solid #DADADA;
  border: 1px solid var(--uc-listingCard-borderColor);
  min-width: 274px;
  margin-top: 0;
  border-radius: 2px;
  border-radius: 2px;
  border-radius: var(--cx-borderRadius);
  background-color: #FFFFFF;
  background-color: #FFFFFF;
  background-color: var(--cx-color-background);
}

@media (hover: hover) {
  .uc-listingCard--xs:hover:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border: solid 1px #8D8D8D;
    border: solid 1px #8D8D8D;
    border: solid 1px var(--cx-color-grey70);
    border-radius: 0;
    pointer-events: none;
    z-index: auto;
  }

  .uc-listingCard--xs:hover {
    border: 1px solid #DADADA;
    border: 1px solid #DADADA;
    border: 1px solid var(--uc-listingCard-borderColor);
  }
}

.uc-listingCard--xs:focus-within:after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border: solid 1px #8D8D8D;
  border: solid 1px #8D8D8D;
  border: solid 1px var(--cx-color-grey70);
  border-radius: 0;
  pointer-events: none;
  z-index: auto;
}

.uc-listingCard--xs:focus-within {
  border: 1px solid #DADADA;
  border: 1px solid #DADADA;
  border: 1px solid var(--uc-listingCard-borderColor);
}

.uc-listingCard--xs .uc-listingCard-body {
  display: inline-block;
  flex-direction: row;
  flex-grow: 0;
}

.uc-listingCard--xs .uc-listingCard-captionWrapper {
  position: static;
  margin-top: 0;
}

.uc-listingCard--xs .uc-listingCard-caption {
  position: static;
  padding: 3px 8px;
  padding: 3px 8px;
  padding: 3px var(--uc-listingCard-padding--sm);
  width: 100%;
  background-color: #2A7E51;
  background-color: #2A7E51;
  background-color: var(--listing-badges-activeStatusColor);
}

.uc-listingCard--xs .uc-listingCard-caption.uc-listingCard-caption--openHouse {
  background-color: #2A7E51;
  background-color: #2A7E51;
  background-color: var(--listing-badges-activeStatusColor);
}

.uc-listingCard--xs .uc-listingCard-caption.uc-listingCard-caption--virtualOpenHouse {
  background-color: #037A82;
  background-color: #037A82;
  background-color: var(--listing-badges-virtualOpenHouseBadgeColor);
}

.uc-listingCard--xs .uc-listingCard-image {
  float: left;
  position: relative;
  margin: 0;
  width: 114px;
  width: 114px;
  width: var(--uc-listingCard-imageWidth--xs);
  height: 89px;
  height: 89px;
  height: var(--uc-listingCard-imageHeight--xs);
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  padding-bottom: 0;
  background-color: transparent;
}

.uc-listingCard--xs .uc-listingCard-heroImage {
  background-position: 0 0;
  background-size: cover;
}

.uc-listingCard--xs .uc-listingCard-cornerBox {
  margin-right: 0px;
  letter-spacing: 0.25px;
  text-overflow: clip;
  overflow-x: visible;
  font-size: 9px;
  line-height: 1;
  z-index: 300;
  z-index: 300;
  z-index: var(--cx-zIndex-3);
}

.uc-listingCard--xs .uc-listingCard-cornerBoxContainer {
  top: 4px;
  top: 4px;
  top: calc(var(--uc-listingCard-padding--sm)/2);
  left: 4px;
  left: 4px;
  left: calc(var(--uc-listingCard-padding--sm)/2);
  max-width: 106px;
  max-width: 106px;
  max-width: calc(var(--uc-listingCard-imageWidth--xs) - var(--uc-listingCard-padding--sm));
}

/* For text content */

.uc-listingCard--xs .uc-listingCard-content {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  position: relative;
  padding: 0;
  flex-grow: 0;
}

.uc-listingCard--xs .uc-listingCard-content {
  /* Account for the checkbox on the right side */
  margin: 8px;
  margin: 8px;
  margin: var(--uc-listingCard-padding--sm);
  height: 73px;
  height: 73px;
  height: calc(var(--uc-listingCard-imageHeight--xs) - var(--uc-listingCard-padding--sm)*2);
  margin-left: 122px;
  margin-left: 122px;
  margin-left: calc(var(--uc-listingCard-imageWidth--xs) + var(--uc-listingCard-padding--sm));
  margin-right: 40px;
  margin-right: 40px;
  margin-right: calc(var(--uc-listingCard-padding)*4);
}

.uc-listingCard--xs.uc-listingCard--noCheckbox .uc-listingCard-content {
  /* Set to default margin when there is no checkbox for xs cards */
  margin-right: 8px;
  margin-right: 8px;
  margin-right: var(--uc-listingCard-padding--sm);
}

.uc-listingCard--xs .uc-listingCard-title {
  /* grow the title instead of subtitle for xs cards */
  flex-grow: 1;
  margin-top: 0;
  margin-bottom: 5px;
  font-size: 14px;
  font-size: 14px;
  font-size: var(--uc-listingCard-fontSize--lg);
  line-height: 14px;
  line-height: 14px;
  line-height: var(--uc-listingCard-lineHeight--lg);
  /* Truncate the titles for xs cards */
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: #171717;
  color: #171717;
  color: var(--uc-listingCard-primaryTextColor);

  font-family: "Compass Sans", Helvetica, Arial, sans-serif;

  font-family: "Compass Sans", Helvetica, Arial, sans-serif;

  font-family: var(--font-familySans, "Compass Sans", Helvetica, Arial, sans-serif);

  font-weight: 500;

  font-weight: 500;

  font-weight: var(--font-weightMedium, 500);

  font-style: normal;
}

/* Will not show the subtitle for xs cards, keep the styles here just in case */

.uc-listingCard--xs .uc-listingCard-subtitle {
  flex-grow: 0;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 12px;
  font-size: 12px;
  font-size: var(--uc-listingCard-fontSize--sm);
  line-height: 14px;
  line-height: 14px;
  line-height: var(--uc-listingCard-lineHeight--xsm);
  color: #6C6C6C;
  color: #6C6C6C;
  color: var(--uc-listingCard-secondaryTextColor);
  letter-spacing: 0.5px;

  font-family: "Open Sans", Helvetica, Arial, sans-serif;

  font-family: "Open Sans", Helvetica, Arial, sans-serif;

  font-family: var(--font-familyLegible, "Open Sans", Helvetica, Arial, sans-serif);

  font-weight: 400;

  font-weight: 400;

  font-weight: var(--font-weightRegular, 400);

  font-style: normal;

  -webkit-font-smoothing: auto;

  -moz-osx-font-smoothing: auto;

  font-smoothing: auto;
}

.uc-listingCard--xs .uc-listingCard-mainStats {
  margin-top: 0;
  font-size: 14px;
  font-size: 14px;
  font-size: var(--uc-listingCard-fontSize--lg);
  line-height: 14px;
  line-height: 14px;
  line-height: var(--uc-listingCard-lineHeight--lg);
}

.uc-listingCard--xs .uc-listingCard-subStats {
  /* set height to hide any wrapped sub-items without cutting off text */
  height: 19px;
  height: 19px;
  height: calc(var(--uc-listingCard-lineHeight--xsm) + 5px);
  padding-top: 5px;
  font-size: 12px;
  font-size: 12px;
  font-size: var(--uc-listingCard-fontSize--sm);
  line-height: 14px;
  line-height: 14px;
  line-height: var(--uc-listingCard-lineHeight--xsm);
}

/* Reduce margin to account overflow of content of substats */

/* calc(-4 * var(--uc-listingCard-padding) negates margin given to content with checkbox */

/* var(--uc-listingCard-padding--sm) applies default padding of listingCard */

.uc-listingCard--xs .uc-listingCard-subStats.checkable-true {
  margin-right: -32px;
  margin-right: -32px;
  margin-right: calc(var(--uc-listingCard-padding)*-4 + var(--uc-listingCard-padding--sm));
}

/* Styles for action containers */

.uc-listingCardActionContainer {
  height: 40px;
}

.uc-listingCard--sm .uc-listingCardActionContainer,
.uc-listingCard--xs .uc-listingCardActionContainer {
  height: 30px;
}

.uc-listingCardActionContainer {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  border-top: 1px solid #DADADA;
  border-top: 1px solid #DADADA;
  border-top: 1px solid var(--colorIntent-actionableInvertedBorder);
  /* Need to set box-sizing to prevent the top border from
   * causing a vertical scrollbar to appear in listing pills */
  box-sizing: content-box;
}

/* To keep things simple (vs using a repeated transclusion slot)
 * Adding styles directly to transcluded elements.
 *
 * If there is only one child, we left pad it.
 * If there are 2 more child elements, we give them up to 50% width
 * and distribute them evenly, with a left border after the 1st child
 */

.uc-listingCard--sm .uc-listingCardActionContainer > *,
.uc-listingCard--xs .uc-listingCardActionContainer > * {
  padding-left: 10px;
}

.uc-listingCardActionContainer > * {
  padding-left: 20px;
}

.uc-listingCardActionContainer > * {
  display: flex;
  justify-content: center;
  align-items: center;
}

.uc-listingCardActionContainer > *:not(:first-child) {
    border-left: 1px solid #DADADA;
    border-left: 1px solid #DADADA;
    border-left: 1px solid var(--colorIntent-actionableInvertedBorder);
  }

.uc-listingCardActionContainer > *:not(:only-child) {
    width: 50%;
    padding-left: 0;
  }

/* No circle around navigation arrows */

.uc-listingCard .flickity-prev-next-button,
.uc-listingCard .flickity-prev-next-button:hover {
  background: transparent;
}

/* Navigation arrows should be white */

.uc-listingCard .flickity-prev-next-button .arrow {
  fill: #FFFFFF;
  fill: #FFFFFF;
  fill: var(--colorIntent-textBrightBackgroundDark);
}

/* Add shadow to show arrow over white images */

.uc-listingCard .flickity-prev-next-button svg {
  filter: drop-shadow(-3px 0 5px rgba(0, 0, 0, 0.25));
  filter: drop-shadow(-3px 0 5px rgba(0, 0, 0, 0.25));
  filter: drop-shadow(-3px 0 5px var(--colorIntent-backdrop));
  overflow: visible;
}

.uc-listingCard--priceGrid-md {
  display: grid;
  grid-template-areas: 'priceCaption'
    'price';
}

.uc-listingCard--priceGrid-sm,
.uc-listingCard--priceGrid-xs {
  display: inline-grid;
  align-items: center;
  grid-template-columns: auto 1fr;
  -moz-column-gap: 4px;
       column-gap: 4px;
  grid-template-areas: 'price priceCaption';
}

.uc-listingCard--price {
  grid-area: price;
}

.uc-listingCard--priceCaption {
  margin-right: -32px;
  margin-right: -32px;
  margin-right: calc(var(--uc-listingCard-padding)*-4 + var(--uc-listingCard-padding--sm));
  grid-area: priceCaption;
}

/**
 * style for listing card badge indicator
 */

.uc-listingCard-cornerBox--badgeIndicator {
  margin-right: 4px;
}

/**
 * style for listing card footer
 */

.uc-listingCard-footer {
  cursor: pointer;
}

/* flickity-fade */

.flickity-enabled.is-fade .flickity-slider > * {
  pointer-events: none;
  z-index: 0;
}

.flickity-enabled.is-fade .flickity-slider > .is-selected {
  pointer-events: auto;
  z-index: 1;
}

:root {
  --progressWidth: 60px;
}

.uc-listingPhotoCard-body {
  position: relative;
}

.uc-listingPhotoCard-footer {
  border: 1px solid #DADADA;
  border: 1px solid #DADADA;
  border: 1px solid var(--cx-color-border);
}

.uc-listingPhotoCard.uc-listingCard-has-photo {
  border-color: transparent;
}

.uc-listingPhotoCard:hover .uc-listingCard-image,
.uc-listingPhotoCard:focus-within .uc-listingCard-image {
  border-radius: 0;
}

.uc-listingPhotoCard .uc-listingCard-actualImage {
  position: absolute;
  width: inherit;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.uc-listingPhotoCard:hover::after,
.uc-listingPhotoCard:focus-within::after,
.uc-listingPhotoCard.uc-listingCard {
  border: 2px solid transparent;
  border-radius: 3px;
  transition: border-color 100ms ease , background 100ms ease , box-shadow 100ms ease , color 100ms ease , fill 100ms ease;
  transition: border-color 100ms ease , background 100ms ease , box-shadow 100ms ease , color 100ms ease , fill 100ms ease;
  transition: var(--cx-transition);
}

.uc-listingPhotoCard.uc-listingCard.uc-listingCard--selected {
  border-color: #0049A8;
  border-color: #0049A8;
  border-color: var(--cx-color-interactiveHover);
}

@media (min-width: 768px) {
  .uc-listingPhotoCard.uc-listingCard .flickity-prev-next-button {
    display: none;
  }

  .uc-listingPhotoCard.uc-listingCard.uc-listingCard--selected .flickity-prev-next-button {
    display: unset;
  }
}

.uc-listingCard--loading,
.uc-listingCard--loading::after,
.uc-listingCard--loading:hover,
.uc-listingCard--loading:hover::after,
.uc-listingCard--loading:focus-within,
.uc-listingCard--loading:focus-within::after,
.uc-listingPhotoCard.uc-listingCard--loading:hover::after,
.uc-listingPhotoCard.uc-listingCard--loading:focus-within::after {
  border: none;
}

/* For the :after elements in the loading state, set them to an explicit size of 0x0 */

/* Otherwise, it is possible for that :after to take up the whole viewport and block clicks */

.uc-listingCard--loading::after,
.uc-listingCard--loading:hover::after,
.uc-listingCard--loading:focus-within::after,
.uc-listingPhotoCard.uc-listingCard--loading:hover::after,
.uc-listingPhotoCard.uc-listingCard--loading:focus-within::after {
  width: 0;
  height: 0;
}

.uc-listingPhotoCard .uc-listingCard-mainStats {
  position: relative;
  margin-top: 0;
  color: #FFFFFF;
  color: #FFFFFF;
  color: var(--cx-color-white);
  font-size: 22px;
  line-height: 26px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: antialiased;
}

.uc-listingCard-leftWrapper .uc-listingCard-title {
  margin: 0;
  color: #FFFFFF;
  color: #FFFFFF;
  color: var(--cx-color-white);
  font-family: 'Open Sans', 'Compass Sans', Helvetica, Arial, sans-serif;
  font-family: 'Open Sans', Helvetica, Arial, sans-serif;
  font-family: var(--cx-font-familyLegible);
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-smoothing: auto;

  font-size: 12px;

  font-size: 12px;

  font-size: var(--cx-font-sizeXs);
  line-height: 15px;
}

.uc-listingCard-leftWrapper .uc-listingCard-title::first-line {
    display: block;
    margin-bottom: 0;
    font-size: 12px;
    line-height: 15px;
  }

.uc-listingPhotoCard .uc-listingCard-caption {
  padding: 48px 16px 8px; /* top-padding is for fadeout gradient */
  background: linear-gradient(180deg,transparent,rgba(0,0,0,0.8));
  opacity: 1;
  visibility: visible;
  transition: 0.5s;
  pointer-events: none;
}

@media (min-width: 360px) {

.uc-listingPhotoCard .uc-listingCard-caption {
    padding-left: 8px;
    padding-right: 8px
}
  }

.uc-listingPhotoCard .uc-listingCard-caption a {
  color: #FFFFFF;
  color: #FFFFFF;
  color: var(--cx-color-white);
  text-decoration: none;
}

.uc-listingPhotoCard .photoProgress {
  position: absolute;
  bottom: 8px;
  left: calc(50% - 30px);
  left: calc(50% - 30px);
  left: calc(50% - var(--progressWidth)/2);
  width: 60px;
  width: 60px;
  width: var(--progressWidth);
  height: 16px;
  background: rgba(0,0,0,0.50);
  color: #FFFFFF;
  color: #FFFFFF;
  color: var(--cx-color-white);
  z-index: 100;
  z-index: 100;
  z-index: var(--cx-zIndex-1);
  text-align: center;
  line-height: 16px;
  font-size: 12px;
  opacity: 0;
  visibility: hidden;
  transition: 0.5s;
  pointer-events: none;
}

.uc-listingPhotoCard .hide {
  opacity: 0;
  visibility: hidden;
}

.uc-listingPhotoCard .show {
  opacity: 1;
  visibility: visible;
}

.uc-listingPhotoCard .uc-listingCard-leftWrapper {
  flex: 1;
  margin-right: auto;
  overflow: hidden;
}

.uc-listingPhotoCard .uc-listingCard-subStats {
  display: flex;
  align-items: flex-end;
  position: initial;
  padding: 0;
  flex-shrink: 0;
  max-width: 150px;
  height: inherit;
  text-align: center;
  font-size: 14px;
  color: #FFFFFF;
  color: #FFFFFF;
  color: var(--cx-color-white);
}

.uc-listingPhotoCard .uc-listingCard-subStat:after {
  border-color: #FFFFFF;
  border-color: #FFFFFF;
  border-color: var(--cx-color-white);
  opacity: 0.4;
}

.uc-listingPhotoCard .uc-listingCard-image {
  display: block;
  cursor: pointer;
}

.uc-listingPhotoCard .uc-listingCard-image.uc-listingCard-image--invisible {
  width: 0px;
  height: 0px;
  visibility: hidden;
}

.uc-listingPhotoCard .uc-listingCard-subStat-field {
  font-size: 12px;
}

.uc-listingPhotoCard .uc-listingCard-subStat:first-child {
  padding-left: 10px;
  padding-left: 10px;
  padding-left: var(--uc-listingCard-padding);
}

.uc-listingPhotoCard .uc-listingCard-subStat:last-child {
  padding-right: 0;
}

.uc-listingPhotoCard .uc-listingCard-subStat--sqFt:before {
  content: '';
}

.uc-listingPhotoCard .uc-listingCard-cornerBox {
  line-height: 12px;
  letter-spacing: 0.4px;
}

.uc-listingPhotoCard .uc-listingCard-cornerBoxContainer {
  top: 8px;
  left: 8px;
}

.uc-listingPhotoCard .uc-listingCard-collection {
  position: absolute;
  top: 8px;
  right: 16px;
  border: 1px solid #FFFFFF;
  border: 1px solid #FFFFFF;
  border: 1px solid var(--cx-color-white);
  padding: 0;
  width: 32px;
  height: 32px;
  background: #000000;
  background: #000000;
  background: var(--cx-color-backgroundDark);
  z-index: 1;
}

@media (min-width: 512px) {

.uc-listingPhotoCard .uc-listingCard-collection {
    right: 8px
}
  }

@media (min-width: 1024px) {

.uc-listingPhotoCard .uc-listingCard-collection {
    right: 10px
}
  }

.uc-listingPhotoCard .uc-listingCard-collection--added {
  background: #FFBF00;
  background: #FFBF00;
  background: var(--cx-color-highlight);
}

.uc-listingPhotoCard .uc-listingCard-collection.uc-listingCard-collectionNotInterested {
  top: 48px;
}

.uc-listingPhotoCard
.uc-listingCard-collectionNotInterested.uc-listingCard-collectionNotInterested--only {
  top: 8px;
}

.uc-listingPhotoCard .truncate-overflow-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.uc-listingPhotoCard .flex {
  display: flex;
}

.flex-col {
  display: flex;
  flex-direction: column;
}

.uc-listingPhotoCard .uc-listingCard-imagePlaceholder {
  position: absolute;
  top: 25%;
  left: 25%;
  width: 50%;
  height: 50%;
}

.uc-listingPhotoCard .uc-listingCard-carousel {
  z-index: auto;
}

.uc-listingPhotoCard .flickity-prev-next-button {
  /* Caption is --cx-zIndex-1, these buttons need to appear above it */
  z-index: 200;
  z-index: 200;
  z-index: var(--cx-zIndex-2);
}

.uc-listingPhotoCard .flickity-prev-next-button .flickity-button-icon {
    /* Override the default drop-shadow on Flickity arrows */
    filter: drop-shadow(0 1px 1px #000000);
    filter: drop-shadow(0 1px 1px #000000);
    filter: drop-shadow(0 1px 1px var(--cx-color-backgroundDark));
  }

.flickity-prev-next-button.previous {
  left: 14px;
}

/* Shift arrows with .uc-listingCard-caption so they stay in line with the text */

@media (min-width: 360px) {

.flickity-prev-next-button.previous {
    left: 6px
}
  }

.flickity-prev-next-button.previous .flickity-button-icon {
    right: 40%;
    left: 0;
  }

.flickity-prev-next-button.next {
  right: 14px;
}

/* Shift arrows with .uc-listingCard-caption so they stay in line with the text */

@media (min-width: 360px) {

.flickity-prev-next-button.next {
    right: 6px
}
  }

.flickity-prev-next-button.next .flickity-button-icon {
    right: 0;
    left: 40%;
  }

.uc-listingCard-complianceImgContainer {
  margin: 0 0 8px auto;
  width: 64px;
  height: 20px;
  text-align: right;
}

.uc-listingCard-complianceImgContainer img {
  max-width: 64px;
  max-height: 20px;
  -o-object-fit: contain;
     object-fit: contain;
  vertical-align: middle;
}

/* Loading State */

@-webkit-keyframes placeHolderShimmer {
  0% {
    background-position: -468px 0;
  }

  100% {
    background-position: 468px 0;
  }
}

@keyframes placeHolderShimmer {
  0% {
    background-position: -468px 0;
  }

  100% {
    background-position: 468px 0;
  }
}

.uc-listingPhotoCard.uc-listingCard--loading {

  overflow: hidden;
}

/* stylelint-disable  color-no-hex */

.uc-listingPhotoCard.uc-listingCard--loading .loading-item {
    margin: 0 auto;
    border: 1px solid;
    width: 100%;
    height: 266px;
    border-color: #e5e6e9 #dfe0e4 #d0d1d5;
    border-radius: 3px;
  }

.uc-listingPhotoCard.uc-listingCard--loading .animated-background {
    position: relative;
    min-height: 266px;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-name: placeHolderShimmer;
    animation-name: placeHolderShimmer;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    background: linear-gradient(to right, #cfcfcf 8%, #c3c3c3 18%, #cfcfcf 33%);
    background-size: 800px 104px;
  }

.uc-listingPhotoCard.uc-listingCard--loading .background-masker {
    position: absolute;
    background: #e6e6e6;
    box-sizing: border-box;
  }

/* stylelint-enable  color-no-hex */

.uc-listingPhotoCard.uc-listingCard--loading .background-masker.left-bar {
    width: 8px;
    height: 100%;
  }

.uc-listingPhotoCard.uc-listingCard--loading .background-masker.top-bar {
    width: 100%;
    height: 8px;
  }

.uc-listingPhotoCard.uc-listingCard--loading .background-masker.right-bar {
    right: 0;
    width: 8px;
    height: 100%;
  }

.uc-listingPhotoCard.uc-listingCard--loading .background-masker.bottom-bar {
    bottom: 0;
    width: 100%;
    height: 8px;
  }

.uc-listingPhotoCard.uc-listingCard--loading .background-masker.header-space {
    top: 8px;
    right: 40px;
    width: 50%;
    height: 32px;
  }

.uc-listingPhotoCard.uc-listingCard--loading .background-masker.below-header-space {
    top: 24px;
    right: 40px;
    width: 100%;
    height: 16px;
  }

.uc-listingPhotoCard.uc-listingCard--loading .background-masker.body-from-top {
    top: 40px;
    width: 100%;
    height: 40%;
  }

.uc-listingPhotoCard.uc-listingCard--loading .background-masker.body-from-bottom {
    bottom: 64px;
    width: 100%;
    height: 40%;
  }

.uc-listingPhotoCard.uc-listingCard--loading .background-masker.space-from-right-bottom {
    right: 25%;
    bottom: 0;
    width: 20%;
    height: 50%;
  }

.uc-listingPhotoCard.uc-listingCard--loading .background-masker.space-from-left-bottom-header {
    bottom: 32px;
    left: 30%;
    width: 20%;
    height: 50%;
  }

.uc-listingPhotoCard.uc-listingCard--loading .background-masker.space-from-left-bottom {
    bottom: 0;
    left: 50%;
    width: 20%;
    height: 50%;
  }

.uc-listingPhotoCard.uc-listingCard--loading .background-masker.sideways-spacer-bottom-1 {
    bottom: 32px;
    width: 100%;
    height: 16px;
  }

.uc-listingPhotoCard.uc-listingCard--loading .background-masker.sideways-spacer-bottom-2 {
    bottom: 12px;
    width: 100%;
    height: 16px;
  }

.uc-listingPhotoCard.uc-listingCard--loading .background-masker.right-bottom {
    right: 0;
    bottom: 8px;
    width: 25%;
    height: 4px;
  }

.uc-listingCard-priceCaption {
  margin-bottom: 2px;
}

.uc-listingCard-cardDisclaimer {
  padding-top: 2px;
  font-size: 10px;
  font-size: 10px;
  font-size: var(--cx-font-size2xs);
  pointer-events: auto;
}

*{box-sizing:border-box}

.adCard{height:100%;font:16px,'Compass Sans', Helvetica, Arial, sans-serif;font:var(--cx-font-sizeMd),var(--cx-font-familySans);color:#FFFFFF;color:var(--cx-color-white);text-decoration:none;cursor:pointer;}

.adCard .adCard-privateExclusive{filter:brightness(120%)}

.adCard .adCard-privateExclusiveImage{position:absolute;border:2px solid;max-width:358px;max-width:calc((var(--cx-fixedPageWidth) - var(--gutter)*4)/3);border-radius:2px;border-radius:var(--cx-borderRadius);box-sizing:border-box;transition:border-color 100ms ease , background 100ms ease , box-shadow 100ms ease , color 100ms ease , fill 100ms ease;transition:var(--cx-transition)}

.adCard .adCard-privateExclusiveDetailsContainer{display:grid;position:absolute;top:50%;padding:18px 24px;padding:18px var(--cx-spacing-3x);z-index:1;transform:translateY(-50%);}

.adCard .adCard-privateExclusiveDetailsContainer .adCard-privateExclusiveSvg{width:162px}

.adCard .adCard-privateExclusiveDetailsContainer .adCard-privateExclusiveText{color:#FFFFFF;color:var(--cx-color-white);margin-top:16px;margin-top:var(--cx-spacing-2x);font-size:20px;font-size:var(--cx-font-sizeXl);font-weight:500;font-weight:var(--cx-font-weightMedium);font-stretch:normal;line-height:1.4;letter-spacing:normal}

.adCard .adCard-privateExclusiveDetailsContainer .adCard-privateExclusiveAdButton{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin-top:16px;margin-top:var(--cx-spacing-2x)}

.adCard .adCard-aspectRatioContainer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;padding-bottom:75%;background-color:#000000;background-color:var(--cx-color-black);overflow:hidden}

.adCard .adCard-privateExclusiveBrandedContainer{display:flex;flex-direction:row;align-items:center;position:absolute;top:50%;left:0;transform:translateY(-50%);}

.adCard .adCard-privateExclusiveBrandedContainer .adCard-brandedDisplayTextContainer{display:grid}

.adCard .adCard-privateExclusiveBrandedContainer .adCard-brandedDisplayTextContainer.adCard-brandedDisplayTextFullWidth{width:100%}

.adCard .adCard-privateExclusiveBrandedContainer .adCard-brandedDisplayText{margin:0 24px;margin:0 var(--cx-spacing-3x);color:#FFFFFF;color:var(--cx-color-white);font-size:20px;font-size:var(--cx-font-sizeXl);font-weight:500;font-weight:var(--cx-font-weightMedium);font-stretch:normal;line-height:1.4;letter-spacing:normal}

.adCard .adCard-privateExclusiveBrandedContainer .adCard-agentProfilePic{width:128px;height:128px;-o-object-fit:cover;object-fit:cover}

.adCard .adCard-brandingPatternImg{height:32px;margin-top:16px;margin-top:var(--cx-spacing-2x)}

.adCard .adCard-brandedCTA-arrow{position:relative;top:3px;left:16px;fill:#0064E5;fill:var(--cx-color-interactive)}

.adCard .adCard-brandedCTA-arrow:hover{fill:#FFFFFF;fill:var(--cx-color-white)}

.adCard-privateExclusiveCard.uc-listingPhotoCard.uc-listingCard.uc-listingCard-has-photo:hover{border-color:#0049A8;border-color:var(--colorIntent-actionableFilledBorderHover)}

.adCard .adCard-privateExclusiveBrandedContainer.adCard-privateExclusiveBrandedContainerBig .adCard-brandedDisplayText{font-size:18px;font-size:var(--cx-font-sizeLg)}

@media (max-width: 1023px){.adCard .adCard-privateExclusiveBrandedContainer{margin-top:16px;margin-top:var(--cx-spacing-2x);font-size:18px;font-size:var(--cx-font-sizeLg)}.adCard .adCard-privateExclusiveBrandedContainer.adCard-privateExclusiveBrandedContainerBig .adCard-brandedDisplayText{font-size:16px;font-size:var(--cx-font-sizeMd)}}

@media (max-width: 767px){.adCard .adCard-privateExclusiveBrandedContainer.adCard-privateExclusiveBrandedContainerBig .adCard-brandedDisplayText{font-size:14px;font-size:var(--cx-font-sizeSm)}}

@media (max-width: 767px){.adCard-privateExclusiveCard.adCard-brandedAspectRatio{padding-top:75%}.adCard .adCard-privateExclusiveSvg{width:206px}.adCard .adCard-privateExclusiveText{font-size:36px;font-size:var(--cx-font-size4xl)}.adCard .adCard-privateExclusiveAdButton{font-size:16px;font-size:var(--cx-font-sizeMd)}.adCard .adCard-privateExclusiveBrandedContainer.adCard-privateExclusiveBrandedContainerBig .adCard-brandedDisplayText{font-size:20px;font-size:var(--cx-font-sizeXl)}}

@media (max-width: 511px){.adCard .adCard-privateExclusiveSvg{width:162px}.adCard .adCard-privateExclusiveText{font-size:24px;font-size:var(--cx-font-size2xl)}}

@media (max-width: 359px){.adCard .adCard-privateExclusiveBrandedContainer.adCard-privateExclusiveBrandedContainerBig .adCard-brandedDisplayText{font-size:16px;font-size:var(--cx-font-sizeMd)}.adCard .adCard-privateExclusiveText{font-size:18px;font-size:var(--cx-font-sizeLg)}.adCard .adCard-privateExclusiveBrandedContainer.adCard-privateExclusiveBrandedContainerBig .adCard-brandedDisplayText{font-size:14px;font-size:var(--cx-font-sizeSm)}.adCard .adCard-privateExclusiveBrandedContainer .adCard-agentProfilePic{width:108px;height:108px}}

@media (max-width: 319px){.adCard .adCard-privateExclusiveBrandedContainer .adCard-brandedDisplayText{font-size:16px;font-size:var(--cx-font-sizeMd)}}

/* Devices and screens sizes handled in ascending order */

.homepage-hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  flex-grow: 1;
  width: 100%;
}

.homepage-heroBackground {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
  transition: opacity 200ms 0s, visibility 0s 0s;
  opacity: 1;
  visibility: hidden;
  z-index: 100;
  z-index: var(--cx-zIndex-1);
}

.homepage-heroBackground.is-loaded {
    opacity: 1;
    visibility: visible;
  }

.homepage-hero,
.homepage-heroBackground {
  background-color: #333333;
  background-color: var(--cx-color-grey100);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
}

.homepage-heroContent {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 40px 16px
    0px 16px;
  padding: calc(var(--cx-baseUnit)*5) var(--cx-spacing-2x)
    0px var(--cx-spacing-2x);
  width: 100%;
  height: 380px;
  transition: height 100ms ease;
  z-index: 200;
  z-index: var(--cx-zIndex-2);
}

.homepage-heroAgentImg {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  box-shadow: 0 8px 10px 0 rgba(0, 0, 0, 0.2);
}

.homepage-heroAgentLink {
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: default;
}

@media (max-width: 767px) {

.homepage-heroContent.is-expanded {
    z-index: 1000;
    z-index: var(--cx-zIndex-10)
}
  }

.homepage-heroTitle {
  margin: 0;
  padding: 0 36px;
  color: #FFFFFF;
  color: var(--cx-color-white);
  font-size: 30px;
  font-weight: var(--font-weightBold);
  font-weight: var(--font-weightBold); /* stylelint-disable-line property-blacklist */
  line-height: 30px;
  text-shadow: 0 1px 20px rgba(0,0,0,0.5);
  text-align: center;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.homepage-heroTitle--branded {
    margin-top: 8px;
    margin-top: var(--cx-spacing-1x);
    margin-bottom: 8px;
    margin-bottom: var(--cx-spacing-1x);
    color: #FFFFFF;
    color: var(--cx-color-white);
    font-weight: var(--font-weightBold);
    font-weight: var(--font-weightBold); /* stylelint-disable-line property-blacklist */
    font-size: 28px;
    font-size: var(--cx-font-size3xl);
    line-height: 37px;
    text-shadow: 0 1px 20px rgba(0,0,0,0.5);
    text-align: center;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
  }

.homepage-omniboxContainer {
  width: 100%;
  margin-top: 16px;
  margin-bottom: 16px;
}

@media (min-width: 768px) {
  .homepage-heroContent {
    padding: 40px 0 0 0;
    padding: calc(var(--cx-baseUnit)*5) 0 0 0;
    height: 500px;
  }

  .homepage-heroAgentImg {
    width: 96px;
    height: 96px;
    border-radius: 50%;
  }

  .homepage-heroTitle {
    padding: 0;
    width: 100%;
    font-size: 40px;
    line-height: 56px;
  }

    .homepage-heroTitle--branded {
      padding: 0px 64px;
      padding: 0px var(--cx-spacing-8x);
      width: 100%;
      font-size: 42px;
      font-size: var(--cx-font-size5xl);
      line-height: 42px;
    }

  .homepage-omniboxContainer {
    margin-top: 24px;
    margin-top: var(--cx-spacing-3x);
    padding-right: 64px;
    padding-right: var(--cx-spacing-8x);
    padding-left: 64px;
    padding-left: var(--cx-spacing-8x);
  }
}

@media (min-width: 1024px) {
  .homepage-heroContent {
    max-width: 730px;
    height: 600px;
  }

  .homepage-heroTitle {
    padding: 0;
    width: 100%;
    font-size: 56px;
    line-height: 56px;
  }

    .homepage-heroTitle--branded {
      padding: 0px 32px;
      padding: 0px var(--cx-spacing-4x);
      width: 80%;
      margin-top: 12px;
      margin-top: calc(var(--cx-baseUnit)*1.5);
      font-size: 42px;
      font-size: var(--cx-font-size5xl);
      line-height: 42px;
    }

  .homepage-omniboxContainer {
    margin-top: 24px;
    margin-top: var(--cx-spacing-3x);
    padding-right: 64px;
    padding-right: var(--cx-spacing-8x);
    padding-left: 64px;
    padding-left: var(--cx-spacing-8x);
  }

  .homepage-heroAgentImg {
    width: 96px;
    height: 96px;
    border-radius: 50%;
  }
}

.homepage-listingContent {
  display: grid;
  margin: 24px 0;
  margin: var(--gutter) 0;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 24px;
  grid-gap: var(--gutter);
}

/* Non-ultra-wide Desktop mode, show six listings in 3 columns with 2 rows of listings */

@media (max-width: 1791px) {
  .uc-listingPhotoCard:nth-last-of-type(-n+2) {
    display: none;
  }

  .homepage-listingContent {
    grid-template-columns: repeat(3, 1fr);
  }

  /* Place ad-card at end of first row. */
  .adCard-privateExclusiveCard {
    grid-row-start: 1;
    grid-column-start: 3;
  }
}

/* Tablet mode, show six listings in 2 columns with 3 rows of listings */

@media (max-width: 1023px) {
  .uc-listingPhotoCard:nth-last-of-type(-n+2) {
    display: none;
  }

  .homepage-listingContent {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Place ad-card at end of first row. */
  .adCard-privateExclusiveCard {
    grid-row-start: 1;
    grid-column-start: 2;
  }
}

/* Mobile mode, show only 4 listings in one column */

@media (max-width: 767px) {
  .uc-listingPhotoCard:nth-last-of-type(-n+4) {
    display: none;
  }

  .homepage-listingContent {
    grid-template-columns: 1fr;
  }

  /* Place ad-card second in column. */
  .adCard-privateExclusiveCard {
    grid-row-start: 2;
    grid-column-start: 1;
  }
}

.is-loading {
  color: transparent;
}

.homepage-textAnimation {
  display: flex;
  flex-direction: column;
}

.homepage-animationPlaceholder {
  display: inline-flex;
}

/* stylelint-disable  color-no-hex */

.homepage-animationPlaceholder.wave div {
  -webkit-animation: wave 1s infinite linear forwards;
  animation: wave 1s infinite linear forwards;
  background: linear-gradient(to right, #eeeeee 8%, #dddddd 18%, #eeeeee 33%);
  background-size: 800px 104px;
}

@keyframes wave {
  0% {
    background-position: -468px 0;
  }

  100% {
    background-position: 468px 0;
  }
}

@-webkit-keyframes wave {
  0% {
    background-position: -468px 0;
  }

  100% {
    background-position: 468px 0;
  }
}

.homepage-ctaButton.homepage-listingSection--hide,
.homepage-listingSection.homepage-listingSection--hide {
  display: none;
}

.homepage-featuredGuides {
  display: grid;
  margin: 24px 0;
  margin: var(--gutter) 0;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 24px;
  grid-gap: var(--gutter);
  text-align: left;
}

@media (min-width: 1024px) {

.homepage-featuredGuides {
    grid-template-columns: repeat(3, 1fr)
}
  }

@media (max-width: 767px) {

.homepage-featuredGuides {
    grid-template-columns: repeat(1, 1fr)
}
  }

.homepage-featuredGuide {
  display: flex;
  position: relative;
  cursor: pointer;
}

.homepage-featuredGuide:focus {
    box-shadow: 0 0 2px 2px #0064E5;
    box-shadow: 0 0 2px 2px var(--cx-color-interactive);
  }

.homepage-featuredGuideImage {
  position: relative;
  width: 100%;
  height: 88px;
  background-size: cover;
  background-position: bottom;
  background-repeat: no-repeat;
  -o-object-fit: cover;
     object-fit: cover;
}

.homepage-featuredGuideCaption {
  position: absolute;
  padding: 40px 24px;
  width: 100%;
  height: 100%;
  color: #FFFFFF;
  color: var(--cx-color-onDarkText);
  background-color: rgba(0, 0, 0, 0.6);
}

.homepage-featuredGuideNeighborhood {
  margin: 0;
  font-size: 18px;
  font-weight: var(--font-weightMedium);
  font-weight: var(--font-weightMedium);
  text-decoration: underline;
}

.concierge {
  display: flex;
  flex-direction: column;
  position: relative;
}

.concierge .conciergeBlock--img,
  .concierge .conciergeBlock--picture {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }

.conciergeBlock--image {
  flex: 7 0 auto;
  height: 200px;
  background-size: cover;
  background-position: 50% 100%;
}

.conciergeBlockDesktop--image {
  flex: 12 0 auto;
}

.conciergeImage--text {
  position: absolute;
  left: 2%;
  color: #FFFFFF;
  color: var(--cx-color-background);
  font-size: 18px;
  font-weight: var(--font-weightMedium);
  font-weight: var(--font-weightMedium);
  filter: grayscale(1);
}

.conciergeBlock--text {
  display: flex;
  justify-content: center;
  padding: 40px 16px;
  flex: 10;
  color: #FFFFFF;
  color: var(--cx-color-white);
  background-color: #000000;
  background-color: var(--cx-color-black);
  text-align: center;
}

.conciergeDescription {
  padding: 0 40px;
  margin-top: 6px;
  margin-bottom: 32px;
  word-break: break-word;
}

@media (min-width: 360px) {
  .conciergeBlock--image {
    height: 250px;
    background-position: 50% 65%;
  }

  .conciergeBlockBefore--image {
    margin: 0 0 2px 0;
  }

  .conciergeDescription {
    margin-top: 16px;
  }

  .conciergeBeforeImage--text {
    top: 24%;
  }

  .conciergeAfterImage--text {
    top: 52%;
  }
}

/* Make incremental image adjustments to keep the Before and After" text labels aligned on top */

@media (max-width: 359px) {
  .conciergeBeforeImage--text {
    top: 26%;
  }

  .conciergeAfterImage--text {
    top: 57%;
  }
}

@media (min-width: 360px) and (max-width: 457px) {
  .conciergeBeforeImage--text {
    top: 27%;
  }

  .conciergeAfterImage--text {
    top: 59%;
  }
}

@media (min-width: 458px) and (max-width: 666px) {
  .conciergeBeforeImage--text {
    top: 28%;
  }

  .conciergeAfterImage--text {
    top: 61%;
  }
}

@media (min-width: 667px) and (max-width: 833px) {
  .conciergeBeforeImage--text {
    top: 29%;
  }

  .conciergeAfterImage--text {
    top: 63%;
  }
}

@media (min-width: 834px) and (max-width: 1023px) {
  .conciergeBeforeImage--text {
    top: 30%;
  }

  .conciergeAfterImage--text {
    top: 65%;
  }
}

@media (max-width: 1023px) {
  .conciergeBlockDesktop--image {
    display: none;
  }

    .conciergeBlockDesktop--image .conciergeBlock--img,
    .conciergeBlockDesktop--image .conciergeBlock--picture {
      display: none;
    }
}

@media (min-width: 768px) {
  .concierge {
    margin: 0 24px;
  }

  .conciergeBlock--image {
    height: 300px;
  }

  .conciergeBlockDesktop--image {
    max-width: 54%;
    height: auto;
    -o-object-fit: cover;
       object-fit: cover;
  }

  .conciergeBlockBefore--image {
    margin: 0 0 2px 0;
  }

  .conciergeDescription {
    padding: 0 96px;
  }
}

@media (min-width: 1024px) {
  .concierge {
    flex-direction: row;
  }

  .conciergeBlockBefore--image {
    display: none;
    margin: 0 2px 0 0;
    height: auto;
    background-position: 20% 100%;
  }

  .conciergeBlockAfter--image {
    display: none;
    height: auto;
    background-position: 100%;
  }

  .conciergeBeforeImage--text {
    top: 93%;
    left: 1%;
  }

  .conciergeAfterImage--text {
    top: 93%;
    left: 28%;
  }

  .conciergeBlock--text {
    padding: 0;
    margin-left: 24px;
    margin-left: var(--gutter);
    text-align: left;
  }

  .conciergeBlock-textWrapper {
    margin: 70px;
  }

  .conciergeDescription {
    padding: 0;
    margin-bottom: 48px;
  }
}

/* Prevent body scrolling on iOS */

body.u-noScroll {
  position: fixed;
}

body.u-noScroll .homepage {
  height: inherit;
  overflow: inherit;
}

.homepage-section {
  margin-top: 64px;
  margin-top: var(--cx-spacing-8x);
}

.homepage-section:last-child {
  margin-bottom: 64px;
  margin-bottom: var(--cx-spacing-8x);
}

.homepage-sectionWrapper {
  margin: 0 24px;
  margin: 0 var(--cx-spacing-3x);
}

@media (max-width: 511px) {

.homepage-sectionWrapper {
    margin: 0 16px;
    margin: 0 var(--cx-spacing-2x)
}
  }

.homepage-sectionHeader {
  margin: 0;
  font-size: 32px;
}

@media (max-width: 511px) {

.homepage-sectionHeader {
    font-size: 24px
}
  }

.homepage-ctaButton {
  display: flex;
  justify-content: center;
  align-items: center;
}

.homepage-ctaButton--inverted {
  border-color: #FFFFFF;
  border-color: var(--cx-color-white);
  color: #000000;
  color: var(--cx-color-black);
  background-color: #FFFFFF;
  background-color: var(--cx-color-white);
}

.homepage-ctaButton--inverted:hover {
  color: #FFFFFF;
  color: var(--cx-color-white);
}

.homepage-ctaIcon {
  width: 16px;
  height: 16px;
  margin-left: 16px;
  margin-left: var(--cx-spacing-2x);
  fill: currentColor;
}

@media (min-width: 360px) {
  .homepage-ctaButton {
    display: inline-flex;
  }
}

/* Qualtrics survey */

.QSIWebResponsive {
  font: 16px var(--font-familySans);
  font: var(--cx-fontSize--md) var(--font-familySans);
}

* {
  box-sizing: border-box;
}

body {
  display: flex;
  flex-direction: column;
  margin: 0;
  min-height: 100vh;
  font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

main {
  flex-grow: 1; /* Ensure that the footer is always being pushed down to the bottom. */
}

/* Holdovers from htmlSelectors.less. We should investigate whether these can be deprecated. */

img {
  vertical-align: middle;
}

a {
  text-decoration: none;
}

:root {
  --uc-omnibox-button-height: 32px;
  --uc-omnibox-input-height: 64px;
}

/* critical CSS for hiding mobile/non mobile DOM content as needed */

/* Hide the element when window is above mobile breakpoint */

@media not all and (max-width: 767px) {

.uc-typeahead-hideOnNonMobile {
    display: none !important
}
  }

/* Hide the element when window is bellow mobile breakpoint */

@media all and (max-width: 767px) {

.uc-typeahead-hideOnMobile {
    display: none !important
}
  }

.uc-omnibox {
  position: relative;
  width: inherit;
}

@media (max-width: 767px) {

.uc-omnibox {
    opacity: 0;
    visibility: hidden
}
  }

/* Shadow */

.uc-omnibox::before {
  content: '';
  display: block;
  position: absolute;
  top: 32px;
  top: var(--uc-omnibox-button-height);
  bottom: 0;
  width: inherit;
  box-shadow: 0 1px 20px rgba(0, 0, 0, 0.5);
  pointer-events: none;
  z-index: -1;
}

@media (max-width: 767px) {

.uc-omnibox::before {
    display: none
}
  }

.uc-omnibox-contentWrapper {
  display: flex;
  align-items: center;
  padding: 8px;
  padding: var(--cx-horizontalPadding--md);
  height: 64px;
  height: var(--uc-omnibox-input-height);
  background-color: #FFFFFF;
  background-color: var(--cx-color-background);
  z-index: 200;
  z-index: var(--cx-zIndex-2);
  box-shadow: none;
}

.uc-omnibox-optionsContainer {
  z-index: 300;
  z-index: var(--cx-zIndex-3);
}

@media (min-width: 768px) {

.uc-omnibox-optionsContainer {
    position: absolute
}
  }

/* Note: ideally we would just use .uc-omnibox:before as one box-shadow, and
use that for the whole component. However, for that approach to work, the
optionsContainer must be able to be position: static, which is not possible
in the overall flow of the homepage as it is. So this CSS will need to indefinitely
support two box-shadows:
- one on the :before, which covers just the input rectangle
- one on the optionsContainer itself, which will be applied only for desktop, only
when the parent .uc-omnibox has the expanded class
Additionally, due to this, the z-index of the contentWrapper will need to change on
desktop size viewports when the expanded class is on .uc-omnibox, so that the box-shadow
of the optionsContainer does not bleed into the text input.
*/

@media (min-width: 768px) {

.uc-omnibox.expanded .uc-omnibox-optionsContainer:not(:empty) {
    box-shadow: 0 1px 20px rgba(0, 0, 0, 0.5)
}
  }

@media (min-width: 768px) {

.uc-omnibox.expanded .uc-omnibox-contentWrapper {
    /* need this so options menu box shadow won't be on top of content wrapper */
    z-index: 400;
    z-index: var(--cx-zIndex-4)
}
  }

.uc-omnibox-inputContainer {
  display: flex;
  align-items: center;
  padding: 0;
  flex: 1;
  height: 100%;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  overflow: hidden;
}

.uc-omnibox-input {
  border: none;
  height: 100%;
  border-radius: 0;
}

/*
 * Target {containerClass} button to override .uc-corpNav button
 */

.uc-omnibox-searchButton {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  width: 48px;
  height: 48px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.uc-omnibox-clearButton {
  display: none;
  border: 0;
  opacity: 0;
  visibility: hidden;
}

.uc-omnibox-searchIcon {
  margin: auto;
  width: 24px;
  height: 24px;
}

.uc-omnibox-inlineSearchIcon {
  display: none;
  /* The input itself has left padding baked in, so the right margin here is 8px instead of 16px. */
  margin: 8px 8px 8px 16px;
  width: 24px;
  height: 24px;
}

.uc-omnibox-searchButton>.cx-icon {
  width: 16px;
  width: var(--cx-btn-iconWidth);
  height: 16px;
  height: var(--cx-btn-iconWidth);
  fill: #FFFFFF;
  fill: var(--cx-color-white);
}

.uc-omnibox-listingTypeButton {
  border: none;
  padding: 0;
  width: 80px;
  height: 32px;
  height: var(--uc-omnibox-button-height);
  border-radius: 0;
  font-size: 14px;
}

/* Emulate the omnibox tab-selected outer glow for the Buy and Rent tabs */

.uc-omnibox-listingTypeButton:focus {
  z-index: 500;
  border-color: #003375;
  border-color: var(--cx-color-interactiveActive);
  box-shadow: var(--omnibox-focus-shadow);
  box-shadow: var(--omnibox-focus-shadow);
}

.uc-omnibox-listingTypeButton.is-active,
.uc-omnibox-listingTypeButton.is-active:hover {
  background-color: #FFFFFF;
  background-color: var(--cx-color-background);
  color: #000000;
  color: var(--cx-color-black);
}

.uc-omnibox-listingTypeSelect {
  display: inline-flex;
  z-index: 300;
  z-index: var(--cx-zIndex-3);
}

/* Mobile input */

.uc-omnibox-mobileInput {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.uc-omnibox-mobileInputWrapper {
  display: flex;
  justify-content: space-between;
  background: #FFFFFF;
  background: var(--cx-color-white);
  background-color: #FFFFFF;
  background-color: var(--cx-color-white);
  filter: drop-shadow(0 1px 20px rgba(0, 0, 0, 0.5));
}

.uc-omnibox-mobileContent {
  margin: 0;
  border: none;
  padding: 8px 8px;
  padding: var(--cx-verticalPadding--md) var(--cx-horizontalPadding--md);
  width: calc(100% - 40px);
  color: #6C6C6C;
  color: var(--cx-color-textSubtle);
  background: none;
  outline: none;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  text-align: left;
}

.internalLinks-citiesDropdown {
  margin-bottom: 64px;
  margin-bottom: var(--cx-spacing-8x);
}

.internalLinks-dropdown {
  margin-top: 32px;
  margin-top: var(--cx-spacing-4x);
}

.internalLinks-list {
  display: grid;
  padding: 0;
  list-style-type: none;
  grid-template-rows: repeat(5, 1fr);
  grid-auto-flow: column;
  grid-gap: 20px;
}

.internalLinks-dropdown input,
.internalLinks-label {
  display: none;
}

.internalLinks-sectionHeader {
  margin-bottom: 8px;
  margin-bottom: var(--cx-spacing-1x);
}

@media (max-width: 1023px) {
  .internalLinks-dropdown {
    display: flex;
    flex-direction: column-reverse;
  }

  .internalLinks-label {
    display: flex;
    align-items: center;
  }

  .internalLinks-dropdown {
    margin-top: 16px;
    margin-top: var(--cx-spacing-2x);
  }

  .internalLinks-list {
    display: none;
    grid-template-rows: repeat(7, 1fr);
  }

  #internalLinks-citiesCheckboxToggle:checked ~ .internalLinks-list,
  #internalLinks-marketsCheckboxToggle:checked ~ .internalLinks-list {
    display: grid;
  }
}

@media (max-width: 511px) {
  .internalLinks-list {
    grid-template-rows: none;
    grid-auto-flow: unset;
  }
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL25vZGVfbW9kdWxlcy9AdWMvbGlzdGluZy1waG90b2NhcmQucmVhY3QvZGlzdC9saXN0aW5nLXBob3RvY2FyZC5yZWFjdC5zdHlsZXMuY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0B1Yy9saXN0aW5nLWFkLWNhcmQucmVhY3Qvc3JjL3N0eWxlcy5wY3NzIiwiLi4vY2xpZW50LXNyYy9oZXJvLnBjc3MiLCIuLi9jbGllbnQtc3JjL2xpc3RpbmcucGNzcyIsIi4uL2NsaWVudC1zcmMvZ3VpZGVzLnBjc3MiLCIuLi9jbGllbnQtc3JjL2NvbmNpZXJnZS5wY3NzIiwiLi4vY2xpZW50LXNyYy9ob21lcGFnZS5wY3NzIiwiLi4vY2xpZW50LXNyYy9pbmRleC5wY3NzIiwiLi4vY2xpZW50LXNyYy9vbW5pYm94LnBjc3MiLCIuLi9jbGllbnQtc3JjL2ludGVybmFsTGlua3MucGNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Z0RBRWdEOztBQUVoRDtFQUNFLGtCQUFrQjtBQUNwQjs7QUFFQSwwQkFBMEIsYUFBYSxFQUFFOztBQUV6QztFQUNFLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsWUFBWTtBQUNkOztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxZQUFZO0FBQ2Q7O0FBRUEsY0FBYzs7QUFFZDtFQUNFLHdDQUF3QztFQUN4Qyx5QkFBeUI7S0FDdEIsc0JBQXNCO01BQ3JCLHFCQUFxQjtVQUNqQixpQkFBaUI7QUFDM0I7O0FBRUE7RUFDRSxZQUFZO0VBQ1osb0JBQW9CO0VBQ3BCLFlBQVk7QUFDZDs7QUFFQTtFQUNFLHdCQUF3QjtFQUN4QixnQkFBZ0I7QUFDbEI7O0FBRUEsOEJBQThCOztBQUU5QjtFQUNFLGtCQUFrQjtFQUNsQixtQ0FBbUM7RUFDbkMsWUFBWTtFQUNaLFdBQVc7QUFDYjs7QUFFQTtFQUNFLGlCQUFpQjtFQUNqQixlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsYUFBYTtFQUNiLDBCQUEwQjtBQUM1Qjs7QUFFQTtFQUNF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QWdDO0lBQWhDLGdDQUFnQztFQUNsQzs7RUFFQTtJQUNFLGFBQWE7SUFDYixrQ0FBa0M7RUFDcEM7O0VBRUE7O0lBRUUsYUFBYTtFQUNmO0FBQ0Y7O0FBRUE7RUFDRTtJQUNFLHdCQUF3QjtJQUN4QixxQkFBcUI7RUFDdkI7QUFDRiIsImZpbGUiOiJiYXNlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qISBGbGlja2l0eSB2Mi4yLjJcbmh0dHBzOi8vZmxpY2tpdHkubWV0YWZpenp5LmNvXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5mbGlja2l0eS1lbmFibGVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZmxpY2tpdHktZW5hYmxlZDpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuLmZsaWNraXR5LXZpZXdwb3J0IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5mbGlja2l0eS1zbGlkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi8qIGRyYWdnYWJsZSAqL1xuXG4uZmxpY2tpdHktZW5hYmxlZC5pcy1kcmFnZ2FibGUge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uZmxpY2tpdHktZW5hYmxlZC5pcy1kcmFnZ2FibGUgLmZsaWNraXR5LXZpZXdwb3J0IHtcbiAgY3Vyc29yOiBtb3ZlO1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcbiAgY3Vyc29yOiBncmFiO1xufVxuXG4uZmxpY2tpdHktZW5hYmxlZC5pcy1kcmFnZ2FibGUgLmZsaWNraXR5LXZpZXdwb3J0LmlzLXBvaW50ZXItZG93biB7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZztcbiAgY3Vyc29yOiBncmFiYmluZztcbn1cblxuLyogLS0tLSBmbGlja2l0eS1idXR0b24gLS0tLSAqL1xuXG4uZmxpY2tpdHktYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiBoc2xhKDAsIDAlLCAxMDAlLCAwLjc1KTtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogIzMzMztcbn1cblxuLmZsaWNraXR5LWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5mbGlja2l0eS1idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiAwIDAgMCA1cHggIzE5Rjtcbn1cblxuLmZsaWNraXR5LWJ1dHRvbjphY3RpdmUge1xuICBvcGFjaXR5OiAwLjY7XG59XG5cbi5mbGlja2l0eS1idXR0b246ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjM7XG4gIGN1cnNvcjogYXV0bztcbiAgLyogcHJldmVudCBkaXNhYmxlZCBidXR0b24gZnJvbSBjYXB0dXJpbmcgcG9pbnRlciB1cCBldmVudC4gIzcxNiAqL1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmZsaWNraXR5LWJ1dHRvbi1pY29uIHtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG4vKiAtLS0tIHByZXZpb3VzL25leHQgYnV0dG9ucyAtLS0tICovXG5cbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uIHtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgLyogdmVydGljYWxseSBjZW50ZXIgKi9cbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbi5wcmV2aW91cyB7IGxlZnQ6IDEwcHg7IH1cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ubmV4dCB7IHJpZ2h0OiAxMHB4OyB9XG5cbi8qIHJpZ2h0IHRvIGxlZnQgKi9cblxuLmZsaWNraXR5LXJ0bCAuZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbi5wcmV2aW91cyB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxMHB4O1xufVxuXG4uZmxpY2tpdHktcnRsIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLm5leHQge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTBweDtcbn1cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24gLmZsaWNraXR5LWJ1dHRvbi1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAyMCU7XG4gIHRvcDogMjAlO1xuICB3aWR0aDogNjAlO1xuICBoZWlnaHQ6IDYwJTtcbn1cblxuLyogLS0tLSBwYWdlIGRvdHMgLS0tLSAqL1xuXG4uZmxpY2tpdHktcGFnZS1kb3RzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgYm90dG9tOiAtMjVweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uZmxpY2tpdHktcnRsIC5mbGlja2l0eS1wYWdlLWRvdHMgeyBkaXJlY3Rpb246IHJ0bDsgfVxuXG4uZmxpY2tpdHktcGFnZS1kb3RzIC5kb3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIG1hcmdpbjogMCA4cHg7XG4gIGJhY2tncm91bmQ6ICMzMzM7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZmxpY2tpdHktcGFnZS1kb3RzIC5kb3QuaXMtc2VsZWN0ZWQge1xuICBvcGFjaXR5OiAxO1xufVxuXG46cm9vdCB7XG4gIC0tdWMtbGlzdGluZ0NhcmQtcGFkZGluZy0tc206IDhweDtcbiAgLS11Yy1saXN0aW5nQ2FyZC1wYWRkaW5nOiAxMHB4O1xuICAtLXVjLWxpc3RpbmdDYXJkLWNvbnRlbnRQYWRkaW5nOiAyMHB4O1xuXG4gIC0tdWMtbGlzdGluZ0NhcmQtZm9udFNpemUtLXNtOiAxMnB4O1xuICAtLXVjLWxpc3RpbmdDYXJkLWZvbnRTaXplLS1tZDogMTNweDtcbiAgLS11Yy1saXN0aW5nQ2FyZC1mb250U2l6ZS0tbGc6IDE0cHg7XG4gIC0tdWMtbGlzdGluZ0NhcmQtZm9udFNpemUtLXhsZzogMTZweDtcblxuICAtLXVjLWxpc3RpbmdDYXJkLWxpbmVIZWlnaHQtLXhzbTogMTRweDtcbiAgLS11Yy1saXN0aW5nQ2FyZC1saW5lSGVpZ2h0LS1zbTogMTVweDtcbiAgLS11Yy1saXN0aW5nQ2FyZC1saW5lSGVpZ2h0LS1tZDogMTRweDtcbiAgLS11Yy1saXN0aW5nQ2FyZC1saW5lSGVpZ2h0LS1sZzogMTRweDtcbiAgLS11Yy1saXN0aW5nQ2FyZC1saW5lSGVpZ2h0LS14bGc6IDE2cHg7XG5cbiAgLS11Yy1saXN0aW5nQ2FyZC1pbWFnZVdpZHRoLS14czogMTE0cHg7XG4gIC0tdWMtbGlzdGluZ0NhcmQtaW1hZ2VIZWlnaHQtLXhzOiA4OXB4O1xuICAtLXVjLWxpc3RpbmdDYXJkLWltYWdlV2lkdGgtLXNtOiAxMDBweDtcbiAgLS11Yy1saXN0aW5nQ2FyZC1pbWFnZUhlaWdodC0tc206IDc3cHg7XG4gIC0tdWMtbGlzdGluZ0NhcmQtaW1hZ2VXaWR0aC0tbGc6IDEzMHB4O1xuICAtLXVjLWxpc3RpbmdDYXJkLWltYWdlSGVpZ2h0LS1sZzogMTAwcHg7XG4gIC0tdWMtbGlzdGluZ0NhcmQtYm9yZGVyQ29sb3I6ICNEQURBREE7XG4gIC0tdWMtbGlzdGluZ0NhcmQtYm9yZGVyQ29sb3I6IHZhcigtLWN4LWNvbG9yLWJvcmRlcik7XG5cbiAgLS11Yy1saXN0aW5nQ2FyZC1wcmltYXJ5VGV4dENvbG9yOiAjMTcxNzE3O1xuXG4gIC0tdWMtbGlzdGluZ0NhcmQtcHJpbWFyeVRleHRDb2xvcjogdmFyKC0tY3gtY29sb3ItdGV4dCk7XG4gIC0tdWMtbGlzdGluZ0NhcmQtc2Vjb25kYXJ5VGV4dENvbG9yOiAjNkM2QzZDO1xuICAtLXVjLWxpc3RpbmdDYXJkLXNlY29uZGFyeVRleHRDb2xvcjogdmFyKC0tY3gtY29sb3ItdGV4dFN1YnRsZSk7XG4gIC0tdWMtbGlzdGluZ0NhcmQtc3RhdERpdmlkZXJDb2xvcjogIzhEOEQ4RDtcbiAgLS11Yy1saXN0aW5nQ2FyZC1zdGF0RGl2aWRlckNvbG9yOiB2YXIoLS1jeC1jb2xvci1ncmV5NzApO1xuXG4gIC8qKlxuICAgKiBUT0RPOiBSZWZhY3RvciB0aGVzZSB2YXJpYWJsZXMgb3V0IHNvIHRoZXkgZXhpc3QgaW4gdGhlIGxpc3RpbmcgY29tcG9uZW50IGFuZCByZS1pbXBvcnRlZCBoZXJlXG4gICAqIG9uY2UgdGhlIGxpc3RpbmcgY29tcG9uZW50IGlzIGF2YWlsYWJsZSBhcyBhIGRlcGVuZGVuY3kuXG4gICAqL1xuICAtLWxpc3RpbmctYmFkZ2VzLWluY2VudGl2ZXNDb2xvcjogIzNBQUM2RjtcbiAgLS1saXN0aW5nLWJhZGdlcy1pbmNlbnRpdmVzQ29sb3I6IHZhcigtLWN4LWNvbG9yLXN1Y2Nlc3MpO1xuICAtLWxpc3RpbmctYmFkZ2VzLWFjdGl2ZVN0YXR1c0NvbG9yOiAjMkE3RTUxO1xuICAtLWxpc3RpbmctYmFkZ2VzLWFjdGl2ZVN0YXR1c0NvbG9yOiB2YXIoLS1jeC1jb2xvci1ncmVlbjkwKTtcbiAgLS1saXN0aW5nLWJhZGdlcy12aXJ0dWFsT3BlbkhvdXNlQmFkZ2VDb2xvcjogIzAzN0E4MjtcbiAgLS1saXN0aW5nLWJhZGdlcy12aXJ0dWFsT3BlbkhvdXNlQmFkZ2VDb2xvcjogdmFyKC0tY3gtY29sb3ItdGVhbDEwMCk7XG4gIC0tbGlzdGluZy1iYWRnZXMtdmlydHVhbFRvdXJUZXh0Q29sb3I6ICMwMzdBODI7XG4gIC0tbGlzdGluZy1iYWRnZXMtdmlydHVhbFRvdXJUZXh0Q29sb3I6IHZhcigtLWN4LWNvbG9yLXRlYWwxMDApO1xuICAtLWxpc3RpbmctYmFkZ2VzLXZpcnR1YWxUb3VyQmFkZ2VDb2xvcjogI0RERjdGOTtcbiAgLS1saXN0aW5nLWJhZGdlcy12aXJ0dWFsVG91ckJhZGdlQ29sb3I6IHZhcigtLWN4LWNvbG9yLXRlYWwzMCk7XG4gIC0tbGlzdGluZy1iYWRnZXMtcGVuZGluZ1N0YXR1c0NvbG9yOiAjRkZGN0RGO1xuICAtLWxpc3RpbmctYmFkZ2VzLXBlbmRpbmdTdGF0dXNDb2xvcjogdmFyKC0tY3gtY29sb3ItZmFpbnRIaWdobGlnaHQpO1xuICAtLWxpc3RpbmctYmFkZ2VzLW9mZk1hcmtldFN0YXR1c0NvbG9yOiAjQUUwOTE3O1xuICAtLWxpc3RpbmctYmFkZ2VzLW9mZk1hcmtldFN0YXR1c0NvbG9yOiB2YXIoLS1jeC1jb2xvci1jcml0aWNhbCk7XG4gIC0tbGlzdGluZy1iYWRnZXMtY29tcGFzc0V4Y2x1c2l2ZUJhZGdlQ29sb3I6ICMwMDAwMDA7XG4gIC0tbGlzdGluZy1iYWRnZXMtY29tcGFzc0V4Y2x1c2l2ZUJhZGdlQ29sb3I6IHZhcigtLWN4LWNvbG9yLWJsYWNrKTtcbiAgLS1saXN0aW5nLWJhZGdlcy1zb2xkQ29sb3I6ICNEREY3Rjk7XG4gIC0tbGlzdGluZy1iYWRnZXMtc29sZENvbG9yOiB2YXIoLS1jeC1jb2xvci10ZWFsMzApO1xuICAtLWxpc3RpbmctYmFkZ2VzLW5vbkNvbXBhc3NTb3VyY2VDb2xvcjogI0RBREFEQTtcbiAgLS1saXN0aW5nLWJhZGdlcy1ub25Db21wYXNzU291cmNlQ29sb3I6IHZhcigtLWN4LWNvbG9yLWJvcmRlcik7XG4gIC0tbGlzdGluZy1iYWRnZXMtY29taW5nU29vbkNvbG9yOiAjRkZGRkZGO1xuICAtLWxpc3RpbmctYmFkZ2VzLWNvbWluZ1Nvb25Db2xvcjogdmFyKC0tY3gtY29sb3ItYmFja2dyb3VuZCk7XG4gIC0tbGlzdGluZy1iYWRnZXMtbmV3TGlzdGluZ0NvbG9yOiAjMkE3RTUxO1xuICAtLWxpc3RpbmctYmFkZ2VzLW5ld0xpc3RpbmdDb2xvcjogdmFyKC0tY3gtY29sb3ItZ3JlZW45MCk7XG4gIC0tbGlzdGluZy1iYWRnZXMtcHJpY2VDaGFuZ2VDb2xvcjogI0ZGRjdERjtcbiAgLS1saXN0aW5nLWJhZGdlcy1wcmljZUNoYW5nZUNvbG9yOiB2YXIoLS1jeC1jb2xvci1mYWludEhpZ2hsaWdodCk7XG59XG5cbi8qKlxuICogTGlzdGluZyBDYXJkXG4gKlxuICogT3VyIHN0YW5kYXJkIGxpc3RpbmcgY2FyZCBjb21wb25lbnQuIEJ1aWxkcyBvZmYgb2YgYzAtY2FyZC5cbiAqIENhbiBoYXZlIGNsaWNrYWJsZSBpbWFnZSBhbmQgdGl0bGUgdGV4dC5cbiAqXG4gKiAudWMtbGlzdGluZ0NhcmQtLWNsaWNrYWJsZSAtIEVuYWJsZXMgY2xpY2thYmxlIGltYWdlL3RpdGxlIHRleHRcbiAqXG4gKiBNYXJrdXA6IDx1Yy1saXN0aW5nLWNhcmQgc2l6ZT1cInNtXCI+Li4uPC91Yy1saXN0aW5nLWNhcmQ+XG4gKlxuICogSXQgY2FuIGhhdmUgdGhlIGF0dHJpYnV0ZSBzaXplIHNldCB0byBlaXRoZXIgJ21kJywgJ3NtJyBvciAneHMuXG4gKiBJZiBzaXplIGlzIG5vdCBzZXQsICdtZCcgaXMgdGFrZW4gYXMgdGhlIGRlZmF1bHQgc2l6ZS5cbiAqIEluIGNhc2Ugb2Ygc2l6ZSA9ICdtZCcgLnVjLWxpc3RpbmdDYXJkIHN0eWxlcyBhcmUgdXNlZCB3aGVyZWFzXG4gKiBpbiBjYXNlIG9mIHNpemUgPSAnc20nIHN0eWxlcyBoYXZlIGEgcGFyZW50IHNlbGVjdG9yIG9mIC51Yy1saXN0aW5nQ2FyZC0tc20uXG4gKiBpbiBjYXNlIG9mIHNpemUgPSAneHMnIHN0eWxlcyBoYXZlIGEgcGFyZW50IHNlbGVjdG9yIG9mIC51Yy1saXN0aW5nQ2FyZC0teHMuXG4gKi9cblxuLnVjLWxpc3RpbmdDYXJkIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0RBREFEQTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdWMtbGlzdGluZ0NhcmQtYm9yZGVyQ29sb3IpO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWN4LWJvcmRlclJhZGl1cyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWN4LWNvbG9yLWJhY2tncm91bmQpO1xufVxuXG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAudWMtbGlzdGluZ0NhcmQ6aG92ZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xcHg7XG4gICAgcmlnaHQ6IC0xcHg7XG4gICAgYm90dG9tOiAtMXB4O1xuICAgIGxlZnQ6IC0xcHg7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggIzhEOEQ4RDtcbiAgICBib3JkZXI6IHNvbGlkIDFweCB2YXIoLS1jeC1jb2xvci1ncmV5NzApO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWN4LWJvcmRlclJhZGl1cykgKyAxcHgpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICB6LWluZGV4OiB2YXIoLS1jeC16SW5kZXgtMSk7XG4gIH1cblxuICAudWMtbGlzdGluZ0NhcmQ6aG92ZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRkZGRkY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3gtY29sb3Itd2hpdGUpO1xuICB9XG59XG5cbi51Yy1saXN0aW5nQ2FyZDpmb2N1cy13aXRoaW46YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMXB4O1xuICByaWdodDogLTFweDtcbiAgYm90dG9tOiAtMXB4O1xuICBsZWZ0OiAtMXB4O1xuICBib3JkZXI6IHNvbGlkIDFweCAjOEQ4RDhEO1xuICBib3JkZXI6IHNvbGlkIDFweCB2YXIoLS1jeC1jb2xvci1ncmV5NzApO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tY3gtYm9yZGVyUmFkaXVzKSArIDFweCk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAxMDA7XG4gIHotaW5kZXg6IHZhcigtLWN4LXpJbmRleC0xKTtcbn1cblxuLnVjLWxpc3RpbmdDYXJkOmZvY3VzLXdpdGhpbiB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNGRkZGRkY7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWN4LWNvbG9yLXdoaXRlKTtcbn1cblxuLnVjLWxpc3RpbmdDYXJkLWNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIHBhZGRpbmc6IHZhcigtLXVjLWxpc3RpbmdDYXJkLXBhZGRpbmcpIHZhcigtLXVjLWxpc3RpbmdDYXJkLWNvbnRlbnRQYWRkaW5nKTtcbiAgZmxleC1ncm93OiAxO1xuICBvcmRlcjogMjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udWMtbGlzdGluZ0NhcmQtYm9keSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIC8qIFJlbW92ZXMgZGVmYXVsdCB1bmRlcmxpbmUgb24gbGluayAqL1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qIFVzZWQgdG8gd29yayBhcm91bmQgYSBrbm93biBidWcgYmV0d2VlbiBGaXJlZm94IGFuZCBmbGV4Ym94LiBVc2luZyBhIHdyYXBwZXIgZGl2IHdpdGhcbiAqIGRpc3BsYXk6YmxvY2sgc2V0IGVuc3VyZXMgb3VyIGJhY2tncm91bmQtaW1hZ2UncyBwYWRkaW5nIHJhdGlvIHRyaWNrIHdvcmtzIGFzIGludGVuZGVkLlxuICovXG5cbi51Yy1saXN0aW5nQ2FyZC1maXJlZm94Rml4IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnVjLWxpc3RpbmdDYXJkLWNhcm91c2VsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlOyAvKiBUaGlzIGZvcmNlcyBhIDQ6MyBhc3BlY3QgcmF0aW8gKi9cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyAvKiBtYWtlIHNjcm9sbGluZyBzbW9vdGggb24gaU9TICovXG4gIHotaW5kZXg6IDE7IC8qIG1ha2Ugc3VyZSBpdCBpcyBvbiB0b3Agb2YgdGhlIHN0YXRpY2x5IGRpc3BsYXllZCBpbWFnZSAqL1xufVxuXG4udWMtbGlzdGluZ0NhcmQtY2Fyb3VzZWwuZmxpY2tpdHktZW5hYmxlZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgLyogRW5zdXJlcyAuZmxpY2t0aXktZW5hYmxlZCBkb2Vzbid0IHJlc2V0IHRoZSBwb3NpdGlvbiBiYWNrIHRvIHJlbGF0aXZlICovXG59XG5cbi8qIHZpZXdwb3J0IGluaGVyaXQgc2l6ZSBmcm9tIGNhcm91c2VsICovXG5cbi51Yy1saXN0aW5nQ2FyZC1jYXJvdXNlbCAuZmxpY2tpdHktdmlld3BvcnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udWMtbGlzdGluZ0NhcmQtLXNtIC51Yy1saXN0aW5nQ2FyZC1jYXJvdXNlbCB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTIwcHg7XG4gIHdpZHRoOiBjYWxjKHZhcigtLXVjLWxpc3RpbmdDYXJkLWltYWdlV2lkdGgtLXNtKSArIHZhcigtLXVjLWxpc3RpbmdDYXJkLXBhZGRpbmcpKjIpO1xuICBoZWlnaHQ6IDk3cHg7XG4gIGhlaWdodDogY2FsYyh2YXIoLS11Yy1saXN0aW5nQ2FyZC1pbWFnZUhlaWdodC0tc20pICsgdmFyKC0tdWMtbGlzdGluZ0NhcmQtcGFkZGluZykqMik7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1MTJweCkge1xuXG4udWMtbGlzdGluZ0NhcmQtLXNtIC51Yy1saXN0aW5nQ2FyZC1jYXJvdXNlbCB7XG4gICAgd2lkdGg6IDE1MHB4O1xuICAgIHdpZHRoOiBjYWxjKHZhcigtLXVjLWxpc3RpbmdDYXJkLWltYWdlV2lkdGgtLWxnKSArIHZhcigtLXVjLWxpc3RpbmdDYXJkLXBhZGRpbmcpKjIpO1xuICAgIGhlaWdodDogMTIwcHg7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXVjLWxpc3RpbmdDYXJkLWltYWdlSGVpZ2h0LS1sZykgKyB2YXIoLS11Yy1saXN0aW5nQ2FyZC1wYWRkaW5nKSoyKVxufVxuICB9XG5cbi51Yy1saXN0aW5nQ2FyZC1jYXJvdXNlbENlbGwuaXMtc2VsZWN0ZWQge1xuICBvcGFjaXR5OiAxO1xufVxuXG4udWMtbGlzdGluZ0NhcmQtdGl0bGUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIGNvbG9yOiAjMTcxNzE3O1xuICBjb2xvcjogdmFyKC0tY3gtY29sb3ItdGV4dCk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICBmb250LWZhbWlseTogXCJDb21wYXNzIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcblxuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHlTYW5zLCBcIkNvbXBhc3MgU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmKTtcblxuICBmb250LXdlaWdodDogNTAwO1xuXG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodE1lZGl1bSwgNTAwKTtcblxuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi51Yy1saXN0aW5nQ2FyZC1zdWJ0aXRsZSB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTVweDtcbiAgY29sb3I6ICM2QzZDNkM7XG4gIGNvbG9yOiB2YXIoLS1jeC1jb2xvci10ZXh0U3VidGxlKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuXG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseUxlZ2libGUsIFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYpO1xuXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0UmVndWxhciwgNDAwKTtcblxuICBmb250LXN0eWxlOiBub3JtYWw7XG5cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYXV0bztcblxuICAtbW96LW9zeC1mb250LXNtb290aGluZzogYXV0bztcblxuICBmb250LXNtb290aGluZzogYXV0bztcbn1cblxuLnVjLWxpc3RpbmdDYXJkLWltYWdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAycHg7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1jeC1ib3JkZXJSYWRpdXMpO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAycHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWN4LWJvcmRlclJhZGl1cyk7XG4gIHBhZGRpbmctYm90dG9tOiA3NSU7IC8qIFRoaXMgZm9yY2VzIGEgNDozIGFzcGVjdCByYXRpbyAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jeC1jb2xvci1iYWNrZ3JvdW5kQ29udGFpbmVyQWNjZW50KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3gtY29sb3ItYmFja2dyb3VuZENvbnRhaW5lckFjY2VudCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogRmxvb3JwbGFucyBhbmQgb3RoZXIgaW1hZ2VzIHdpdGggd2hpdGUgYmFja2dyb3VuZHMgZG9uJ3QgbG9vayBzbyBnb29kIG92ZXJsYWlkIG92ZXIgdGhlIGJvcmRlcnMuXG4gKiBBcHBseWluZyB0aGlzIGNsYXNzIHVuZG9lcyBpdCBhbmQgaW5zZXRzIHRoZSBpbWFnZS5cbiAqXG4gKiBUaGUgYm90dG9tIG5lZWRzIGEgbmVnYXRpdmUgbWFyZ2luIHNvIHRoYXQgdGhlIHRleHQgYmVsb3cgdGhlIGltYWdlIHN0aWxsIGxpbmVzIHVwIHdpdGggdGhlIG90aGVyXG4gKiBsaXN0aW5nIGNhcmRzLlxuICovXG5cbi51Yy1saXN0aW5nQ2FyZC1pbWFnZS0taW5zZXQge1xuICBtYXJnaW46IDAgMCAtMXB4IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udWMtbGlzdGluZ0NhcmQtLWNsaWNrYWJsZSAudWMtbGlzdGluZ0NhcmQtaW1hZ2UsXG4udWMtbGlzdGluZ0NhcmQtLWNsaWNrYWJsZSAudWMtbGlzdGluZ0NhcmQtdGl0bGUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qKlxuICogSWYgb25MaXN0aW5nQ2xpY2sgaXMgYW4gZW1wdHkgc3RyaW5nLFxuICogdGhlIGFwcCBtYWtlcidzIGludGVudGlvbiBpcyB0byBkbyBub3RoaW5nIHdoZW4gdGhlIGNhcmQgaXMgY2xpY2tlZC5cbiAqIFRvIGF2b2lkIGNvbmZ1c2lvbiBkdWUgdG8gY3Vyc29yOiBwb2ludGVyLCB0aGUgY3Vyc29yIGlzIHNldCB0byBkZWZhdWx0LlxuKi9cblxuLnVjLWxpc3RpbmdDYXJkLS11bmNsaWNrYWJsZSAudWMtbGlzdGluZ0NhcmQtaW1hZ2UsXG4udWMtbGlzdGluZ0NhcmQtLXVuY2xpY2thYmxlIC51Yy1saXN0aW5nQ2FyZC10aXRsZSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyogUmVtb3ZlIGZsaWNrZXIgdGhhdCBvY2N1cnMgd2hlbiBGbGlja2l0eSBhbmQgdGhlIGRpdlxuICBjb250YWluaW5nIGl0IGFyZSByZWJ1aWx0IGZyZXF1ZW50bHkuIFRoZSBmbGlja2VyIG9jY3Vyc1xuICBvbmx5IGZvciBjYXNlcyB3aGVyZSB0aGUgaW1hZ2VzIGFyZSA8YT4gdGFncyBhbmQgbm90IDxpbWc+XG4gIHRhZ3MuICovXG5cbi51Yy1saXN0aW5nQ2FyZC1pbWFnZUZsaWNrZXJGaXgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnVjLWxpc3RpbmdDYXJkLWhlcm9JbWFnZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbi51Yy1saXN0aW5nQ2FyZC1jb3JuZXJCb3hDb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgdG9wOiB2YXIoLS11Yy1saXN0aW5nQ2FyZC1wYWRkaW5nKTtcbiAgbGVmdDogMTBweDtcbiAgbGVmdDogdmFyKC0tdWMtbGlzdGluZ0NhcmQtcGFkZGluZyk7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA1MHB4KTtcbn1cblxuLnVjLWxpc3RpbmdDYXJkLWNvcm5lckJveCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogM3B4IDhweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLXVjLWxpc3RpbmdDYXJkLXBhZGRpbmcpO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWN4LWJvcmRlclJhZGl1cyk7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC1zaXplOiB2YXIoLS11Yy1saXN0aW5nQ2FyZC1mb250U2l6ZS0tc20pO1xuICBsaW5lLWhlaWdodDogMTBweDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGNvbG9yOiB2YXIoLS1jb2xvckludGVudC10ZXh0QnJpZ2h0QmFja2dyb3VuZERhcmspO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB6LWluZGV4OiAxMDA7XG4gIHotaW5kZXg6IHZhcigtLWN4LXpJbmRleC0xKTtcblxuICBmb250LWZhbWlseTogXCJDb21wYXNzIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcblxuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHlTYW5zLCBcIkNvbXBhc3MgU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmKTtcblxuICBmb250LXdlaWdodDogNzAwO1xuXG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodEJvbGQsIDcwMCk7XG5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4udWMtbGlzdGluZ0NhcmQtY29ybmVyQm94LS1hY3RpdmUge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgY29sb3I6IHZhcigtLWNvbG9ySW50ZW50LXRleHRCcmlnaHRCYWNrZ3JvdW5kRGFyayk7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyQTdFNTE7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpc3RpbmctYmFkZ2VzLWFjdGl2ZVN0YXR1c0NvbG9yKTtcbn1cblxuLnVjLWxpc3RpbmdDYXJkLWNvcm5lckJveC0tcGVuZGluZyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNEQURBREE7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWN4LWNvbG9yLWJvcmRlcik7XG4gIGNvbG9yOiAjOUE0QjBGO1xuICBjb2xvcjogdmFyKC0tY29sb3JJbnRlbnQtZGl2ZXJnZW50MTIyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjdERjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlzdGluZy1iYWRnZXMtcGVuZGluZ1N0YXR1c0NvbG9yKTtcbn1cblxuLnVjLWxpc3RpbmdDYXJkLWNvcm5lckJveC0tb2ZmTWFya2V0IHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGNvbG9yOiB2YXIoLS1jb2xvckludGVudC10ZXh0QnJpZ2h0QmFja2dyb3VuZERhcmspO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQUUwOTE3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saXN0aW5nLWJhZGdlcy1vZmZNYXJrZXRTdGF0dXNDb2xvcik7XG59XG5cbi51Yy1saXN0aW5nQ2FyZC1jb3JuZXJCb3gtLXNvbGQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjREFEQURBO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jeC1jb2xvci1ib3JkZXIpO1xuICBjb2xvcjogIzAzN0E4MjtcbiAgY29sb3I6IHZhcigtLWN4LWNvbG9yLXRlYWwxMDApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRERGN0Y5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saXN0aW5nLWJhZGdlcy1zb2xkQ29sb3IpO1xufVxuXG4udWMtbGlzdGluZ0NhcmQtY29ybmVyQm94LS1jb21wYXNzRXhjbHVzaXZlIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGNvbG9yOiB2YXIoLS1jb2xvckludGVudC10ZXh0QnJpZ2h0QmFja2dyb3VuZERhcmspO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saXN0aW5nLWJhZGdlcy1jb21wYXNzRXhjbHVzaXZlQmFkZ2VDb2xvcik7XG59XG5cbi51Yy1saXN0aW5nQ2FyZC1jb3JuZXJCb3gtLW5vbkNvbXBhc3NTb3VyY2Uge1xuICBjb2xvcjogIzE3MTcxNztcbiAgY29sb3I6IHZhcigtLWNvbG9ySW50ZW50LXRleHRCb2R5KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RBREFEQTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlzdGluZy1iYWRnZXMtbm9uQ29tcGFzc1NvdXJjZUNvbG9yKTtcbn1cblxuLnVjLWxpc3RpbmdDYXJkLWNvcm5lckJveC0tY29taW5nU29vbiB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNEQURBREE7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWN4LWNvbG9yLWJvcmRlcik7XG4gIGNvbG9yOiAjMTcxNzE3O1xuICBjb2xvcjogdmFyKC0tY3gtY29sb3ItdGV4dCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpc3RpbmctYmFkZ2VzLWNvbWluZ1Nvb25Db2xvcik7XG59XG5cbi51Yy1saXN0aW5nQ2FyZC1jb3JuZXJCb3gtLW9wZW5Ib3VzZSB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBjb2xvcjogdmFyKC0tY29sb3JJbnRlbnQtdGV4dEJyaWdodEJhY2tncm91bmREYXJrKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJBN0U1MTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlzdGluZy1iYWRnZXMtYWN0aXZlU3RhdHVzQ29sb3IpO1xufVxuXG4udWMtbGlzdGluZ0NhcmQtY29ybmVyQm94LS12aXJ0dWFsT3BlbkhvdXNlIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGNvbG9yOiB2YXIoLS1jb2xvckludGVudC10ZXh0QnJpZ2h0QmFja2dyb3VuZERhcmspO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDM3QTgyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saXN0aW5nLWJhZGdlcy12aXJ0dWFsT3BlbkhvdXNlQmFkZ2VDb2xvcik7XG59XG5cbi51Yy1saXN0aW5nQ2FyZC1jb3JuZXJCb3gtLXZpcnR1YWxUb3VyIHtcbiAgY29sb3I6ICMwMzdBODI7XG4gIGNvbG9yOiB2YXIoLS1saXN0aW5nLWJhZGdlcy12aXJ0dWFsVG91clRleHRDb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEREY3Rjk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpc3RpbmctYmFkZ2VzLXZpcnR1YWxUb3VyQmFkZ2VDb2xvcik7XG59XG5cbi51Yy1saXN0aW5nQ2FyZC1jb3JuZXJCb3gtLW5ld0xpc3Rpbmcge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgY29sb3I6IHZhcigtLWNvbG9ySW50ZW50LXRleHRCcmlnaHRCYWNrZ3JvdW5kRGFyayk7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyQTdFNTE7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpc3RpbmctYmFkZ2VzLW5ld0xpc3RpbmdDb2xvcik7XG59XG5cbi51Yy1saXN0aW5nQ2FyZC1jb3JuZXJCb3gtLXByaWNlQ2hhbmdlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI0RBREFEQTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3gtY29sb3ItYm9yZGVyKTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGNvbG9yOiB2YXIoLS1jeC1jb2xvci1ibGFjayk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY3REY7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpc3RpbmctYmFkZ2VzLXByaWNlQ2hhbmdlQ29sb3IpO1xufVxuXG4vKiBPdmVyd3JpdGVzIHBvc2l0aW9uIHJlbGF0aXZlIHNldCBieSBjeC1jaGVja2JveEZpZWxkICovXG5cbi51Yy1saXN0aW5nQ2FyZC1jaGVja2JveC5jeC1jaGVja2JveEZpZWxkLFxuLnVjLWxpc3RpbmdDYXJkLXJlbW92ZUJ0biB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA3cHg7XG4gIHRvcDogY2FsYyh2YXIoLS11Yy1saXN0aW5nQ2FyZC1wYWRkaW5nKSAtIDNweCk7IC8qIFRvIGFsaWduIHdpdGggdGl0bGUgKi9cbiAgcmlnaHQ6IDEwcHg7XG4gIHJpZ2h0OiB2YXIoLS11Yy1saXN0aW5nQ2FyZC1wYWRkaW5nKTtcbiAgei1pbmRleDogMTAwO1xuICB6LWluZGV4OiB2YXIoLS1jeC16SW5kZXgtMSk7IC8qIFB1dHMgdGhpcyBvbiB0b3Agb2YgaW1hZ2VzICovXG59XG5cbi8qIE92ZXJ3cml0ZXMgcG9zaXRpb24gcmVsYXRpdmUgc2V0IGJ5IGN4LWNoZWNrYm94RmllbGQgKi9cblxuLnVjLWxpc3RpbmdDYXJkLXJlbW92ZUJ0biB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDRweCA2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgLnVjLWxpc3RpbmdDYXJkOmhvdmVyIC51Yy1saXN0aW5nQ2FyZC1yZW1vdmVCdG4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi51Yy1saXN0aW5nQ2FyZDpmb2N1cy13aXRoaW4gLnVjLWxpc3RpbmdDYXJkLXJlbW92ZUJ0biB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiBUaGUgaWNvbiBpcyBhIDE2eDE2cHggaWNvbiBidXQgZGVzaWduIHdhbnRzIGEgc3BlY2lhbCBvdmVycmlkZSBmb3IgdGhpcyBjYXNlICovXG5cbi51Yy1saXN0aW5nQ2FyZC1yZW1vdmVJY29uIHtcbiAgLypcbiAgICBUaGlzIGlzIG1vZGlmaWVkIGZyb20gYnV0dG9ucy5jc3MgYW5kIGlzIG5lZWRlZCB0byBjZW50ZXIgdGhlIGljb24gdmVydGljYWxseVxuXG4gICAgQWxzbyBub3RlOiB1c2luZyAxLjI1ZW0gaW5zdGVhZCBvZiB0aGUgYWN0dWFsIGxpbmUgaGVpZ2h0IGJlY2F1c2Ugb2YgYSBDaHJvbWUgcm91bmRpbmcgZXJyb3IuXG4gICAgTWF0aCBpcyBoYXJkLi4uIGFwcGFyZW50bHkuXG4gICAqL1xuICBtYXJnaW46IGNhbGMoMC42MjVlbSAtIDdweCkgMDtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbn1cblxuLnVjLWxpc3RpbmdDYXJkLS1zbSAudWMtbGlzdGluZ0NhcmQtY2hlY2tib3gsXG4udWMtbGlzdGluZ0NhcmQtLXNtIC51Yy1saXN0aW5nQ2FyZC1yZW1vdmVCdG4ge1xuICBmbG9hdDogcmlnaHQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA3cHg7XG4gIHRvcDogY2FsYyh2YXIoLS11Yy1saXN0aW5nQ2FyZC1wYWRkaW5nKSAtIDNweCk7IC8qIFRvIGFsaWduIGNoZWNrYm94IHdpdGggdGl0bGUgKi9cbiAgcmlnaHQ6IDEwcHg7XG4gIHJpZ2h0OiB2YXIoLS11Yy1saXN0aW5nQ2FyZC1wYWRkaW5nKTtcbn1cblxuLnVjLWxpc3RpbmdDYXJkLS14cyAudWMtbGlzdGluZ0NhcmQtY2hlY2tib3gsXG4udWMtbGlzdGluZ0NhcmQtLXhzIC51Yy1saXN0aW5nQ2FyZC1yZW1vdmVCdG4ge1xuICBmbG9hdDogcmlnaHQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA1cHg7XG4gIHRvcDogY2FsYyh2YXIoLS11Yy1saXN0aW5nQ2FyZC1wYWRkaW5nLS1zbSkgLSAzcHgpOyAvKiBUbyBhbGlnbiBjaGVja2JveCB3aXRoIHRpdGxlICovXG4gIHJpZ2h0OiA4cHg7XG4gIHJpZ2h0OiB2YXIoLS11Yy1saXN0aW5nQ2FyZC1wYWRkaW5nLS1zbSk7XG59XG5cbi51Yy1saXN0aW5nQ2FyZC0tc20gLnVjLWxpc3RpbmdDYXJkLXJlbW92ZUJ0biB7XG4gIHJpZ2h0OiA3cHg7XG4gIHJpZ2h0OiBjYWxjKHZhcigtLXVjLWxpc3RpbmdDYXJkLXBhZGRpbmcpIC0gM3B4KTsgLyogQWxpZ25tZW50IHBlciBkZXNpZ25lciByZXF1ZXN0ICovXG59XG5cbi51Yy1saXN0aW5nQ2FyZC1jb21wbGlhbmNlSW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTBweDtcbiAgcmlnaHQ6IHZhcigtLXVjLWxpc3RpbmdDYXJkLXBhZGRpbmcpO1xuICBib3R0b206IDEwcHg7XG4gIGJvdHRvbTogdmFyKC0tdWMtbGlzdGluZ0NhcmQtcGFkZGluZyk7XG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIHotaW5kZXg6IDMwMDtcbiAgei1pbmRleDogdmFyKC0tY3gtekluZGV4LTMpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbn1cblxuLnVjLWxpc3RpbmdDYXJkLS14cyAudWMtbGlzdGluZ0NhcmQtY29tcGxpYW5jZUltZywgLnVjLWxpc3RpbmdDYXJkLS1zbSAudWMtbGlzdGluZ0NhcmQtY29tcGxpYW5jZUltZyB7XG4gICAgYm90dG9tOiA0cHg7XG4gIH1cblxuLnVjLWxpc3RpbmdDYXJkLWNvbXBsaWFuY2VJbWdXaXRoQ2FwdGlvbiB7XG4gIHRvcDogLTUwcHg7XG59XG5cbi51Yy1saXN0aW5nQ2FyZC0teHMgLnVjLWxpc3RpbmdDYXJkLWNvbXBsaWFuY2VJbWdXaXRoQ2FwdGlvbiwgLnVjLWxpc3RpbmdDYXJkLS1zbSAudWMtbGlzdGluZ0NhcmQtY29tcGxpYW5jZUltZ1dpdGhDYXB0aW9uIHtcbiAgICB0b3A6IGluaXRpYWw7XG4gIH1cblxuLyoqXG4gKiBUaGlzIGNhcHRpb24gd3JhcHBlciBmb2xsb3dzIHRoZSBzaXppbmcgb2YgdGhlIGltYWdlIGFuZCBob3VzZXMgdGhlIGNhcHRpb24uXG4gKiBJbiB0aGUgbGlzdGluZyBjYXJkIHdpdGggc2l6ZSA9ICdtZCcsIHRoZSBjYXB0aW9uIGlzIGFic29sdXRlbHkgcG9zaXRpb25lZCBhbmQgc3RpY2tzIHRvXG4gKiBib3R0b20gYW5kIG9yZGVyIHByb3BlcnR5IGlzIHVzZWQgb24gdGhlIGNhcHRpb24gdG8gcGxhY2UgaXQgYmVmb3JlIHRoZSBjYXJkIGNvbnRlbnQuXG4qL1xuXG4udWMtbGlzdGluZ0NhcmQtY2FwdGlvbldyYXBwZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDc1JTtcbn1cblxuLnVjLWxpc3RpbmdDYXJkLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgcGFkZGluZzogNXB4IDE1cHg7XG4gIG9yZGVyOiAxO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTAwO1xuICB6LWluZGV4OiB2YXIoLS1jeC16SW5kZXgtMSk7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC1zaXplOiB2YXIoLS11Yy1saXN0aW5nQ2FyZC1mb250U2l6ZS0tc20pO1xuICBsaW5lLWhlaWdodDogMTVweDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXVjLWxpc3RpbmdDYXJkLWxpbmVIZWlnaHQtLXNtKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3JJbnRlbnQtYmFja2Ryb3ApO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgY29sb3I6IHZhcigtLWNvbG9ySW50ZW50LXRleHRCcmlnaHRCYWNrZ3JvdW5kRGFyayk7XG5cbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5TGVnaWJsZSwgXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZik7XG5cbiAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHRSZWd1bGFyLCA0MDApO1xuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcblxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhdXRvO1xuXG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBhdXRvO1xuXG4gIGZvbnQtc21vb3RoaW5nOiBhdXRvO1xufVxuXG4udWMtbGlzdGluZ0NhcmQtY2FwdGlvbkljb24ge1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICBmaWxsOiAjRkZGRkZGO1xuICBmaWxsOiB2YXIoLS1jb2xvckludGVudC10ZXh0QnJpZ2h0QmFja2dyb3VuZERhcmspO1xufVxuXG4udWMtbGlzdGluZ0NhcmQtY2FwdGlvblRleHQge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi51Yy1saXN0aW5nQ2FyZC1tYWluU3RhdHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDRweDtcbiAgY29sb3I6ICMxNzE3MTc7XG4gIGNvbG9yOiB2YXIoLS11Yy1saXN0aW5nQ2FyZC1wcmltYXJ5VGV4dENvbG9yKTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IHZhcigtLXVjLWxpc3RpbmdDYXJkLWZvbnRTaXplLS14bGcpO1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXVjLWxpc3RpbmdDYXJkLWxpbmVIZWlnaHQtLXhsZyk7XG5cbiAgZm9udC1mYW1pbHk6IFwiQ29tcGFzcyBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5U2FucywgXCJDb21wYXNzIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZik7XG5cbiAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHRSZWd1bGFyLCA0MDApO1xuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLyogU3ViIHN0YXRzIHNob3VsZCBvbmx5IGV2ZXIgZGlzcGxheSBvbmUgbGluZSBvZiB0ZXh0LiBBbnl0aGluZyBiZXlvbmQgdGhhdCBzaG91bGQgZ2V0IGhpZGRlbi4gKi9cblxuLnVjLWxpc3RpbmdDYXJkLXN1YlN0YXRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKiBzZXQgaGVpZ2h0IHRvIGhpZGUgYW55IHdyYXBwZWQgc3ViLWl0ZW1zICovXG4gIGhlaWdodDogMjVweDtcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLXVjLWxpc3RpbmdDYXJkLWxpbmVIZWlnaHQtLXNtKSArIHZhcigtLXVjLWxpc3RpbmdDYXJkLXBhZGRpbmcpKTtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS11Yy1saXN0aW5nQ2FyZC1wYWRkaW5nKTtcbiAgY29sb3I6ICMxNzE3MTc7XG4gIGNvbG9yOiB2YXIoLS11Yy1saXN0aW5nQ2FyZC1wcmltYXJ5VGV4dENvbG9yKTtcbiAgLyogc2V0IG92ZXJmbG93IHRvIGhpZGUgYW55IHdyYXBwZWQgc3ViLWl0ZW1zICovXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC1zaXplOiB2YXIoLS11Yy1saXN0aW5nQ2FyZC1mb250U2l6ZS0tc20pO1xuICBsaW5lLWhlaWdodDogMTVweDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXVjLWxpc3RpbmdDYXJkLWxpbmVIZWlnaHQtLXNtKTtcblxuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcblxuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHlMZWdpYmxlLCBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmKTtcblxuICBmb250LXdlaWdodDogNDAwO1xuXG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodFJlZ3VsYXIsIDQwMCk7XG5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGF1dG87XG5cbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGF1dG87XG5cbiAgZm9udC1zbW9vdGhpbmc6IGF1dG87XG59XG5cbi51Yy1saXN0aW5nQ2FyZC1zdWJTdGF0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgcGFkZGluZzogMCB2YXIoLS11Yy1saXN0aW5nQ2FyZC1wYWRkaW5nKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyoqXG4gKiBXZSB3YW50IGNvbXBsZXRlIGNvbnRyb2wgb3ZlciB0aGUgaGVpZ2h0IG9mIHRoZSBkaXZpZGVycyBiZXR3ZWVuIHN1YnN0YXRzLCBzbyB3ZSdyZSByZW5kZXJpbmcgYVxuICogcHNldWRvIGVsZW1lbnQgYW5kIGRyYXdpbmcgdGhlIGJvcmRlciBvbiB0aGF0IGluc3RlYWQgb2Ygb24gdGhlIGVsZW1lbnQgaXRzZWxmLlxuICovXG5cbi51Yy1saXN0aW5nQ2FyZC1zdWJTdGF0OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDNweDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMnB4O1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjOEQ4RDhEO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS11Yy1saXN0aW5nQ2FyZC1zdGF0RGl2aWRlckNvbG9yKTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnVjLWxpc3RpbmdDYXJkLXN1YlN0YXQ6bGFzdC1jaGlsZDphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi51Yy1saXN0aW5nQ2FyZC1zdWJTdGF0OmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4udWMtbGlzdGluZ0NhcmQtc3ViU3RhdC0tc3FGdDpiZWZvcmUge1xuICBjb250ZW50OiAnfic7XG4gIGZvbnQtZmFtaWx5OiBcIkNvbXBhc3MgU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHlTYW5zLCBcIkNvbXBhc3MgU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0UmVndWxhciwgNDAwKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4udWMtbGlzdGluZ0NhcmQtaW1hZ2VQbGFjZWhvbGRlckljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjUlO1xuICBsZWZ0OiAyNSU7XG4gIHdpZHRoOiA1MCU7XG4gIGhlaWdodDogNTAlO1xuICBmaWxsOiAjNkM2QzZDO1xuICBmaWxsOiB2YXIoLS1jeC1jb2xvci10ZXh0U3VidGxlKTtcbn1cblxuLnVjLWxpc3RpbmdDYXJkLWRpc2NsYWltZXJUZXh0IHtcbiAgcGFkZGluZzogMCAyMHB4IDEwcHg7XG4gIHBhZGRpbmc6IDAgdmFyKC0tdWMtbGlzdGluZ0NhcmQtY29udGVudFBhZGRpbmcpIHZhcigtLXVjLWxpc3RpbmdDYXJkLXBhZGRpbmcpO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICBjb2xvcjogIzZDNkM2QztcbiAgY29sb3I6IHZhcigtLWN4LWNvbG9yLXRleHRTdWJ0bGUpO1xuXG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseUxlZ2libGUsIFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYpO1xuXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0UmVndWxhciwgNDAwKTtcblxuICBmb250LXN0eWxlOiBub3JtYWw7XG5cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYXV0bztcblxuICAtbW96LW9zeC1mb250LXNtb290aGluZzogYXV0bztcblxuICBmb250LXNtb290aGluZzogYXV0bztcbn1cblxuLnVjLWxpc3RpbmdDYXJkLS1zbSAudWMtbGlzdGluZ0NhcmQtZGlzY2xhaW1lclRleHQge1xuICBwYWRkaW5nOiAwIDEwcHggNXB4O1xuICBwYWRkaW5nOiAwIHZhcigtLXVjLWxpc3RpbmdDYXJkLXBhZGRpbmcpIDVweDtcbn1cblxuLyoqXG4gKiB1Yy1MaXN0aW5nQ2FyZC0tc20gc3R5bGVzXG4gKi9cblxuLnVjLWxpc3RpbmdDYXJkLS1zbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjREFEQURBO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS11Yy1saXN0aW5nQ2FyZC1ib3JkZXJDb2xvcik7XG4gIG1pbi13aWR0aDogMjgwcHg7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3gtYm9yZGVyUmFkaXVzKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3gtY29sb3ItYmFja2dyb3VuZCk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1MTJweCkge1xuXG4udWMtbGlzdGluZ0NhcmQtLXNtIHtcbiAgICBtaW4td2lkdGg6IDMwMHB4XG59XG4gIH1cblxuQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgLnVjLWxpc3RpbmdDYXJkLS1zbTpob3ZlcjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjOEQ4RDhEO1xuICAgIGJvcmRlcjogc29saWQgMXB4IHZhcigtLWN4LWNvbG9yLWdyZXk3MCk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiBhdXRvO1xuICB9XG5cbiAgLnVjLWxpc3RpbmdDYXJkLS1zbTpob3ZlciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0RBREFEQTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS11Yy1saXN0aW5nQ2FyZC1ib3JkZXJDb2xvcik7XG4gIH1cbn1cblxuLnVjLWxpc3RpbmdDYXJkLS1zbTpmb2N1cy13aXRoaW46YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBib3JkZXI6IHNvbGlkIDFweCAjOEQ4RDhEO1xuICBib3JkZXI6IHNvbGlkIDFweCB2YXIoLS1jeC1jb2xvci1ncmV5NzApO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogYXV0bztcbn1cblxuLnVjLWxpc3RpbmdDYXJkLS1zbTpmb2N1cy13aXRoaW4ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjREFEQURBO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS11Yy1saXN0aW5nQ2FyZC1ib3JkZXJDb2xvcik7XG59XG5cbi51Yy1saXN0aW5nQ2FyZC0tc20gLnVjLWxpc3RpbmdDYXJkLWJvZHkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtZ3JvdzogMDtcbn1cblxuLnVjLWxpc3RpbmdDYXJkLS1zbSAudWMtbGlzdGluZ0NhcmQtY2FwdGlvbldyYXBwZXIge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4udWMtbGlzdGluZ0NhcmQtLXNtIC51Yy1saXN0aW5nQ2FyZC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIHBhZGRpbmc6IDVweCB2YXIoLS11Yy1saXN0aW5nQ2FyZC1wYWRkaW5nKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJBN0U1MTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlzdGluZy1iYWRnZXMtYWN0aXZlU3RhdHVzQ29sb3IpO1xufVxuXG4udWMtbGlzdGluZ0NhcmQtLXNtIC51Yy1saXN0aW5nQ2FyZC1jYXB0aW9uLnVjLWxpc3RpbmdDYXJkLWNhcHRpb24tLW9wZW5Ib3VzZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyQTdFNTE7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpc3RpbmctYmFkZ2VzLWFjdGl2ZVN0YXR1c0NvbG9yKTtcbn1cblxuLnVjLWxpc3RpbmdDYXJkLS1zbSAudWMtbGlzdGluZ0NhcmQtY2FwdGlvbi51Yy1saXN0aW5nQ2FyZC1jYXB0aW9uLS12aXJ0dWFsT3BlbkhvdXNlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzN0E4MjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlzdGluZy1iYWRnZXMtdmlydHVhbE9wZW5Ib3VzZUJhZGdlQ29sb3IpO1xufVxuXG4udWMtbGlzdGluZ0NhcmQtLXNtIC51Yy1saXN0aW5nQ2FyZC1pbWFnZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMTBweDtcbiAgbWFyZ2luOiB2YXIoLS11Yy1saXN0aW5nQ2FyZC1wYWRkaW5nKTtcbiAgd2lkdGg6IDEwMHB4O1xuICB3aWR0aDogdmFyKC0tdWMtbGlzdGluZ0NhcmQtaW1hZ2VXaWR0aC0tc20pO1xuICBoZWlnaHQ6IDc3cHg7XG4gIGhlaWdodDogdmFyKC0tdWMtbGlzdGluZ0NhcmQtaW1hZ2VIZWlnaHQtLXNtKTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDUxMnB4KSB7XG5cbi51Yy1saXN0aW5nQ2FyZC0tc20gLnVjLWxpc3RpbmdDYXJkLWltYWdlIHtcbiAgICB3aWR0aDogMTMwcHg7XG4gICAgd2lkdGg6IHZhcigtLXVjLWxpc3RpbmdDYXJkLWltYWdlV2lkdGgtLWxnKTtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIGhlaWdodDogdmFyKC0tdWMtbGlzdGluZ0NhcmQtaW1hZ2VIZWlnaHQtLWxnKVxufVxuICB9XG5cbi51Yy1saXN0aW5nQ2FyZC0tc20gLnVjLWxpc3RpbmdDYXJkLWhlcm9JbWFnZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuLnVjLWxpc3RpbmdDYXJkLS1zbSAudWMtbGlzdGluZ0NhcmQtY29ybmVyQm94IHtcbiAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMjVweDtcbiAgdGV4dC1vdmVyZmxvdzogY2xpcDtcbiAgb3ZlcmZsb3cteDogdmlzaWJsZTtcbiAgei1pbmRleDogMzAwO1xuICB6LWluZGV4OiB2YXIoLS1jeC16SW5kZXgtMyk7XG59XG5cbi51Yy1saXN0aW5nQ2FyZC0tc20gLnVjLWxpc3RpbmdDYXJkLWNvcm5lckJveC51Yy1saXN0aW5nQ2FyZC1jb3JuZXJCb3gtLXZpcnR1YWxUb3VyLFxuLnVjLWxpc3RpbmdDYXJkLS14cyAudWMtbGlzdGluZ0NhcmQtY29ybmVyQm94LnVjLWxpc3RpbmdDYXJkLWNvcm5lckJveC0tdmlydHVhbFRvdXIge1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi51Yy1saXN0aW5nQ2FyZC0tc20gLnVjLWxpc3RpbmdDYXJkLWNvcm5lckJveENvbnRhaW5lciB7XG4gIHRvcDogMTVweDtcbiAgdG9wOiBjYWxjKHZhcigtLXVjLWxpc3RpbmdDYXJkLXBhZGRpbmcpICsgNXB4KTtcbiAgbGVmdDogMTVweDtcbiAgbGVmdDogY2FsYyh2YXIoLS11Yy1saXN0aW5nQ2FyZC1wYWRkaW5nKSArIDVweCk7XG4gIG1heC13aWR0aDogOTBweDtcbiAgbWF4LXdpZHRoOiBjYWxjKHZhcigtLXVjLWxpc3RpbmdDYXJkLWltYWdlV2lkdGgtLXNtKSAtIHZhcigtLXVjLWxpc3RpbmdDYXJkLXBhZGRpbmcpKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDUxMnB4KSB7XG5cbi51Yy1saXN0aW5nQ2FyZC0tc20gLnVjLWxpc3RpbmdDYXJkLWNvcm5lckJveENvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMjBweDtcbiAgICBtYXgtd2lkdGg6IGNhbGModmFyKC0tdWMtbGlzdGluZ0NhcmQtaW1hZ2VXaWR0aC0tbGcpIC0gdmFyKC0tdWMtbGlzdGluZ0NhcmQtcGFkZGluZykpXG59XG4gIH1cblxuLyogRm9yIHRleHQgY29udGVudCAqL1xuXG4udWMtbGlzdGluZ0NhcmQtLXNtIC51Yy1saXN0aW5nQ2FyZC1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAxMHB4O1xuICBtYXJnaW46IHZhcigtLXVjLWxpc3RpbmdDYXJkLXBhZGRpbmcpO1xuICBwYWRkaW5nOiAwO1xuICBmbGV4LWdyb3c6IDA7XG4gIGhlaWdodDogNzdweDtcbiAgaGVpZ2h0OiB2YXIoLS11Yy1saXN0aW5nQ2FyZC1pbWFnZUhlaWdodC0tc20pO1xuICAvKiBBY2NvdW50IGZvciB0aGUgY2hlY2tib3ggb24gdGhlIHJpZ2h0IHNpZGUgKi9cbiAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tdWMtbGlzdGluZ0NhcmQtcGFkZGluZykqNCk7XG4gIG1hcmdpbi1sZWZ0OiAxMjBweDtcbiAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tdWMtbGlzdGluZ0NhcmQtaW1hZ2VXaWR0aC0tc20pICsgdmFyKC0tdWMtbGlzdGluZ0NhcmQtcGFkZGluZykqMik7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1MTJweCkge1xuXG4udWMtbGlzdGluZ0NhcmQtLXNtIC51Yy1saXN0aW5nQ2FyZC1jb250ZW50IHtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIGhlaWdodDogdmFyKC0tdWMtbGlzdGluZ0NhcmQtaW1hZ2VIZWlnaHQtLWxnKTtcbiAgICBtYXJnaW4tbGVmdDogMTUwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tdWMtbGlzdGluZ0NhcmQtaW1hZ2VXaWR0aC0tbGcpICsgdmFyKC0tdWMtbGlzdGluZ0NhcmQtcGFkZGluZykqMilcbn1cbiAgfVxuXG4udWMtbGlzdGluZ0NhcmQtLXNtIC51Yy1saXN0aW5nQ2FyZC10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXNpemU6IHZhcigtLXVjLWxpc3RpbmdDYXJkLWZvbnRTaXplLS1zbSk7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICBsaW5lLWhlaWdodDogdmFyKC0tdWMtbGlzdGluZ0NhcmQtbGluZUhlaWdodC0teHNtKTtcbiAgY29sb3I6ICMxNzE3MTc7XG4gIGNvbG9yOiB2YXIoLS11Yy1saXN0aW5nQ2FyZC1wcmltYXJ5VGV4dENvbG9yKTtcblxuICBmb250LWZhbWlseTogXCJDb21wYXNzIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcblxuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHlTYW5zLCBcIkNvbXBhc3MgU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmKTtcblxuICBmb250LXdlaWdodDogNTAwO1xuXG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodE1lZGl1bSwgNTAwKTtcblxuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1MTJweCkge1xuXG4udWMtbGlzdGluZ0NhcmQtLXNtIC51Yy1saXN0aW5nQ2FyZC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdWMtbGlzdGluZ0NhcmQtZm9udFNpemUtLWxnKTtcbiAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tdWMtbGlzdGluZ0NhcmQtbGluZUhlaWdodC0tbGcpO1xufVxuICB9XG5cbi51Yy1saXN0aW5nQ2FyZC0tc20gLnVjLWxpc3RpbmdDYXJkLXN1YnRpdGxlIHtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtc2l6ZTogdmFyKC0tdWMtbGlzdGluZ0NhcmQtZm9udFNpemUtLXNtKTtcbiAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS11Yy1saXN0aW5nQ2FyZC1saW5lSGVpZ2h0LS1tZCk7XG4gIGNvbG9yOiAjNkM2QzZDO1xuICBjb2xvcjogdmFyKC0tdWMtbGlzdGluZ0NhcmQtc2Vjb25kYXJ5VGV4dENvbG9yKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuXG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseUxlZ2libGUsIFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYpO1xuXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0UmVndWxhciwgNDAwKTtcblxuICBmb250LXN0eWxlOiBub3JtYWw7XG5cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYXV0bztcblxuICAtbW96LW9zeC1mb250LXNtb290aGluZzogYXV0bztcblxuICBmb250LXNtb290aGluZzogYXV0bztcbn1cblxuLnVjLWxpc3RpbmdDYXJkLS1zbSAudWMtbGlzdGluZ0NhcmQtbWFpblN0YXRzIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IHZhcigtLXVjLWxpc3RpbmdDYXJkLWZvbnRTaXplLS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICBsaW5lLWhlaWdodDogdmFyKC0tdWMtbGlzdGluZ0NhcmQtbGluZUhlaWdodC0tbGcpO1xufVxuXG4udWMtbGlzdGluZ0NhcmQtLXNtIC51Yy1saXN0aW5nQ2FyZC1zdWJTdGF0cyB7XG4gIC8qIHNldCBoZWlnaHQgdG8gaGlkZSBhbnkgd3JhcHBlZCBzdWItaXRlbXMgd2l0aG91dCBjdXR0aW5nIG9mZiB0ZXh0ICovXG4gIGhlaWdodDogMTlweDtcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLXVjLWxpc3RpbmdDYXJkLWxpbmVIZWlnaHQtLXhzbSkgKyA1cHgpO1xuICBwYWRkaW5nLXRvcDogNXB4O1xuICBsaW5lLWhlaWdodDogMTRweDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXVjLWxpc3RpbmdDYXJkLWxpbmVIZWlnaHQtLXhzbSk7XG59XG5cbi8qIFJlZHVjZSBtYXJnaW4gdG8gYWNjb3VudCBvdmVyZmxvdyBvZiBjb250ZW50IG9mIHN1YnN0YXRzICovXG5cbi8qIGNhbGMoLTQgKiB2YXIoLS11Yy1saXN0aW5nQ2FyZC1wYWRkaW5nKSBuZWdhdGVzIG1hcmdpbiBnaXZlbiB0byBjb250ZW50IHdpdGggY2hlY2tib3ggKi9cblxuLyogdmFyKC0tdWMtbGlzdGluZ0NhcmQtcGFkZGluZy0tc20pIGFwcGxpZXMgZGVmYXVsdCBwYWRkaW5nIG9mIGxpc3RpbmdDYXJkICovXG5cbi51Yy1saXN0aW5nQ2FyZC0tc20gLnVjLWxpc3RpbmdDYXJkLXN1YlN0YXRzLmNoZWNrYWJsZS10cnVlIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMzJweDtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLXVjLWxpc3RpbmdDYXJkLXBhZGRpbmcpKi00ICsgdmFyKC0tdWMtbGlzdGluZ0NhcmQtcGFkZGluZy0tc20pKTtcbn1cblxuLyoqXG4gKiB1Yy1saXN0aW5nQ2FyZC0teHMgc3R5bGVzXG4gKi9cblxuLnVjLWxpc3RpbmdDYXJkLS14cyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjREFEQURBO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS11Yy1saXN0aW5nQ2FyZC1ib3JkZXJDb2xvcik7XG4gIG1pbi13aWR0aDogMjc0cHg7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3gtYm9yZGVyUmFkaXVzKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3gtY29sb3ItYmFja2dyb3VuZCk7XG59XG5cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIC51Yy1saXN0aW5nQ2FyZC0teHM6aG92ZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggIzhEOEQ4RDtcbiAgICBib3JkZXI6IHNvbGlkIDFweCB2YXIoLS1jeC1jb2xvci1ncmV5NzApO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogYXV0bztcbiAgfVxuXG4gIC51Yy1saXN0aW5nQ2FyZC0teHM6aG92ZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNEQURBREE7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdWMtbGlzdGluZ0NhcmQtYm9yZGVyQ29sb3IpO1xuICB9XG59XG5cbi51Yy1saXN0aW5nQ2FyZC0teHM6Zm9jdXMtd2l0aGluOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYm9yZGVyOiBzb2xpZCAxcHggIzhEOEQ4RDtcbiAgYm9yZGVyOiBzb2xpZCAxcHggdmFyKC0tY3gtY29sb3ItZ3JleTcwKTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IGF1dG87XG59XG5cbi51Yy1saXN0aW5nQ2FyZC0teHM6Zm9jdXMtd2l0aGluIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI0RBREFEQTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdWMtbGlzdGluZ0NhcmQtYm9yZGVyQ29sb3IpO1xufVxuXG4udWMtbGlzdGluZ0NhcmQtLXhzIC51Yy1saXN0aW5nQ2FyZC1ib2R5IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LWdyb3c6IDA7XG59XG5cbi51Yy1saXN0aW5nQ2FyZC0teHMgLnVjLWxpc3RpbmdDYXJkLWNhcHRpb25XcmFwcGVyIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLnVjLWxpc3RpbmdDYXJkLS14cyAudWMtbGlzdGluZ0NhcmQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHBhZGRpbmc6IDNweCA4cHg7XG4gIHBhZGRpbmc6IDNweCB2YXIoLS11Yy1saXN0aW5nQ2FyZC1wYWRkaW5nLS1zbSk7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkE3RTUxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saXN0aW5nLWJhZGdlcy1hY3RpdmVTdGF0dXNDb2xvcik7XG59XG5cbi51Yy1saXN0aW5nQ2FyZC0teHMgLnVjLWxpc3RpbmdDYXJkLWNhcHRpb24udWMtbGlzdGluZ0NhcmQtY2FwdGlvbi0tb3BlbkhvdXNlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJBN0U1MTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlzdGluZy1iYWRnZXMtYWN0aXZlU3RhdHVzQ29sb3IpO1xufVxuXG4udWMtbGlzdGluZ0NhcmQtLXhzIC51Yy1saXN0aW5nQ2FyZC1jYXB0aW9uLnVjLWxpc3RpbmdDYXJkLWNhcHRpb24tLXZpcnR1YWxPcGVuSG91c2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDM3QTgyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saXN0aW5nLWJhZGdlcy12aXJ0dWFsT3BlbkhvdXNlQmFkZ2VDb2xvcik7XG59XG5cbi51Yy1saXN0aW5nQ2FyZC0teHMgLnVjLWxpc3RpbmdDYXJkLWltYWdlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTE0cHg7XG4gIHdpZHRoOiB2YXIoLS11Yy1saXN0aW5nQ2FyZC1pbWFnZVdpZHRoLS14cyk7XG4gIGhlaWdodDogODlweDtcbiAgaGVpZ2h0OiB2YXIoLS11Yy1saXN0aW5nQ2FyZC1pbWFnZUhlaWdodC0teHMpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4udWMtbGlzdGluZ0NhcmQtLXhzIC51Yy1saXN0aW5nQ2FyZC1oZXJvSW1hZ2Uge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbi51Yy1saXN0aW5nQ2FyZC0teHMgLnVjLWxpc3RpbmdDYXJkLWNvcm5lckJveCB7XG4gIG1hcmdpbi1yaWdodDogMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4yNXB4O1xuICB0ZXh0LW92ZXJmbG93OiBjbGlwO1xuICBvdmVyZmxvdy14OiB2aXNpYmxlO1xuICBmb250LXNpemU6IDlweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHotaW5kZXg6IDMwMDtcbiAgei1pbmRleDogdmFyKC0tY3gtekluZGV4LTMpO1xufVxuXG4udWMtbGlzdGluZ0NhcmQtLXhzIC51Yy1saXN0aW5nQ2FyZC1jb3JuZXJCb3hDb250YWluZXIge1xuICB0b3A6IDRweDtcbiAgdG9wOiBjYWxjKHZhcigtLXVjLWxpc3RpbmdDYXJkLXBhZGRpbmctLXNtKS8yKTtcbiAgbGVmdDogNHB4O1xuICBsZWZ0OiBjYWxjKHZhcigtLXVjLWxpc3RpbmdDYXJkLXBhZGRpbmctLXNtKS8yKTtcbiAgbWF4LXdpZHRoOiAxMDZweDtcbiAgbWF4LXdpZHRoOiBjYWxjKHZhcigtLXVjLWxpc3RpbmdDYXJkLWltYWdlV2lkdGgtLXhzKSAtIHZhcigtLXVjLWxpc3RpbmdDYXJkLXBhZGRpbmctLXNtKSk7XG59XG5cbi8qIEZvciB0ZXh0IGNvbnRlbnQgKi9cblxuLnVjLWxpc3RpbmdDYXJkLS14cyAudWMtbGlzdGluZ0NhcmQtY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDA7XG4gIGZsZXgtZ3JvdzogMDtcbn1cblxuLnVjLWxpc3RpbmdDYXJkLS14cyAudWMtbGlzdGluZ0NhcmQtY29udGVudCB7XG4gIC8qIEFjY291bnQgZm9yIHRoZSBjaGVja2JveCBvbiB0aGUgcmlnaHQgc2lkZSAqL1xuICBtYXJnaW46IDhweDtcbiAgbWFyZ2luOiB2YXIoLS11Yy1saXN0aW5nQ2FyZC1wYWRkaW5nLS1zbSk7XG4gIGhlaWdodDogNzNweDtcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLXVjLWxpc3RpbmdDYXJkLWltYWdlSGVpZ2h0LS14cykgLSB2YXIoLS11Yy1saXN0aW5nQ2FyZC1wYWRkaW5nLS1zbSkqMik7XG4gIG1hcmdpbi1sZWZ0OiAxMjJweDtcbiAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tdWMtbGlzdGluZ0NhcmQtaW1hZ2VXaWR0aC0teHMpICsgdmFyKC0tdWMtbGlzdGluZ0NhcmQtcGFkZGluZy0tc20pKTtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tdWMtbGlzdGluZ0NhcmQtcGFkZGluZykqNCk7XG59XG5cbi51Yy1saXN0aW5nQ2FyZC0teHMudWMtbGlzdGluZ0NhcmQtLW5vQ2hlY2tib3ggLnVjLWxpc3RpbmdDYXJkLWNvbnRlbnQge1xuICAvKiBTZXQgdG8gZGVmYXVsdCBtYXJnaW4gd2hlbiB0aGVyZSBpcyBubyBjaGVja2JveCBmb3IgeHMgY2FyZHMgKi9cbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tdWMtbGlzdGluZ0NhcmQtcGFkZGluZy0tc20pO1xufVxuXG4udWMtbGlzdGluZ0NhcmQtLXhzIC51Yy1saXN0aW5nQ2FyZC10aXRsZSB7XG4gIC8qIGdyb3cgdGhlIHRpdGxlIGluc3RlYWQgb2Ygc3VidGl0bGUgZm9yIHhzIGNhcmRzICovXG4gIGZsZXgtZ3JvdzogMTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogdmFyKC0tdWMtbGlzdGluZ0NhcmQtZm9udFNpemUtLWxnKTtcbiAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS11Yy1saXN0aW5nQ2FyZC1saW5lSGVpZ2h0LS1sZyk7XG4gIC8qIFRydW5jYXRlIHRoZSB0aXRsZXMgZm9yIHhzIGNhcmRzICovXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBjb2xvcjogIzE3MTcxNztcbiAgY29sb3I6IHZhcigtLXVjLWxpc3RpbmdDYXJkLXByaW1hcnlUZXh0Q29sb3IpO1xuXG4gIGZvbnQtZmFtaWx5OiBcIkNvbXBhc3MgU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseVNhbnMsIFwiQ29tcGFzcyBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYpO1xuXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0TWVkaXVtLCA1MDApO1xuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLyogV2lsbCBub3Qgc2hvdyB0aGUgc3VidGl0bGUgZm9yIHhzIGNhcmRzLCBrZWVwIHRoZSBzdHlsZXMgaGVyZSBqdXN0IGluIGNhc2UgKi9cblxuLnVjLWxpc3RpbmdDYXJkLS14cyAudWMtbGlzdGluZ0NhcmQtc3VidGl0bGUge1xuICBmbGV4LWdyb3c6IDA7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC1zaXplOiB2YXIoLS11Yy1saXN0aW5nQ2FyZC1mb250U2l6ZS0tc20pO1xuICBsaW5lLWhlaWdodDogMTRweDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXVjLWxpc3RpbmdDYXJkLWxpbmVIZWlnaHQtLXhzbSk7XG4gIGNvbG9yOiAjNkM2QzZDO1xuICBjb2xvcjogdmFyKC0tdWMtbGlzdGluZ0NhcmQtc2Vjb25kYXJ5VGV4dENvbG9yKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuXG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseUxlZ2libGUsIFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYpO1xuXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0UmVndWxhciwgNDAwKTtcblxuICBmb250LXN0eWxlOiBub3JtYWw7XG5cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYXV0bztcblxuICAtbW96LW9zeC1mb250LXNtb290aGluZzogYXV0bztcblxuICBmb250LXNtb290aGluZzogYXV0bztcbn1cblxuLnVjLWxpc3RpbmdDYXJkLS14cyAudWMtbGlzdGluZ0NhcmQtbWFpblN0YXRzIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IHZhcigtLXVjLWxpc3RpbmdDYXJkLWZvbnRTaXplLS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICBsaW5lLWhlaWdodDogdmFyKC0tdWMtbGlzdGluZ0NhcmQtbGluZUhlaWdodC0tbGcpO1xufVxuXG4udWMtbGlzdGluZ0NhcmQtLXhzIC51Yy1saXN0aW5nQ2FyZC1zdWJTdGF0cyB7XG4gIC8qIHNldCBoZWlnaHQgdG8gaGlkZSBhbnkgd3JhcHBlZCBzdWItaXRlbXMgd2l0aG91dCBjdXR0aW5nIG9mZiB0ZXh0ICovXG4gIGhlaWdodDogMTlweDtcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLXVjLWxpc3RpbmdDYXJkLWxpbmVIZWlnaHQtLXhzbSkgKyA1cHgpO1xuICBwYWRkaW5nLXRvcDogNXB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtc2l6ZTogdmFyKC0tdWMtbGlzdGluZ0NhcmQtZm9udFNpemUtLXNtKTtcbiAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS11Yy1saXN0aW5nQ2FyZC1saW5lSGVpZ2h0LS14c20pO1xufVxuXG4vKiBSZWR1Y2UgbWFyZ2luIHRvIGFjY291bnQgb3ZlcmZsb3cgb2YgY29udGVudCBvZiBzdWJzdGF0cyAqL1xuXG4vKiBjYWxjKC00ICogdmFyKC0tdWMtbGlzdGluZ0NhcmQtcGFkZGluZykgbmVnYXRlcyBtYXJnaW4gZ2l2ZW4gdG8gY29udGVudCB3aXRoIGNoZWNrYm94ICovXG5cbi8qIHZhcigtLXVjLWxpc3RpbmdDYXJkLXBhZGRpbmctLXNtKSBhcHBsaWVzIGRlZmF1bHQgcGFkZGluZyBvZiBsaXN0aW5nQ2FyZCAqL1xuXG4udWMtbGlzdGluZ0NhcmQtLXhzIC51Yy1saXN0aW5nQ2FyZC1zdWJTdGF0cy5jaGVja2FibGUtdHJ1ZSB7XG4gIG1hcmdpbi1yaWdodDogLTMycHg7XG4gIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS11Yy1saXN0aW5nQ2FyZC1wYWRkaW5nKSotNCArIHZhcigtLXVjLWxpc3RpbmdDYXJkLXBhZGRpbmctLXNtKSk7XG59XG5cbi8qIFN0eWxlcyBmb3IgYWN0aW9uIGNvbnRhaW5lcnMgKi9cblxuLnVjLWxpc3RpbmdDYXJkQWN0aW9uQ29udGFpbmVyIHtcbiAgaGVpZ2h0OiA0MHB4O1xufVxuXG4udWMtbGlzdGluZ0NhcmQtLXNtIC51Yy1saXN0aW5nQ2FyZEFjdGlvbkNvbnRhaW5lcixcbi51Yy1saXN0aW5nQ2FyZC0teHMgLnVjLWxpc3RpbmdDYXJkQWN0aW9uQ29udGFpbmVyIHtcbiAgaGVpZ2h0OiAzMHB4O1xufVxuXG4udWMtbGlzdGluZ0NhcmRBY3Rpb25Db250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0RBREFEQTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9ySW50ZW50LWFjdGlvbmFibGVJbnZlcnRlZEJvcmRlcik7XG4gIC8qIE5lZWQgdG8gc2V0IGJveC1zaXppbmcgdG8gcHJldmVudCB0aGUgdG9wIGJvcmRlciBmcm9tXG4gICAqIGNhdXNpbmcgYSB2ZXJ0aWNhbCBzY3JvbGxiYXIgdG8gYXBwZWFyIGluIGxpc3RpbmcgcGlsbHMgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi8qIFRvIGtlZXAgdGhpbmdzIHNpbXBsZSAodnMgdXNpbmcgYSByZXBlYXRlZCB0cmFuc2NsdXNpb24gc2xvdClcbiAqIEFkZGluZyBzdHlsZXMgZGlyZWN0bHkgdG8gdHJhbnNjbHVkZWQgZWxlbWVudHMuXG4gKlxuICogSWYgdGhlcmUgaXMgb25seSBvbmUgY2hpbGQsIHdlIGxlZnQgcGFkIGl0LlxuICogSWYgdGhlcmUgYXJlIDIgbW9yZSBjaGlsZCBlbGVtZW50cywgd2UgZ2l2ZSB0aGVtIHVwIHRvIDUwJSB3aWR0aFxuICogYW5kIGRpc3RyaWJ1dGUgdGhlbSBldmVubHksIHdpdGggYSBsZWZ0IGJvcmRlciBhZnRlciB0aGUgMXN0IGNoaWxkXG4gKi9cblxuLnVjLWxpc3RpbmdDYXJkLS1zbSAudWMtbGlzdGluZ0NhcmRBY3Rpb25Db250YWluZXIgPiAqLFxuLnVjLWxpc3RpbmdDYXJkLS14cyAudWMtbGlzdGluZ0NhcmRBY3Rpb25Db250YWluZXIgPiAqIHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xufVxuXG4udWMtbGlzdGluZ0NhcmRBY3Rpb25Db250YWluZXIgPiAqIHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xufVxuXG4udWMtbGlzdGluZ0NhcmRBY3Rpb25Db250YWluZXIgPiAqIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi51Yy1saXN0aW5nQ2FyZEFjdGlvbkNvbnRhaW5lciA+ICo6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0RBREFEQTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWNvbG9ySW50ZW50LWFjdGlvbmFibGVJbnZlcnRlZEJvcmRlcik7XG4gIH1cblxuLnVjLWxpc3RpbmdDYXJkQWN0aW9uQ29udGFpbmVyID4gKjpub3QoOm9ubHktY2hpbGQpIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4vKiBObyBjaXJjbGUgYXJvdW5kIG5hdmlnYXRpb24gYXJyb3dzICovXG5cbi51Yy1saXN0aW5nQ2FyZCAuZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbixcbi51Yy1saXN0aW5nQ2FyZCAuZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4vKiBOYXZpZ2F0aW9uIGFycm93cyBzaG91bGQgYmUgd2hpdGUgKi9cblxuLnVjLWxpc3RpbmdDYXJkIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uIC5hcnJvdyB7XG4gIGZpbGw6ICNGRkZGRkY7XG4gIGZpbGw6IHZhcigtLWNvbG9ySW50ZW50LXRleHRCcmlnaHRCYWNrZ3JvdW5kRGFyayk7XG59XG5cbi8qIEFkZCBzaGFkb3cgdG8gc2hvdyBhcnJvdyBvdmVyIHdoaXRlIGltYWdlcyAqL1xuXG4udWMtbGlzdGluZ0NhcmQgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24gc3ZnIHtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygtM3B4IDAgNXB4IHJnYmEoMCwgMCwgMCwgMC4yNSkpO1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KC0zcHggMCA1cHggdmFyKC0tY29sb3JJbnRlbnQtYmFja2Ryb3ApKTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi51Yy1saXN0aW5nQ2FyZC0tcHJpY2VHcmlkLW1kIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogJ3ByaWNlQ2FwdGlvbidcbiAgICAncHJpY2UnO1xufVxuXG4udWMtbGlzdGluZ0NhcmQtLXByaWNlR3JpZC1zbSxcbi51Yy1saXN0aW5nQ2FyZC0tcHJpY2VHcmlkLXhzIHtcbiAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gIC1tb3otY29sdW1uLWdhcDogNHB4O1xuICAgICAgIGNvbHVtbi1nYXA6IDRweDtcbiAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogJ3ByaWNlIHByaWNlQ2FwdGlvbic7XG59XG5cbi51Yy1saXN0aW5nQ2FyZC0tcHJpY2Uge1xuICBncmlkLWFyZWE6IHByaWNlO1xufVxuXG4udWMtbGlzdGluZ0NhcmQtLXByaWNlQ2FwdGlvbiB7XG4gIG1hcmdpbi1yaWdodDogLTMycHg7XG4gIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS11Yy1saXN0aW5nQ2FyZC1wYWRkaW5nKSotNCArIHZhcigtLXVjLWxpc3RpbmdDYXJkLXBhZGRpbmctLXNtKSk7XG4gIGdyaWQtYXJlYTogcHJpY2VDYXB0aW9uO1xufVxuXG4vKipcbiAqIHN0eWxlIGZvciBsaXN0aW5nIGNhcmQgYmFkZ2UgaW5kaWNhdG9yXG4gKi9cblxuLnVjLWxpc3RpbmdDYXJkLWNvcm5lckJveC0tYmFkZ2VJbmRpY2F0b3Ige1xuICBtYXJnaW4tcmlnaHQ6IDRweDtcbn1cblxuLyoqXG4gKiBzdHlsZSBmb3IgbGlzdGluZyBjYXJkIGZvb3RlclxuICovXG5cbi51Yy1saXN0aW5nQ2FyZC1mb290ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIGZsaWNraXR5LWZhZGUgKi9cblxuLmZsaWNraXR5LWVuYWJsZWQuaXMtZmFkZSAuZmxpY2tpdHktc2xpZGVyID4gKiB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAwO1xufVxuXG4uZmxpY2tpdHktZW5hYmxlZC5pcy1mYWRlIC5mbGlja2l0eS1zbGlkZXIgPiAuaXMtc2VsZWN0ZWQge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgei1pbmRleDogMTtcbn1cblxuOnJvb3Qge1xuICAtLXByb2dyZXNzV2lkdGg6IDYwcHg7XG59XG5cbi51Yy1saXN0aW5nUGhvdG9DYXJkLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi51Yy1saXN0aW5nUGhvdG9DYXJkLWZvb3RlciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNEQURBREE7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWN4LWNvbG9yLWJvcmRlcik7XG59XG5cbi51Yy1saXN0aW5nUGhvdG9DYXJkLnVjLWxpc3RpbmdDYXJkLWhhcy1waG90byB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi51Yy1saXN0aW5nUGhvdG9DYXJkOmhvdmVyIC51Yy1saXN0aW5nQ2FyZC1pbWFnZSxcbi51Yy1saXN0aW5nUGhvdG9DYXJkOmZvY3VzLXdpdGhpbiAudWMtbGlzdGluZ0NhcmQtaW1hZ2Uge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4udWMtbGlzdGluZ1Bob3RvQ2FyZCAudWMtbGlzdGluZ0NhcmQtYWN0dWFsSW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiBpbmhlcml0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIC1vLW9iamVjdC1maXQ6IGNvdmVyO1xuICAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLnVjLWxpc3RpbmdQaG90b0NhcmQ6aG92ZXI6OmFmdGVyLFxuLnVjLWxpc3RpbmdQaG90b0NhcmQ6Zm9jdXMtd2l0aGluOjphZnRlcixcbi51Yy1saXN0aW5nUGhvdG9DYXJkLnVjLWxpc3RpbmdDYXJkIHtcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDEwMG1zIGVhc2UgLCBiYWNrZ3JvdW5kIDEwMG1zIGVhc2UgLCBib3gtc2hhZG93IDEwMG1zIGVhc2UgLCBjb2xvciAxMDBtcyBlYXNlICwgZmlsbCAxMDBtcyBlYXNlO1xuICB0cmFuc2l0aW9uOiB2YXIoLS1jeC10cmFuc2l0aW9uKTtcbn1cblxuLnVjLWxpc3RpbmdQaG90b0NhcmQudWMtbGlzdGluZ0NhcmQudWMtbGlzdGluZ0NhcmQtLXNlbGVjdGVkIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDA0OUE4O1xuICBib3JkZXItY29sb3I6IHZhcigtLWN4LWNvbG9yLWludGVyYWN0aXZlSG92ZXIpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVjLWxpc3RpbmdQaG90b0NhcmQudWMtbGlzdGluZ0NhcmQgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAudWMtbGlzdGluZ1Bob3RvQ2FyZC51Yy1saXN0aW5nQ2FyZC51Yy1saXN0aW5nQ2FyZC0tc2VsZWN0ZWQgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ge1xuICAgIGRpc3BsYXk6IHVuc2V0O1xuICB9XG59XG5cbi51Yy1saXN0aW5nQ2FyZC0tbG9hZGluZyxcbi51Yy1saXN0aW5nQ2FyZC0tbG9hZGluZzo6YWZ0ZXIsXG4udWMtbGlzdGluZ0NhcmQtLWxvYWRpbmc6aG92ZXIsXG4udWMtbGlzdGluZ0NhcmQtLWxvYWRpbmc6aG92ZXI6OmFmdGVyLFxuLnVjLWxpc3RpbmdDYXJkLS1sb2FkaW5nOmZvY3VzLXdpdGhpbixcbi51Yy1saXN0aW5nQ2FyZC0tbG9hZGluZzpmb2N1cy13aXRoaW46OmFmdGVyLFxuLnVjLWxpc3RpbmdQaG90b0NhcmQudWMtbGlzdGluZ0NhcmQtLWxvYWRpbmc6aG92ZXI6OmFmdGVyLFxuLnVjLWxpc3RpbmdQaG90b0NhcmQudWMtbGlzdGluZ0NhcmQtLWxvYWRpbmc6Zm9jdXMtd2l0aGluOjphZnRlciB7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLyogRm9yIHRoZSA6YWZ0ZXIgZWxlbWVudHMgaW4gdGhlIGxvYWRpbmcgc3RhdGUsIHNldCB0aGVtIHRvIGFuIGV4cGxpY2l0IHNpemUgb2YgMHgwICovXG5cbi8qIE90aGVyd2lzZSwgaXQgaXMgcG9zc2libGUgZm9yIHRoYXQgOmFmdGVyIHRvIHRha2UgdXAgdGhlIHdob2xlIHZpZXdwb3J0IGFuZCBibG9jayBjbGlja3MgKi9cblxuLnVjLWxpc3RpbmdDYXJkLS1sb2FkaW5nOjphZnRlcixcbi51Yy1saXN0aW5nQ2FyZC0tbG9hZGluZzpob3Zlcjo6YWZ0ZXIsXG4udWMtbGlzdGluZ0NhcmQtLWxvYWRpbmc6Zm9jdXMtd2l0aGluOjphZnRlcixcbi51Yy1saXN0aW5nUGhvdG9DYXJkLnVjLWxpc3RpbmdDYXJkLS1sb2FkaW5nOmhvdmVyOjphZnRlcixcbi51Yy1saXN0aW5nUGhvdG9DYXJkLnVjLWxpc3RpbmdDYXJkLS1sb2FkaW5nOmZvY3VzLXdpdGhpbjo6YWZ0ZXIge1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4udWMtbGlzdGluZ1Bob3RvQ2FyZCAudWMtbGlzdGluZ0NhcmQtbWFpblN0YXRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgY29sb3I6IHZhcigtLWN4LWNvbG9yLXdoaXRlKTtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBsaW5lLWhlaWdodDogMjZweDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbn1cblxuLnVjLWxpc3RpbmdDYXJkLWxlZnRXcmFwcGVyIC51Yy1saXN0aW5nQ2FyZC10aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGNvbG9yOiB2YXIoLS1jeC1jb2xvci13aGl0ZSk7XG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgJ0NvbXBhc3MgU2FucycsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1jeC1mb250LWZhbWlseUxlZ2libGUpO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhdXRvO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogYXV0bztcbiAgZm9udC1zbW9vdGhpbmc6IGF1dG87XG5cbiAgZm9udC1zaXplOiAxMnB4O1xuXG4gIGZvbnQtc2l6ZTogdmFyKC0tY3gtZm9udC1zaXplWHMpO1xuICBsaW5lLWhlaWdodDogMTVweDtcbn1cblxuLnVjLWxpc3RpbmdDYXJkLWxlZnRXcmFwcGVyIC51Yy1saXN0aW5nQ2FyZC10aXRsZTo6Zmlyc3QtbGluZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE1cHg7XG4gIH1cblxuLnVjLWxpc3RpbmdQaG90b0NhcmQgLnVjLWxpc3RpbmdDYXJkLWNhcHRpb24ge1xuICBwYWRkaW5nOiA0OHB4IDE2cHggOHB4OyAvKiB0b3AtcGFkZGluZyBpcyBmb3IgZmFkZW91dCBncmFkaWVudCAqL1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHRyYW5zcGFyZW50LHJnYmEoMCwwLDAsMC44KSk7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHRyYW5zaXRpb246IDAuNXM7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMzYwcHgpIHtcblxuLnVjLWxpc3RpbmdQaG90b0NhcmQgLnVjLWxpc3RpbmdDYXJkLWNhcHRpb24ge1xuICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDhweFxufVxuICB9XG5cbi51Yy1saXN0aW5nUGhvdG9DYXJkIC51Yy1saXN0aW5nQ2FyZC1jYXB0aW9uIGEge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgY29sb3I6IHZhcigtLWN4LWNvbG9yLXdoaXRlKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4udWMtbGlzdGluZ1Bob3RvQ2FyZCAucGhvdG9Qcm9ncmVzcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiA4cHg7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gMzBweCk7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gdmFyKC0tcHJvZ3Jlc3NXaWR0aCkvMik7XG4gIHdpZHRoOiA2MHB4O1xuICB3aWR0aDogdmFyKC0tcHJvZ3Jlc3NXaWR0aCk7XG4gIGhlaWdodDogMTZweDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjUwKTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGNvbG9yOiB2YXIoLS1jeC1jb2xvci13aGl0ZSk7XG4gIHotaW5kZXg6IDEwMDtcbiAgei1pbmRleDogdmFyKC0tY3gtekluZGV4LTEpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogMC41cztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi51Yy1saXN0aW5nUGhvdG9DYXJkIC5oaWRlIHtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4udWMtbGlzdGluZ1Bob3RvQ2FyZCAuc2hvdyB7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi51Yy1saXN0aW5nUGhvdG9DYXJkIC51Yy1saXN0aW5nQ2FyZC1sZWZ0V3JhcHBlciB7XG4gIGZsZXg6IDE7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnVjLWxpc3RpbmdQaG90b0NhcmQgLnVjLWxpc3RpbmdDYXJkLXN1YlN0YXRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgcGFkZGluZzogMDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG1heC13aWR0aDogMTUwcHg7XG4gIGhlaWdodDogaW5oZXJpdDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBjb2xvcjogdmFyKC0tY3gtY29sb3Itd2hpdGUpO1xufVxuXG4udWMtbGlzdGluZ1Bob3RvQ2FyZCAudWMtbGlzdGluZ0NhcmQtc3ViU3RhdDphZnRlciB7XG4gIGJvcmRlci1jb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jeC1jb2xvci13aGl0ZSk7XG4gIG9wYWNpdHk6IDAuNDtcbn1cblxuLnVjLWxpc3RpbmdQaG90b0NhcmQgLnVjLWxpc3RpbmdDYXJkLWltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnVjLWxpc3RpbmdQaG90b0NhcmQgLnVjLWxpc3RpbmdDYXJkLWltYWdlLnVjLWxpc3RpbmdDYXJkLWltYWdlLS1pbnZpc2libGUge1xuICB3aWR0aDogMHB4O1xuICBoZWlnaHQ6IDBweDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4udWMtbGlzdGluZ1Bob3RvQ2FyZCAudWMtbGlzdGluZ0NhcmQtc3ViU3RhdC1maWVsZCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLnVjLWxpc3RpbmdQaG90b0NhcmQgLnVjLWxpc3RpbmdDYXJkLXN1YlN0YXQ6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tdWMtbGlzdGluZ0NhcmQtcGFkZGluZyk7XG59XG5cbi51Yy1saXN0aW5nUGhvdG9DYXJkIC51Yy1saXN0aW5nQ2FyZC1zdWJTdGF0Omxhc3QtY2hpbGQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4udWMtbGlzdGluZ1Bob3RvQ2FyZCAudWMtbGlzdGluZ0NhcmQtc3ViU3RhdC0tc3FGdDpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbn1cblxuLnVjLWxpc3RpbmdQaG90b0NhcmQgLnVjLWxpc3RpbmdDYXJkLWNvcm5lckJveCB7XG4gIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICBsZXR0ZXItc3BhY2luZzogMC40cHg7XG59XG5cbi51Yy1saXN0aW5nUGhvdG9DYXJkIC51Yy1saXN0aW5nQ2FyZC1jb3JuZXJCb3hDb250YWluZXIge1xuICB0b3A6IDhweDtcbiAgbGVmdDogOHB4O1xufVxuXG4udWMtbGlzdGluZ1Bob3RvQ2FyZCAudWMtbGlzdGluZ0NhcmQtY29sbGVjdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA4cHg7XG4gIHJpZ2h0OiAxNnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjRkZGRkZGO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jeC1jb2xvci13aGl0ZSk7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQ6IHZhcigtLWN4LWNvbG9yLWJhY2tncm91bmREYXJrKTtcbiAgei1pbmRleDogMTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDUxMnB4KSB7XG5cbi51Yy1saXN0aW5nUGhvdG9DYXJkIC51Yy1saXN0aW5nQ2FyZC1jb2xsZWN0aW9uIHtcbiAgICByaWdodDogOHB4XG59XG4gIH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuXG4udWMtbGlzdGluZ1Bob3RvQ2FyZCAudWMtbGlzdGluZ0NhcmQtY29sbGVjdGlvbiB7XG4gICAgcmlnaHQ6IDEwcHhcbn1cbiAgfVxuXG4udWMtbGlzdGluZ1Bob3RvQ2FyZCAudWMtbGlzdGluZ0NhcmQtY29sbGVjdGlvbi0tYWRkZWQge1xuICBiYWNrZ3JvdW5kOiAjRkZCRjAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jeC1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4udWMtbGlzdGluZ1Bob3RvQ2FyZCAudWMtbGlzdGluZ0NhcmQtY29sbGVjdGlvbi51Yy1saXN0aW5nQ2FyZC1jb2xsZWN0aW9uTm90SW50ZXJlc3RlZCB7XG4gIHRvcDogNDhweDtcbn1cblxuLnVjLWxpc3RpbmdQaG90b0NhcmRcbi51Yy1saXN0aW5nQ2FyZC1jb2xsZWN0aW9uTm90SW50ZXJlc3RlZC51Yy1saXN0aW5nQ2FyZC1jb2xsZWN0aW9uTm90SW50ZXJlc3RlZC0tb25seSB7XG4gIHRvcDogOHB4O1xufVxuXG4udWMtbGlzdGluZ1Bob3RvQ2FyZCAudHJ1bmNhdGUtb3ZlcmZsb3ctdGV4dCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udWMtbGlzdGluZ1Bob3RvQ2FyZCAuZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5mbGV4LWNvbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi51Yy1saXN0aW5nUGhvdG9DYXJkIC51Yy1saXN0aW5nQ2FyZC1pbWFnZVBsYWNlaG9sZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDI1JTtcbiAgbGVmdDogMjUlO1xuICB3aWR0aDogNTAlO1xuICBoZWlnaHQ6IDUwJTtcbn1cblxuLnVjLWxpc3RpbmdQaG90b0NhcmQgLnVjLWxpc3RpbmdDYXJkLWNhcm91c2VsIHtcbiAgei1pbmRleDogYXV0bztcbn1cblxuLnVjLWxpc3RpbmdQaG90b0NhcmQgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ge1xuICAvKiBDYXB0aW9uIGlzIC0tY3gtekluZGV4LTEsIHRoZXNlIGJ1dHRvbnMgbmVlZCB0byBhcHBlYXIgYWJvdmUgaXQgKi9cbiAgei1pbmRleDogMjAwO1xuICB6LWluZGV4OiB2YXIoLS1jeC16SW5kZXgtMik7XG59XG5cbi51Yy1saXN0aW5nUGhvdG9DYXJkIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uIC5mbGlja2l0eS1idXR0b24taWNvbiB7XG4gICAgLyogT3ZlcnJpZGUgdGhlIGRlZmF1bHQgZHJvcC1zaGFkb3cgb24gRmxpY2tpdHkgYXJyb3dzICovXG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDFweCAxcHggIzAwMDAwMCk7XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDFweCAxcHggdmFyKC0tY3gtY29sb3ItYmFja2dyb3VuZERhcmspKTtcbiAgfVxuXG4uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbi5wcmV2aW91cyB7XG4gIGxlZnQ6IDE0cHg7XG59XG5cbi8qIFNoaWZ0IGFycm93cyB3aXRoIC51Yy1saXN0aW5nQ2FyZC1jYXB0aW9uIHNvIHRoZXkgc3RheSBpbiBsaW5lIHdpdGggdGhlIHRleHQgKi9cblxuQG1lZGlhIChtaW4td2lkdGg6IDM2MHB4KSB7XG5cbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLnByZXZpb3VzIHtcbiAgICBsZWZ0OiA2cHhcbn1cbiAgfVxuXG4uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbi5wcmV2aW91cyAuZmxpY2tpdHktYnV0dG9uLWljb24ge1xuICAgIHJpZ2h0OiA0MCU7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbi5uZXh0IHtcbiAgcmlnaHQ6IDE0cHg7XG59XG5cbi8qIFNoaWZ0IGFycm93cyB3aXRoIC51Yy1saXN0aW5nQ2FyZC1jYXB0aW9uIHNvIHRoZXkgc3RheSBpbiBsaW5lIHdpdGggdGhlIHRleHQgKi9cblxuQG1lZGlhIChtaW4td2lkdGg6IDM2MHB4KSB7XG5cbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLm5leHQge1xuICAgIHJpZ2h0OiA2cHhcbn1cbiAgfVxuXG4uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbi5uZXh0IC5mbGlja2l0eS1idXR0b24taWNvbiB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogNDAlO1xuICB9XG5cbi51Yy1saXN0aW5nQ2FyZC1jb21wbGlhbmNlSW1nQ29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIDAgOHB4IGF1dG87XG4gIHdpZHRoOiA2NHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udWMtbGlzdGluZ0NhcmQtY29tcGxpYW5jZUltZ0NvbnRhaW5lciBpbWcge1xuICBtYXgtd2lkdGg6IDY0cHg7XG4gIG1heC1oZWlnaHQ6IDIwcHg7XG4gIC1vLW9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qIExvYWRpbmcgU3RhdGUgKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHBsYWNlSG9sZGVyU2hpbW1lciB7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDY4cHggMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDQ2OHB4IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBwbGFjZUhvbGRlclNoaW1tZXIge1xuICAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ2OHB4IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA0NjhweCAwO1xuICB9XG59XG5cbi51Yy1saXN0aW5nUGhvdG9DYXJkLnVjLWxpc3RpbmdDYXJkLS1sb2FkaW5nIHtcblxuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAgY29sb3Itbm8taGV4ICovXG5cbi51Yy1saXN0aW5nUGhvdG9DYXJkLnVjLWxpc3RpbmdDYXJkLS1sb2FkaW5nIC5sb2FkaW5nLWl0ZW0ge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMjY2cHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjZTVlNmU5ICNkZmUwZTQgI2QwZDFkNTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIH1cblxuLnVjLWxpc3RpbmdQaG90b0NhcmQudWMtbGlzdGluZ0NhcmQtLWxvYWRpbmcgLmFuaW1hdGVkLWJhY2tncm91bmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiAyNjZweDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcGxhY2VIb2xkZXJTaGltbWVyO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBwbGFjZUhvbGRlclNoaW1tZXI7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2NmY2ZjZiA4JSwgI2MzYzNjMyAxOCUsICNjZmNmY2YgMzMlKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDgwMHB4IDEwNHB4O1xuICB9XG5cbi51Yy1saXN0aW5nUGhvdG9DYXJkLnVjLWxpc3RpbmdDYXJkLS1sb2FkaW5nIC5iYWNrZ3JvdW5kLW1hc2tlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4vKiBzdHlsZWxpbnQtZW5hYmxlICBjb2xvci1uby1oZXggKi9cblxuLnVjLWxpc3RpbmdQaG90b0NhcmQudWMtbGlzdGluZ0NhcmQtLWxvYWRpbmcgLmJhY2tncm91bmQtbWFza2VyLmxlZnQtYmFyIHtcbiAgICB3aWR0aDogOHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4udWMtbGlzdGluZ1Bob3RvQ2FyZC51Yy1saXN0aW5nQ2FyZC0tbG9hZGluZyAuYmFja2dyb3VuZC1tYXNrZXIudG9wLWJhciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA4cHg7XG4gIH1cblxuLnVjLWxpc3RpbmdQaG90b0NhcmQudWMtbGlzdGluZ0NhcmQtLWxvYWRpbmcgLmJhY2tncm91bmQtbWFza2VyLnJpZ2h0LWJhciB7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuLnVjLWxpc3RpbmdQaG90b0NhcmQudWMtbGlzdGluZ0NhcmQtLWxvYWRpbmcgLmJhY2tncm91bmQtbWFza2VyLmJvdHRvbS1iYXIge1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDhweDtcbiAgfVxuXG4udWMtbGlzdGluZ1Bob3RvQ2FyZC51Yy1saXN0aW5nQ2FyZC0tbG9hZGluZyAuYmFja2dyb3VuZC1tYXNrZXIuaGVhZGVyLXNwYWNlIHtcbiAgICB0b3A6IDhweDtcbiAgICByaWdodDogNDBweDtcbiAgICB3aWR0aDogNTAlO1xuICAgIGhlaWdodDogMzJweDtcbiAgfVxuXG4udWMtbGlzdGluZ1Bob3RvQ2FyZC51Yy1saXN0aW5nQ2FyZC0tbG9hZGluZyAuYmFja2dyb3VuZC1tYXNrZXIuYmVsb3ctaGVhZGVyLXNwYWNlIHtcbiAgICB0b3A6IDI0cHg7XG4gICAgcmlnaHQ6IDQwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICB9XG5cbi51Yy1saXN0aW5nUGhvdG9DYXJkLnVjLWxpc3RpbmdDYXJkLS1sb2FkaW5nIC5iYWNrZ3JvdW5kLW1hc2tlci5ib2R5LWZyb20tdG9wIHtcbiAgICB0b3A6IDQwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0MCU7XG4gIH1cblxuLnVjLWxpc3RpbmdQaG90b0NhcmQudWMtbGlzdGluZ0NhcmQtLWxvYWRpbmcgLmJhY2tncm91bmQtbWFza2VyLmJvZHktZnJvbS1ib3R0b20ge1xuICAgIGJvdHRvbTogNjRweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQwJTtcbiAgfVxuXG4udWMtbGlzdGluZ1Bob3RvQ2FyZC51Yy1saXN0aW5nQ2FyZC0tbG9hZGluZyAuYmFja2dyb3VuZC1tYXNrZXIuc3BhY2UtZnJvbS1yaWdodC1ib3R0b20ge1xuICAgIHJpZ2h0OiAyNSU7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAyMCU7XG4gICAgaGVpZ2h0OiA1MCU7XG4gIH1cblxuLnVjLWxpc3RpbmdQaG90b0NhcmQudWMtbGlzdGluZ0NhcmQtLWxvYWRpbmcgLmJhY2tncm91bmQtbWFza2VyLnNwYWNlLWZyb20tbGVmdC1ib3R0b20taGVhZGVyIHtcbiAgICBib3R0b206IDMycHg7XG4gICAgbGVmdDogMzAlO1xuICAgIHdpZHRoOiAyMCU7XG4gICAgaGVpZ2h0OiA1MCU7XG4gIH1cblxuLnVjLWxpc3RpbmdQaG90b0NhcmQudWMtbGlzdGluZ0NhcmQtLWxvYWRpbmcgLmJhY2tncm91bmQtbWFza2VyLnNwYWNlLWZyb20tbGVmdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBoZWlnaHQ6IDUwJTtcbiAgfVxuXG4udWMtbGlzdGluZ1Bob3RvQ2FyZC51Yy1saXN0aW5nQ2FyZC0tbG9hZGluZyAuYmFja2dyb3VuZC1tYXNrZXIuc2lkZXdheXMtc3BhY2VyLWJvdHRvbS0xIHtcbiAgICBib3R0b206IDMycHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICB9XG5cbi51Yy1saXN0aW5nUGhvdG9DYXJkLnVjLWxpc3RpbmdDYXJkLS1sb2FkaW5nIC5iYWNrZ3JvdW5kLW1hc2tlci5zaWRld2F5cy1zcGFjZXItYm90dG9tLTIge1xuICAgIGJvdHRvbTogMTJweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gIH1cblxuLnVjLWxpc3RpbmdQaG90b0NhcmQudWMtbGlzdGluZ0NhcmQtLWxvYWRpbmcgLmJhY2tncm91bmQtbWFza2VyLnJpZ2h0LWJvdHRvbSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiA4cHg7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBoZWlnaHQ6IDRweDtcbiAgfVxuXG4udWMtbGlzdGluZ0NhcmQtcHJpY2VDYXB0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMnB4O1xufVxuXG4udWMtbGlzdGluZ0NhcmQtY2FyZERpc2NsYWltZXIge1xuICBwYWRkaW5nLXRvcDogMnB4O1xuICBmb250LXNpemU6IDEwcHg7XG4gIGZvbnQtc2l6ZTogdmFyKC0tY3gtZm9udC1zaXplMnhzKTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG4iLCIqIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLmFkQ2FyZCB7XG4gIGhlaWdodDogMTAwJTtcbiAgZm9udDogdmFyKC0tY3gtZm9udC1zaXplTWQpIHZhcigtLWN4LWZvbnQtZmFtaWx5U2Fucyk7XG4gIGNvbG9yOiB2YXIoLS1jeC1jb2xvci13aGl0ZSk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC5hZENhcmQtcHJpdmF0ZUV4Y2x1c2l2ZSB7XG4gICAgZmlsdGVyOiBicmlnaHRuZXNzKDEyMCUpO1xuICB9XG5cbiAgLmFkQ2FyZC1wcml2YXRlRXhjbHVzaXZlSW1hZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXI6IDJweCBzb2xpZDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoKHZhcigtLWN4LWZpeGVkUGFnZVdpZHRoKSAtIDQgKiB2YXIoLS1ndXR0ZXIpKSAvIDMpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWN4LWJvcmRlclJhZGl1cyk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS1jeC10cmFuc2l0aW9uKTtcbiAgfVxuXG4gIC5hZENhcmQtcHJpdmF0ZUV4Y2x1c2l2ZURldGFpbHNDb250YWluZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHBhZGRpbmc6IDE4cHggdmFyKC0tY3gtc3BhY2luZy0zeCk7XG4gICAgei1pbmRleDogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICAuYWRDYXJkLXByaXZhdGVFeGNsdXNpdmVTdmcge1xuICAgICAgd2lkdGg6IDE2MnB4O1xuICAgIH1cblxuICAgIC5hZENhcmQtcHJpdmF0ZUV4Y2x1c2l2ZVRleHQge1xuICAgICAgY29sb3I6IHZhcigtLWN4LWNvbG9yLXdoaXRlKTtcbiAgICAgIG1hcmdpbi10b3A6IHZhcigtLWN4LXNwYWNpbmctMngpO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1jeC1mb250LXNpemVYbCk7XG4gICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdCAqL1xuICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWN4LWZvbnQtd2VpZ2h0TWVkaXVtKTtcbiAgICAgIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLmFkQ2FyZC1wcml2YXRlRXhjbHVzaXZlQWRCdXR0b24ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luLXRvcDogdmFyKC0tY3gtc3BhY2luZy0yeCk7XG4gICAgfVxuICB9XG5cbiAgLyogQlJBTkRFRCBBRCBDQVJEICovXG5cbiAgLmFkQ2FyZC1hc3BlY3RSYXRpb0NvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWN4LWNvbG9yLWJsYWNrKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLmFkQ2FyZC1wcml2YXRlRXhjbHVzaXZlQnJhbmRlZENvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG4gICAgLmFkQ2FyZC1icmFuZGVkRGlzcGxheVRleHRDb250YWluZXIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICB9XG5cbiAgICAuYWRDYXJkLWJyYW5kZWREaXNwbGF5VGV4dENvbnRhaW5lci5hZENhcmQtYnJhbmRlZERpc3BsYXlUZXh0RnVsbFdpZHRoIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5hZENhcmQtYnJhbmRlZERpc3BsYXlUZXh0IHtcbiAgICAgIG1hcmdpbjogMCB2YXIoLS1jeC1zcGFjaW5nLTN4KTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jeC1jb2xvci13aGl0ZSk7XG4gICAgICBmb250LXNpemU6IHZhcigtLWN4LWZvbnQtc2l6ZVhsKTtcbiAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSAgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0ICovXG4gICAgICBmb250LXdlaWdodDogdmFyKC0tY3gtZm9udC13ZWlnaHRNZWRpdW0pO1xuICAgICAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAuYWRDYXJkLWFnZW50UHJvZmlsZVBpYyB7XG4gICAgICB3aWR0aDogMTI4cHg7XG4gICAgICBoZWlnaHQ6IDEyOHB4O1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuICB9XG5cbiAgLmFkQ2FyZC1icmFuZGluZ1BhdHRlcm5JbWcge1xuICAgIGhlaWdodDogMzJweDtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1jeC1zcGFjaW5nLTJ4KTtcbiAgfVxuXG4gIC5hZENhcmQtYnJhbmRlZENUQS1hcnJvdyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogM3B4O1xuICAgIGxlZnQ6IDE2cHg7XG4gICAgZmlsbDogdmFyKC0tY3gtY29sb3ItaW50ZXJhY3RpdmUpO1xuICB9XG5cbiAgLmFkQ2FyZC1icmFuZGVkQ1RBLWFycm93OmhvdmVyIHtcbiAgICBmaWxsOiB2YXIoLS1jeC1jb2xvci13aGl0ZSk7XG4gIH1cbn1cblxuLyogYm9yZGVyIGNvbG9yIGlzIG5vdCBiZWluZyBhcHBsaWVkIGZyb20gdGhlIGxpc3RpbmcgY2FyZCBzdHlsZXNcbiogYmVjYXVzZSB0aGV5IGFwcGVuZCBhIHNlbGVjdGVkIGNsYXNzIHRvIHRoZSBwaG90byBjYXJkIG9uIGhvdmVyXG4qIHdoaWNoIHdlIGRvbid0IGRvXG4qL1xuLmFkQ2FyZC1wcml2YXRlRXhjbHVzaXZlQ2FyZC51Yy1saXN0aW5nUGhvdG9DYXJkLnVjLWxpc3RpbmdDYXJkLnVjLWxpc3RpbmdDYXJkLWhhcy1waG90bzpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3JJbnRlbnQtYWN0aW9uYWJsZUZpbGxlZEJvcmRlckhvdmVyKTtcbn1cblxuLmFkQ2FyZCB7XG4gIC5hZENhcmQtcHJpdmF0ZUV4Y2x1c2l2ZUJyYW5kZWRDb250YWluZXIuYWRDYXJkLXByaXZhdGVFeGNsdXNpdmVCcmFuZGVkQ29udGFpbmVyQmlnIHtcbiAgICAuYWRDYXJkLWJyYW5kZWREaXNwbGF5VGV4dCB7XG4gICAgICBmb250LXNpemU6IHZhcigtLWN4LWZvbnQtc2l6ZUxnKTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLWN4LW1xLW1heFdpZHRoVGFibGV0KSB7XG4gIC5hZENhcmQge1xuICAgIC5hZENhcmQtcHJpdmF0ZUV4Y2x1c2l2ZUJyYW5kZWRDb250YWluZXIge1xuICAgICAgbWFyZ2luLXRvcDogdmFyKC0tY3gtc3BhY2luZy0yeCk7XG4gICAgfVxuXG4gICAgLmFkQ2FyZC1wcml2YXRlRXhjbHVzaXZlQnJhbmRlZENvbnRhaW5lciB7XG4gICAgICAuYWRDYXJkLWJyYW5kZWREaXNwbGF5VGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tY3gtZm9udC1zaXplTGcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hZENhcmQtcHJpdmF0ZUV4Y2x1c2l2ZUJyYW5kZWRDb250YWluZXIuYWRDYXJkLXByaXZhdGVFeGNsdXNpdmVCcmFuZGVkQ29udGFpbmVyQmlnIHtcbiAgICAgIC5hZENhcmQtYnJhbmRlZERpc3BsYXlUZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1jeC1mb250LXNpemVNZCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1jeC1tcS1tYXhXaWR0aE1vYmlsZUxhbmRzY2FwZSkge1xuICAuYWRDYXJkIHtcbiAgICAuYWRDYXJkLXByaXZhdGVFeGNsdXNpdmVCcmFuZGVkQ29udGFpbmVyLmFkQ2FyZC1wcml2YXRlRXhjbHVzaXZlQnJhbmRlZENvbnRhaW5lckJpZyB7XG4gICAgICAuYWRDYXJkLWJyYW5kZWREaXNwbGF5VGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tY3gtZm9udC1zaXplU20pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tY3gtbXEtbWF4V2lkdGhNb2JpbGVMYW5kc2NhcGUpIHtcbiAgLmFkQ2FyZC1wcml2YXRlRXhjbHVzaXZlQ2FyZC5hZENhcmQtYnJhbmRlZEFzcGVjdFJhdGlvIHtcbiAgICBwYWRkaW5nLXRvcDogNzUlO1xuICB9XG5cbiAgLmFkQ2FyZCB7XG4gICAgLmFkQ2FyZC1wcml2YXRlRXhjbHVzaXZlU3ZnIHtcbiAgICAgIHdpZHRoOiAyMDZweDtcbiAgICB9XG5cbiAgICAuYWRDYXJkLXByaXZhdGVFeGNsdXNpdmVUZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tY3gtZm9udC1zaXplNHhsKTtcbiAgICB9XG5cbiAgICAuYWRDYXJkLXByaXZhdGVFeGNsdXNpdmVBZEJ1dHRvbiB7XG4gICAgICBmb250LXNpemU6IHZhcigtLWN4LWZvbnQtc2l6ZU1kKTtcbiAgICB9XG5cbiAgICAuYWRDYXJkLXByaXZhdGVFeGNsdXNpdmVCcmFuZGVkQ29udGFpbmVyLmFkQ2FyZC1wcml2YXRlRXhjbHVzaXZlQnJhbmRlZENvbnRhaW5lckJpZyB7XG4gICAgICAuYWRDYXJkLWJyYW5kZWREaXNwbGF5VGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tY3gtZm9udC1zaXplWGwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tY3gtbXEtbWF4V2lkdGhNb2JpbGUpIHtcbiAgLmFkQ2FyZCB7XG4gICAgLmFkQ2FyZC1wcml2YXRlRXhjbHVzaXZlU3ZnIHtcbiAgICAgIHdpZHRoOiAxNjJweDtcbiAgICB9XG5cbiAgICAuYWRDYXJkLXByaXZhdGVFeGNsdXNpdmVUZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tY3gtZm9udC1zaXplMnhsKTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLWN4LW1xLW1heFdpZHRoU21hbGxNb2JpbGUpIHtcbiAgLmFkQ2FyZCB7XG4gICAgLmFkQ2FyZC1wcml2YXRlRXhjbHVzaXZlQnJhbmRlZENvbnRhaW5lci5hZENhcmQtcHJpdmF0ZUV4Y2x1c2l2ZUJyYW5kZWRDb250YWluZXJCaWcge1xuICAgICAgLmFkQ2FyZC1icmFuZGVkRGlzcGxheVRleHQge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWN4LWZvbnQtc2l6ZU1kKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYWRDYXJkLXByaXZhdGVFeGNsdXNpdmVUZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tY3gtZm9udC1zaXplTGcpO1xuICAgIH1cblxuICAgIC5hZENhcmQtcHJpdmF0ZUV4Y2x1c2l2ZUJyYW5kZWRDb250YWluZXIuYWRDYXJkLXByaXZhdGVFeGNsdXNpdmVCcmFuZGVkQ29udGFpbmVyQmlnIHtcbiAgICAgIC5hZENhcmQtYnJhbmRlZERpc3BsYXlUZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1jeC1mb250LXNpemVTbSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFkQ2FyZC1wcml2YXRlRXhjbHVzaXZlQnJhbmRlZENvbnRhaW5lciB7XG4gICAgICAuYWRDYXJkLWFnZW50UHJvZmlsZVBpYyB7XG4gICAgICAgIHdpZHRoOiAxMDhweDtcbiAgICAgICAgaGVpZ2h0OiAxMDhweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLWN4LW1xLW1heFdpZHRoV2VhcmFibGVzKSB7XG4gIC5hZENhcmQge1xuICAgIC5hZENhcmQtcHJpdmF0ZUV4Y2x1c2l2ZUJyYW5kZWRDb250YWluZXIge1xuICAgICAgLmFkQ2FyZC1icmFuZGVkRGlzcGxheVRleHQge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWN4LWZvbnQtc2l6ZU1kKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qIERldmljZXMgYW5kIHNjcmVlbnMgc2l6ZXMgaGFuZGxlZCBpbiBhc2NlbmRpbmcgb3JkZXIgKi9cblxuLmhvbWVwYWdlLWhlcm8ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5ob21lcGFnZS1oZXJvQmFja2dyb3VuZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zIDBzLCB2aXNpYmlsaXR5IDBzIDBzO1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IHZhcigtLWN4LXpJbmRleC0xKTtcblxuICAmLmlzLWxvYWRlZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbi5ob21lcGFnZS1oZXJvLFxuLmhvbWVwYWdlLWhlcm9CYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3gtY29sb3ItZ3JleTEwMCk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuLmhvbWVwYWdlLWhlcm9Db250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1jeC1iYXNlVW5pdCkgKiA1KSB2YXIoLS1jeC1zcGFjaW5nLTJ4KVxuICAgIDBweCB2YXIoLS1jeC1zcGFjaW5nLTJ4KTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMzgwcHg7XG4gIHRyYW5zaXRpb246IGhlaWdodCAxMDBtcyBlYXNlO1xuICB6LWluZGV4OiB2YXIoLS1jeC16SW5kZXgtMik7XG59XG5cbi5ob21lcGFnZS1oZXJvQWdlbnRJbWcge1xuICB3aWR0aDogNTZweDtcbiAgaGVpZ2h0OiA1NnB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5cbi5ob21lcGFnZS1oZXJvQWdlbnRMaW5rIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4uaG9tZXBhZ2UtaGVyb0NvbnRlbnQuaXMtZXhwYW5kZWQge1xuICBAbWVkaWEgKC0tY3gtbXEtbWF4V2lkdGhNb2JpbGVMYW5kc2NhcGUpIHtcbiAgICB6LWluZGV4OiB2YXIoLS1jeC16SW5kZXgtMTApO1xuICB9XG59XG5cbi5ob21lcGFnZS1oZXJvVGl0bGUge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgMzZweDtcbiAgY29sb3I6IHZhcigtLWN4LWNvbG9yLXdoaXRlKTtcbiAgZm9udC1zaXplOiAzMHB4O1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHRCb2xkKTsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3QgKi9cbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIHRleHQtc2hhZG93OiAwIDFweCAyMHB4IHJnYmEoMCwwLDAsMC41KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAmLS1icmFuZGVkIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1jeC1zcGFjaW5nLTF4KTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1jeC1zcGFjaW5nLTF4KTtcbiAgICBjb2xvcjogdmFyKC0tY3gtY29sb3Itd2hpdGUpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodEJvbGQpOyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIHByb3BlcnR5LWJsYWNrbGlzdCAqL1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tY3gtZm9udC1zaXplM3hsKTtcbiAgICBsaW5lLWhlaWdodDogMzdweDtcbiAgICB0ZXh0LXNoYWRvdzogMCAxcHggMjBweCByZ2JhKDAsMCwwLDAuNSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG59XG5cbi5ob21lcGFnZS1vbW5pYm94Q29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG59XG5cbkBtZWRpYSAoLS1jeC1tcS1taW5XaWR0aFRhYmxldCkge1xuICAuaG9tZXBhZ2UtaGVyb0NvbnRlbnQge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tY3gtYmFzZVVuaXQpICogNSkgMCAwIDA7XG4gICAgaGVpZ2h0OiA1MDBweDtcbiAgfVxuXG4gIC5ob21lcGFnZS1oZXJvQWdlbnRJbWcge1xuICAgIHdpZHRoOiA5NnB4O1xuICAgIGhlaWdodDogOTZweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIH1cblxuICAuaG9tZXBhZ2UtaGVyb1RpdGxlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBsaW5lLWhlaWdodDogNTZweDtcblxuICAgICYtLWJyYW5kZWQge1xuICAgICAgcGFkZGluZzogMHB4IHZhcigtLWN4LXNwYWNpbmctOHgpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmb250LXNpemU6IHZhcigtLWN4LWZvbnQtc2l6ZTV4bCk7XG4gICAgICBsaW5lLWhlaWdodDogNDJweDtcbiAgICB9XG4gIH1cblxuICAuaG9tZXBhZ2Utb21uaWJveENvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tY3gtc3BhY2luZy0zeCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tY3gtc3BhY2luZy04eCk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1jeC1zcGFjaW5nLTh4KTtcbiAgfVxufVxuXG5AbWVkaWEgKC0tY3gtbXEtbWluV2lkdGhUYWJsZXRMYW5kc2NhcGUpIHtcbiAgLmhvbWVwYWdlLWhlcm9Db250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDczMHB4O1xuICAgIGhlaWdodDogNjAwcHg7XG4gIH1cblxuICAuaG9tZXBhZ2UtaGVyb1RpdGxlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogNTZweDtcbiAgICBsaW5lLWhlaWdodDogNTZweDtcblxuICAgICYtLWJyYW5kZWQge1xuICAgICAgcGFkZGluZzogMHB4IHZhcigtLWN4LXNwYWNpbmctNHgpO1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tY3gtYmFzZVVuaXQpICogMS41KTtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tY3gtZm9udC1zaXplNXhsKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0MnB4O1xuICAgIH1cbiAgfVxuXG4gIC5ob21lcGFnZS1vbW5pYm94Q29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1jeC1zcGFjaW5nLTN4KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1jeC1zcGFjaW5nLTh4KTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWN4LXNwYWNpbmctOHgpO1xuICB9XG5cbiAgLmhvbWVwYWdlLWhlcm9BZ2VudEltZyB7XG4gICAgd2lkdGg6IDk2cHg7XG4gICAgaGVpZ2h0OiA5NnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgfVxufVxuIiwiLmhvbWVwYWdlLWxpc3RpbmdDb250ZW50IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgbWFyZ2luOiB2YXIoLS1ndXR0ZXIpIDA7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gIGdyaWQtZ2FwOiB2YXIoLS1ndXR0ZXIpO1xufVxuXG4vKiBOb24tdWx0cmEtd2lkZSBEZXNrdG9wIG1vZGUsIHNob3cgc2l4IGxpc3RpbmdzIGluIDMgY29sdW1ucyB3aXRoIDIgcm93cyBvZiBsaXN0aW5ncyAqL1xuQG1lZGlhICgtLWN4LW1xLW1heFdpZHRoRGVza3RvcCkge1xuICAudWMtbGlzdGluZ1Bob3RvQ2FyZDpudGgtbGFzdC1vZi10eXBlKC1uKzIpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmhvbWVwYWdlLWxpc3RpbmdDb250ZW50IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICB9XG5cbiAgLyogUGxhY2UgYWQtY2FyZCBhdCBlbmQgb2YgZmlyc3Qgcm93LiAqL1xuICAuYWRDYXJkLXByaXZhdGVFeGNsdXNpdmVDYXJkIHtcbiAgICBncmlkLXJvdy1zdGFydDogMTtcbiAgICBncmlkLWNvbHVtbi1zdGFydDogMztcbiAgfVxufVxuXG4vKiBUYWJsZXQgbW9kZSwgc2hvdyBzaXggbGlzdGluZ3MgaW4gMiBjb2x1bW5zIHdpdGggMyByb3dzIG9mIGxpc3RpbmdzICovXG5AbWVkaWEgKC0tY3gtbXEtbWF4V2lkdGhUYWJsZXQpIHtcbiAgLnVjLWxpc3RpbmdQaG90b0NhcmQ6bnRoLWxhc3Qtb2YtdHlwZSgtbisyKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5ob21lcGFnZS1saXN0aW5nQ29udGVudCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgfVxuXG4gIC8qIFBsYWNlIGFkLWNhcmQgYXQgZW5kIG9mIGZpcnN0IHJvdy4gKi9cbiAgLmFkQ2FyZC1wcml2YXRlRXhjbHVzaXZlQ2FyZCB7XG4gICAgZ3JpZC1yb3ctc3RhcnQ6IDE7XG4gICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDI7XG4gIH1cbn1cblxuLyogTW9iaWxlIG1vZGUsIHNob3cgb25seSA0IGxpc3RpbmdzIGluIG9uZSBjb2x1bW4gKi9cbkBtZWRpYSAoLS1jeC1tcS1tYXhXaWR0aE1vYmlsZUxhbmRzY2FwZSkge1xuICAudWMtbGlzdGluZ1Bob3RvQ2FyZDpudGgtbGFzdC1vZi10eXBlKC1uKzQpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmhvbWVwYWdlLWxpc3RpbmdDb250ZW50IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgfVxuXG4gIC8qIFBsYWNlIGFkLWNhcmQgc2Vjb25kIGluIGNvbHVtbi4gKi9cbiAgLmFkQ2FyZC1wcml2YXRlRXhjbHVzaXZlQ2FyZCB7XG4gICAgZ3JpZC1yb3ctc3RhcnQ6IDI7XG4gICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDE7XG4gIH1cbn1cblxuLmlzLWxvYWRpbmcge1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5ob21lcGFnZS10ZXh0QW5pbWF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmhvbWVwYWdlLWFuaW1hdGlvblBsYWNlaG9sZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG59XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICBjb2xvci1uby1oZXggKi9cbi5ob21lcGFnZS1hbmltYXRpb25QbGFjZWhvbGRlci53YXZlIGRpdiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiB3YXZlIDFzIGluZmluaXRlIGxpbmVhciBmb3J3YXJkcztcbiAgYW5pbWF0aW9uOiB3YXZlIDFzIGluZmluaXRlIGxpbmVhciBmb3J3YXJkcztcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZWVlZWVlIDglLCAjZGRkZGRkIDE4JSwgI2VlZWVlZSAzMyUpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDgwMHB4IDEwNHB4O1xufVxuXG5Aa2V5ZnJhbWVzIHdhdmUge1xuICAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ2OHB4IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA0NjhweCAwO1xuICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB3YXZlIHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NjhweCAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNDY4cHggMDtcbiAgfVxufVxuXG4uaG9tZXBhZ2UtY3RhQnV0dG9uLmhvbWVwYWdlLWxpc3RpbmdTZWN0aW9uLS1oaWRlLFxuLmhvbWVwYWdlLWxpc3RpbmdTZWN0aW9uLmhvbWVwYWdlLWxpc3RpbmdTZWN0aW9uLS1oaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi5ob21lcGFnZS1mZWF0dXJlZEd1aWRlcyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIG1hcmdpbjogdmFyKC0tZ3V0dGVyKSAwO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICBncmlkLWdhcDogdmFyKC0tZ3V0dGVyKTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICBAbWVkaWEgKC0tY3gtbXEtbWluV2lkdGhUYWJsZXRMYW5kc2NhcGUpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICB9XG5cbiAgQG1lZGlhICgtLWN4LW1xLW1heFdpZHRoTW9iaWxlTGFuZHNjYXBlKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgfVxufVxuXG4uaG9tZXBhZ2UtZmVhdHVyZWRHdWlkZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHZhcigtLWN4LWNvbG9yLWludGVyYWN0aXZlKTtcbiAgfVxufVxuXG4uaG9tZXBhZ2UtZmVhdHVyZWRHdWlkZUltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA4OHB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uaG9tZXBhZ2UtZmVhdHVyZWRHdWlkZUNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBhZGRpbmc6IDQwcHggMjRweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgY29sb3I6IHZhcigtLWN4LWNvbG9yLW9uRGFya1RleHQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG5cbi5ob21lcGFnZS1mZWF0dXJlZEd1aWRlTmVpZ2hib3Job29kIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodE1lZGl1bSk7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuIiwiLmNvbmNpZXJnZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAuY29uY2llcmdlQmxvY2stLWltZyxcbiAgLmNvbmNpZXJnZUJsb2NrLS1waWN0dXJlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gIH1cbn1cblxuLmNvbmNpZXJnZUJsb2NrLS1pbWFnZSB7XG4gIGZsZXg6IDcgMCBhdXRvO1xuICBoZWlnaHQ6IDIwMHB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMTAwJTtcbn1cblxuLmNvbmNpZXJnZUJsb2NrRGVza3RvcC0taW1hZ2Uge1xuICBmbGV4OiAxMiAwIGF1dG87XG59XG5cbi5jb25jaWVyZ2VJbWFnZS0tdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMiU7XG4gIGNvbG9yOiB2YXIoLS1jeC1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHRNZWRpdW0pO1xuICBmaWx0ZXI6IGdyYXlzY2FsZSgxKTtcbn1cblxuLmNvbmNpZXJnZUJsb2NrLS10ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDQwcHggMTZweDtcbiAgZmxleDogMTA7XG4gIGNvbG9yOiB2YXIoLS1jeC1jb2xvci13aGl0ZSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWN4LWNvbG9yLWJsYWNrKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY29uY2llcmdlRGVzY3JpcHRpb24ge1xuICBwYWRkaW5nOiAwIDQwcHg7XG4gIG1hcmdpbi10b3A6IDZweDtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuQG1lZGlhICgtLWN4LW1xLW1pbldpZHRoTW9iaWxlKSB7XG4gIC5jb25jaWVyZ2VCbG9jay0taW1hZ2Uge1xuICAgIGhlaWdodDogMjUwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDY1JTtcbiAgfVxuXG4gIC5jb25jaWVyZ2VCbG9ja0JlZm9yZS0taW1hZ2Uge1xuICAgIG1hcmdpbjogMCAwIDJweCAwO1xuICB9XG5cbiAgLmNvbmNpZXJnZURlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICB9XG5cbiAgLmNvbmNpZXJnZUJlZm9yZUltYWdlLS10ZXh0IHtcbiAgICB0b3A6IDI0JTtcbiAgfVxuXG4gIC5jb25jaWVyZ2VBZnRlckltYWdlLS10ZXh0IHtcbiAgICB0b3A6IDUyJTtcbiAgfVxufVxuXG4vKiBNYWtlIGluY3JlbWVudGFsIGltYWdlIGFkanVzdG1lbnRzIHRvIGtlZXAgdGhlIEJlZm9yZSBhbmQgQWZ0ZXJcIiB0ZXh0IGxhYmVscyBhbGlnbmVkIG9uIHRvcCAqL1xuQG1lZGlhICgtLWN4LW1xLW1heFdpZHRoU21hbGxNb2JpbGUpIHtcbiAgLmNvbmNpZXJnZUJlZm9yZUltYWdlLS10ZXh0IHtcbiAgICB0b3A6IDI2JTtcbiAgfVxuXG4gIC5jb25jaWVyZ2VBZnRlckltYWdlLS10ZXh0IHtcbiAgICB0b3A6IDU3JTtcbiAgfVxufVxuXG5AbWVkaWEgKC0tY3gtbXEtbWluV2lkdGhNb2JpbGUpIGFuZCAobWF4LXdpZHRoOiA0NTdweCkge1xuICAuY29uY2llcmdlQmVmb3JlSW1hZ2UtLXRleHQge1xuICAgIHRvcDogMjclO1xuICB9XG5cbiAgLmNvbmNpZXJnZUFmdGVySW1hZ2UtLXRleHQge1xuICAgIHRvcDogNTklO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NThweCkgYW5kIChtYXgtd2lkdGg6IDY2NnB4KSB7XG4gIC5jb25jaWVyZ2VCZWZvcmVJbWFnZS0tdGV4dCB7XG4gICAgdG9wOiAyOCU7XG4gIH1cblxuICAuY29uY2llcmdlQWZ0ZXJJbWFnZS0tdGV4dCB7XG4gICAgdG9wOiA2MSU7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY2N3B4KSBhbmQgKG1heC13aWR0aDogODMzcHgpIHtcbiAgLmNvbmNpZXJnZUJlZm9yZUltYWdlLS10ZXh0IHtcbiAgICB0b3A6IDI5JTtcbiAgfVxuXG4gIC5jb25jaWVyZ2VBZnRlckltYWdlLS10ZXh0IHtcbiAgICB0b3A6IDYzJTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogODM0cHgpIGFuZCAoLS1jeC1tcS1tYXhXaWR0aFRhYmxldCkge1xuICAuY29uY2llcmdlQmVmb3JlSW1hZ2UtLXRleHQge1xuICAgIHRvcDogMzAlO1xuICB9XG5cbiAgLmNvbmNpZXJnZUFmdGVySW1hZ2UtLXRleHQge1xuICAgIHRvcDogNjUlO1xuICB9XG59XG5cbkBtZWRpYSAoLS1jeC1tcS1tYXhXaWR0aFRhYmxldCkge1xuICAuY29uY2llcmdlQmxvY2tEZXNrdG9wLS1pbWFnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIC5jb25jaWVyZ2VCbG9jay0taW1nLFxuICAgIC5jb25jaWVyZ2VCbG9jay0tcGljdHVyZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tY3gtbXEtbWluV2lkdGhUYWJsZXQpIHtcbiAgLmNvbmNpZXJnZSB7XG4gICAgbWFyZ2luOiAwIDI0cHg7XG4gIH1cblxuICAuY29uY2llcmdlQmxvY2stLWltYWdlIHtcbiAgICBoZWlnaHQ6IDMwMHB4O1xuICB9XG5cbiAgLmNvbmNpZXJnZUJsb2NrRGVza3RvcC0taW1hZ2Uge1xuICAgIG1heC13aWR0aDogNTQlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgfVxuXG4gIC5jb25jaWVyZ2VCbG9ja0JlZm9yZS0taW1hZ2Uge1xuICAgIG1hcmdpbjogMCAwIDJweCAwO1xuICB9XG5cbiAgLmNvbmNpZXJnZURlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nOiAwIDk2cHg7XG4gIH1cbn1cblxuQG1lZGlhICgtLWN4LW1xLW1pbldpZHRoVGFibGV0TGFuZHNjYXBlKSB7XG4gIC5jb25jaWVyZ2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cblxuICAuY29uY2llcmdlQmxvY2tCZWZvcmUtLWltYWdlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbjogMCAycHggMCAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyMCUgMTAwJTtcbiAgfVxuXG4gIC5jb25jaWVyZ2VCbG9ja0FmdGVyLS1pbWFnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJTtcbiAgfVxuXG4gIC5jb25jaWVyZ2VCZWZvcmVJbWFnZS0tdGV4dCB7XG4gICAgdG9wOiA5MyU7XG4gICAgbGVmdDogMSU7XG4gIH1cblxuICAuY29uY2llcmdlQWZ0ZXJJbWFnZS0tdGV4dCB7XG4gICAgdG9wOiA5MyU7XG4gICAgbGVmdDogMjglO1xuICB9XG5cbiAgLmNvbmNpZXJnZUJsb2NrLS10ZXh0IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1ndXR0ZXIpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICAuY29uY2llcmdlQmxvY2stdGV4dFdyYXBwZXIge1xuICAgIG1hcmdpbjogNzBweDtcbiAgfVxuXG4gIC5jb25jaWVyZ2VEZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tYm90dG9tOiA0OHB4O1xuICB9XG59XG4iLCJAaW1wb3J0ICcuL2hlcm8ucGNzcyc7XG5AaW1wb3J0ICcuL2xpc3RpbmcucGNzcyc7XG5AaW1wb3J0ICcuL2d1aWRlcy5wY3NzJztcbkBpbXBvcnQgJy4vY29uY2llcmdlLnBjc3MnO1xuXG4vKiBQcmV2ZW50IGJvZHkgc2Nyb2xsaW5nIG9uIGlPUyAqL1xuYm9keS51LW5vU2Nyb2xsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xufVxuXG5ib2R5LnUtbm9TY3JvbGwgLmhvbWVwYWdlIHtcbiAgaGVpZ2h0OiBpbmhlcml0O1xuICBvdmVyZmxvdzogaW5oZXJpdDtcbn1cblxuLmhvbWVwYWdlLXNlY3Rpb24ge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1jeC1zcGFjaW5nLTh4KTtcbn1cblxuLmhvbWVwYWdlLXNlY3Rpb246bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWN4LXNwYWNpbmctOHgpO1xufVxuXG4uaG9tZXBhZ2Utc2VjdGlvbldyYXBwZXIge1xuICBtYXJnaW46IDAgdmFyKC0tY3gtc3BhY2luZy0zeCk7XG5cbiAgQG1lZGlhICgtLWN4LW1xLW1heFdpZHRoTW9iaWxlKSB7XG4gICAgbWFyZ2luOiAwIHZhcigtLWN4LXNwYWNpbmctMngpO1xuICB9XG59XG5cbi5ob21lcGFnZS1zZWN0aW9uSGVhZGVyIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDMycHg7XG5cbiAgQG1lZGlhICgtLWN4LW1xLW1heFdpZHRoTW9iaWxlKSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICB9XG59XG5cbi5ob21lcGFnZS1jdGFCdXR0b24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmhvbWVwYWdlLWN0YUJ1dHRvbi0taW52ZXJ0ZWQge1xuICBib3JkZXItY29sb3I6IHZhcigtLWN4LWNvbG9yLXdoaXRlKTtcbiAgY29sb3I6IHZhcigtLWN4LWNvbG9yLWJsYWNrKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3gtY29sb3Itd2hpdGUpO1xufVxuXG4uaG9tZXBhZ2UtY3RhQnV0dG9uLS1pbnZlcnRlZDpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1jeC1jb2xvci13aGl0ZSk7XG59XG5cbi5ob21lcGFnZS1jdGFJY29uIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLWN4LXNwYWNpbmctMngpO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG5cbkBtZWRpYSAoLS1jeC1tcS1taW5XaWR0aE1vYmlsZSkge1xuICAuaG9tZXBhZ2UtY3RhQnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgfVxufVxuXG4vKiBRdWFsdHJpY3Mgc3VydmV5ICovXG4uUVNJV2ViUmVzcG9uc2l2ZSB7XG4gIGZvbnQ6IHZhcigtLWN4LWZvbnRTaXplLS1tZCkgdmFyKC0tZm9udC1mYW1pbHlTYW5zKTtcbn1cbiIsIkBpbXBvcnQgJy4vaG9tZXBhZ2UucGNzcyc7XG5cbioge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5ib2R5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAwO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xufVxuXG5tYWluIHtcbiAgZmxleC1ncm93OiAxOyAvKiBFbnN1cmUgdGhhdCB0aGUgZm9vdGVyIGlzIGFsd2F5cyBiZWluZyBwdXNoZWQgZG93biB0byB0aGUgYm90dG9tLiAqL1xufVxuXG4vKiBIb2xkb3ZlcnMgZnJvbSBodG1sU2VsZWN0b3JzLmxlc3MuIFdlIHNob3VsZCBpbnZlc3RpZ2F0ZSB3aGV0aGVyIHRoZXNlIGNhbiBiZSBkZXByZWNhdGVkLiAqL1xuaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbiIsIjpyb290IHtcbiAgLS11Yy1vbW5pYm94LWJ1dHRvbi1oZWlnaHQ6IDMycHg7XG4gIC0tdWMtb21uaWJveC1pbnB1dC1oZWlnaHQ6IDY0cHg7XG59XG5cbi8qIGNyaXRpY2FsIENTUyBmb3IgaGlkaW5nIG1vYmlsZS9ub24gbW9iaWxlIERPTSBjb250ZW50IGFzIG5lZWRlZCAqL1xuLyogSGlkZSB0aGUgZWxlbWVudCB3aGVuIHdpbmRvdyBpcyBhYm92ZSBtb2JpbGUgYnJlYWtwb2ludCAqL1xuLnVjLXR5cGVhaGVhZC1oaWRlT25Ob25Nb2JpbGUge1xuICBAbWVkaWEgbm90IGFsbCBhbmQgKC0tY3gtbXEtbWF4V2lkdGhNb2JpbGVMYW5kc2NhcGUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogSGlkZSB0aGUgZWxlbWVudCB3aGVuIHdpbmRvdyBpcyBiZWxsb3cgbW9iaWxlIGJyZWFrcG9pbnQgKi9cbi51Yy10eXBlYWhlYWQtaGlkZU9uTW9iaWxlIHtcbiAgQG1lZGlhIGFsbCBhbmQgKC0tY3gtbXEtbWF4V2lkdGhNb2JpbGVMYW5kc2NhcGUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnVjLW9tbmlib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBpbmhlcml0O1xuXG4gIEBtZWRpYSAoLS1jeC1tcS1tYXhXaWR0aE1vYmlsZUxhbmRzY2FwZSkge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG5cbi8qIFNoYWRvdyAqL1xuLnVjLW9tbmlib3g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IHZhcigtLXVjLW9tbmlib3gtYnV0dG9uLWhlaWdodCk7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IGluaGVyaXQ7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogLTE7XG5cbiAgQG1lZGlhICgtLWN4LW1xLW1heFdpZHRoTW9iaWxlTGFuZHNjYXBlKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udWMtb21uaWJveC1jb250ZW50V3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLWN4LWhvcml6b250YWxQYWRkaW5nLS1tZCk7XG4gIGhlaWdodDogdmFyKC0tdWMtb21uaWJveC1pbnB1dC1oZWlnaHQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jeC1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgei1pbmRleDogdmFyKC0tY3gtekluZGV4LTIpO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4udWMtb21uaWJveC1vcHRpb25zQ29udGFpbmVyIHtcbiAgei1pbmRleDogdmFyKC0tY3gtekluZGV4LTMpO1xuXG4gIEBtZWRpYSAoLS1jeC1tcS1taW5XaWR0aFRhYmxldCkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxufVxuXG4vKiBOb3RlOiBpZGVhbGx5IHdlIHdvdWxkIGp1c3QgdXNlIC51Yy1vbW5pYm94OmJlZm9yZSBhcyBvbmUgYm94LXNoYWRvdywgYW5kXG51c2UgdGhhdCBmb3IgdGhlIHdob2xlIGNvbXBvbmVudC4gSG93ZXZlciwgZm9yIHRoYXQgYXBwcm9hY2ggdG8gd29yaywgdGhlXG5vcHRpb25zQ29udGFpbmVyIG11c3QgYmUgYWJsZSB0byBiZSBwb3NpdGlvbjogc3RhdGljLCB3aGljaCBpcyBub3QgcG9zc2libGVcbmluIHRoZSBvdmVyYWxsIGZsb3cgb2YgdGhlIGhvbWVwYWdlIGFzIGl0IGlzLiBTbyB0aGlzIENTUyB3aWxsIG5lZWQgdG8gaW5kZWZpbml0ZWx5XG5zdXBwb3J0IHR3byBib3gtc2hhZG93czpcbi0gb25lIG9uIHRoZSA6YmVmb3JlLCB3aGljaCBjb3ZlcnMganVzdCB0aGUgaW5wdXQgcmVjdGFuZ2xlXG4tIG9uZSBvbiB0aGUgb3B0aW9uc0NvbnRhaW5lciBpdHNlbGYsIHdoaWNoIHdpbGwgYmUgYXBwbGllZCBvbmx5IGZvciBkZXNrdG9wLCBvbmx5XG53aGVuIHRoZSBwYXJlbnQgLnVjLW9tbmlib3ggaGFzIHRoZSBleHBhbmRlZCBjbGFzc1xuQWRkaXRpb25hbGx5LCBkdWUgdG8gdGhpcywgdGhlIHotaW5kZXggb2YgdGhlIGNvbnRlbnRXcmFwcGVyIHdpbGwgbmVlZCB0byBjaGFuZ2Ugb25cbmRlc2t0b3Agc2l6ZSB2aWV3cG9ydHMgd2hlbiB0aGUgZXhwYW5kZWQgY2xhc3MgaXMgb24gLnVjLW9tbmlib3gsIHNvIHRoYXQgdGhlIGJveC1zaGFkb3dcbm9mIHRoZSBvcHRpb25zQ29udGFpbmVyIGRvZXMgbm90IGJsZWVkIGludG8gdGhlIHRleHQgaW5wdXQuXG4qL1xuLnVjLW9tbmlib3guZXhwYW5kZWQgLnVjLW9tbmlib3gtb3B0aW9uc0NvbnRhaW5lcjpub3QoOmVtcHR5KSB7XG4gIEBtZWRpYSAoLS1jeC1tcS1taW5XaWR0aFRhYmxldCkge1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB9XG59XG5cbi51Yy1vbW5pYm94LmV4cGFuZGVkIC51Yy1vbW5pYm94LWNvbnRlbnRXcmFwcGVyIHtcbiAgQG1lZGlhICgtLWN4LW1xLW1pbldpZHRoVGFibGV0KSB7XG4gICAgLyogbmVlZCB0aGlzIHNvIG9wdGlvbnMgbWVudSBib3ggc2hhZG93IHdvbid0IGJlIG9uIHRvcCBvZiBjb250ZW50IHdyYXBwZXIgKi9cbiAgICB6LWluZGV4OiB2YXIoLS1jeC16SW5kZXgtNCk7XG4gIH1cbn1cblxuLnVjLW9tbmlib3gtaW5wdXRDb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICBmbGV4OiAxO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnVjLW9tbmlib3gtaW5wdXQge1xuICBib3JkZXI6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLypcbiAqIFRhcmdldCB7Y29udGFpbmVyQ2xhc3N9IGJ1dHRvbiB0byBvdmVycmlkZSAudWMtY29ycE5hdiBidXR0b25cbiAqL1xuLnVjLW9tbmlib3gtc2VhcmNoQnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG5cbi51Yy1vbW5pYm94LWNsZWFyQnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi51Yy1vbW5pYm94LXNlYXJjaEljb24ge1xuICBtYXJnaW46IGF1dG87XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG59XG5cbi51Yy1vbW5pYm94LWlubGluZVNlYXJjaEljb24ge1xuICBkaXNwbGF5OiBub25lO1xuICAvKiBUaGUgaW5wdXQgaXRzZWxmIGhhcyBsZWZ0IHBhZGRpbmcgYmFrZWQgaW4sIHNvIHRoZSByaWdodCBtYXJnaW4gaGVyZSBpcyA4cHggaW5zdGVhZCBvZiAxNnB4LiAqL1xuICBtYXJnaW46IDhweCA4cHggOHB4IDE2cHg7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG59XG5cbi51Yy1vbW5pYm94LXNlYXJjaEJ1dHRvbj4uY3gtaWNvbiB7XG4gIHdpZHRoOiB2YXIoLS1jeC1idG4taWNvbldpZHRoKTtcbiAgaGVpZ2h0OiB2YXIoLS1jeC1idG4taWNvbldpZHRoKTtcbiAgZmlsbDogdmFyKC0tY3gtY29sb3Itd2hpdGUpO1xufVxuXG4udWMtb21uaWJveC1saXN0aW5nVHlwZUJ1dHRvbiB7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDgwcHg7XG4gIGhlaWdodDogdmFyKC0tdWMtb21uaWJveC1idXR0b24taGVpZ2h0KTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4vKiBFbXVsYXRlIHRoZSBvbW5pYm94IHRhYi1zZWxlY3RlZCBvdXRlciBnbG93IGZvciB0aGUgQnV5IGFuZCBSZW50IHRhYnMgKi9cbi51Yy1vbW5pYm94LWxpc3RpbmdUeXBlQnV0dG9uOmZvY3VzIHtcbiAgei1pbmRleDogNTAwO1xuICBib3JkZXItY29sb3I6IHZhcigtLWN4LWNvbG9yLWludGVyYWN0aXZlQWN0aXZlKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tb21uaWJveC1mb2N1cy1zaGFkb3cpO1xufVxuXG4udWMtb21uaWJveC1saXN0aW5nVHlwZUJ1dHRvbi5pcy1hY3RpdmUsXG4udWMtb21uaWJveC1saXN0aW5nVHlwZUJ1dHRvbi5pcy1hY3RpdmU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jeC1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgY29sb3I6IHZhcigtLWN4LWNvbG9yLWJsYWNrKTtcbn1cblxuLnVjLW9tbmlib3gtbGlzdGluZ1R5cGVTZWxlY3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgei1pbmRleDogdmFyKC0tY3gtekluZGV4LTMpO1xufVxuXG4vKiBNb2JpbGUgaW5wdXQgKi9cbi51Yy1vbW5pYm94LW1vYmlsZUlucHV0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleDogMTtcbn1cblxuLnVjLW9tbmlib3gtbW9iaWxlSW5wdXRXcmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jeC1jb2xvci13aGl0ZSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWN4LWNvbG9yLXdoaXRlKTtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDFweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC41KSk7XG59XG5cbi51Yy1vbW5pYm94LW1vYmlsZUNvbnRlbnQge1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogdmFyKC0tY3gtdmVydGljYWxQYWRkaW5nLS1tZCkgdmFyKC0tY3gtaG9yaXpvbnRhbFBhZGRpbmctLW1kKTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICBjb2xvcjogdmFyKC0tY3gtY29sb3ItdGV4dFN1YnRsZSk7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuIiwiLmludGVybmFsTGlua3MtY2l0aWVzRHJvcGRvd24ge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1jeC1zcGFjaW5nLTh4KTtcbn1cblxuLmludGVybmFsTGlua3MtZHJvcGRvd24ge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1jeC1zcGFjaW5nLTR4KTtcbn1cblxuLmludGVybmFsTGlua3MtbGlzdCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoNSwgMWZyKTtcbiAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgZ3JpZC1nYXA6IDIwcHg7XG59XG5cbi5pbnRlcm5hbExpbmtzLWRyb3Bkb3duIGlucHV0LFxuLmludGVybmFsTGlua3MtbGFiZWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uaW50ZXJuYWxMaW5rcy1zZWN0aW9uSGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tY3gtc3BhY2luZy0xeCk7XG59XG5cbkBtZWRpYSAoLS1jeC1tcS1tYXhXaWR0aFRhYmxldCkge1xuICAuaW50ZXJuYWxMaW5rcy1kcm9wZG93biB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gIH1cblxuICAuaW50ZXJuYWxMaW5rcy1sYWJlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLmludGVybmFsTGlua3MtZHJvcGRvd24ge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWN4LXNwYWNpbmctMngpO1xuICB9XG5cbiAgLmludGVybmFsTGlua3MtbGlzdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCg3LCAxZnIpO1xuICB9XG5cbiAgI2ludGVybmFsTGlua3MtY2l0aWVzQ2hlY2tib3hUb2dnbGU6Y2hlY2tlZCB+IC5pbnRlcm5hbExpbmtzLWxpc3QsXG4gICNpbnRlcm5hbExpbmtzLW1hcmtldHNDaGVja2JveFRvZ2dsZTpjaGVja2VkIH4gLmludGVybmFsTGlua3MtbGlzdCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgfVxufVxuXG5AbWVkaWEgKC0tY3gtbXEtbWF4V2lkdGhNb2JpbGUpIHtcbiAgLmludGVybmFsTGlua3MtbGlzdCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBub25lO1xuICAgIGdyaWQtYXV0by1mbG93OiB1bnNldDtcbiAgfVxufVxuIl19 */