/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
html {
  box-sizing: border-box;
  font-size: 62.5%;
  background: #ffffff;
  /* stylelint-disable */
  overflow-x: hidden;
  /* stylelint-enable */ }

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

body {
  font-family: "Red Hat Display", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  -webkit-overflow-scrolling: touch;
  margin: 0;
  font-size: 1.6rem;
  line-height: 2.6rem;
  font-display: swap;
  color: #3E3E3E; }

button,
input,
textarea,
select {
  font-family: inherit; }

/* Hide HTML5 Up and Down arrows. */
input[type='number'] {
  -webkit-appearance: textfield;
     -moz-appearance: textfield;
          appearance: textfield; }
  input[type='number']::-webkit-outer-spin-button, input[type='number']::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@media (min-width: 64em) and (max-width: 79.99em) {
  .cs-hide-laptop {
    display: none !important;
    /* stylelint-disable-line declaration-no-important */ } }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-hide-tablet {
    display: none !important;
    /* stylelint-disable-line declaration-no-important */ } }

.cs-no-display {
  display: none !important;
  /* stylelint-disable-line declaration-no-important */ }

.cs-aspect-ratio {
  position: relative;
  overflow: hidden;
  padding-top: 56.25%; }
  .cs-aspect-ratio__content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Mixins for flexible containers declaration.
 */
/**
 * Defines page container. This mixin makes sure that the content has always equal padding
 * for mobile screens on both size of the device.
 */
/**
 * Negates parent container's padding and sets it own.
 * Somethimes this has to be done to make background even to other containers' content.
 */
/**
 * Defines container wrapper that makes sure contnet doesn't extend above certain width and is always centered.
 */
body.cms-no-route .cs-container__inner h1, body.cms-no-route .cs-container__reviews h1 {
  text-transform: none;
  font-family: 28px;
  line-height: 34px;
  margin-bottom: 25px; }

body.cms-no-route .cs-container__inner h2, body.cms-no-route .cs-container__reviews h2, body.cms-no-route .cs-container__inner h3, body.cms-no-route .cs-container__reviews h3 {
  font-size: 18px;
  text-transform: none; }

body.cms-no-route .cs-container__inner ul.buttons-set, body.cms-no-route .cs-container__reviews ul.buttons-set {
  display: flex;
  flex-direction: row;
  list-style: none;
  padding: 0;
  margin: 20px 0 0; }
  body.cms-no-route .cs-container__inner ul.buttons-set button, body.cms-no-route .cs-container__reviews ul.buttons-set button {
    margin-right: 10px; }

body.cms-no-route .columns .column.main {
  padding: 45px 15px !important;
  max-width: 138rem;
  margin: 0 auto; }
  body.cms-no-route .columns .column.main h1 {
    text-transform: none;
    font-family: 28px;
    line-height: 34px;
    margin-bottom: 25px; }
  body.cms-no-route .columns .column.main h2, body.cms-no-route .columns .column.main h3 {
    font-size: 18px;
    text-transform: none; }
  body.cms-no-route .columns .column.main ul.buttons-set {
    display: flex;
    flex-direction: row;
    list-style: none;
    padding: 0;
    margin: 20px 0 0; }
    body.cms-no-route .columns .column.main ul.buttons-set button {
      margin-right: 10px; }

.cs-container {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box; }
  .cs-container__inner, .cs-container__reviews {
    max-width: 124rem;
    width: 100%;
    margin: 0 auto;
    position: relative; }
    .cs-container__inner:before, .cs-container__reviews:before, .cs-container__inner:after, .cs-container__reviews:after {
      content: '';
      display: table;
      clear: both; }
    .cs-container__inner--flex {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      @media (min-width: 48em) {
        .cs-container__inner--flex {
          flex-wrap: nowrap; } }
      .cs-container__inner--flex:after {
        display: none; }
  .cs-container__aside {
    width: 100%; }
    @media (min-width: 48em) {
      .cs-container__aside {
        width: 33%; } }
    @media (min-width: 64em) {
      .cs-container__aside {
        width: 24.8%; } }
    @media (min-width: 90em) {
      .cs-container__aside {
        width: 24.8%; } }
  .cs-container__main-column {
    width: 56%;
    position: relative; }
    @media (min-width: 48em) {
      .cs-container__main-column {
        width: 65%; } }
    @media (min-width: 64em) {
      .cs-container__main-column {
        width: 71.4%; } }
    @media (min-width: 90em) {
      .cs-container__main-column {
        width: 71.4%; } }
    @media (max-width: 47.99em) {
      .cs-container__main-column {
        max-width: 100% !important;
        width: 100% !important; } }

@media (min-width: 48em) and (max-width: 63.99em) {
  .page-product-bundle .cs-container__main-column {
    width: 100%;
    margin-right: 0; } }
    @media (min-width: 64em) {
      .cs-container__main-column--space-top {
        padding-top: 3rem; } }
  .cs-container__reviews {
    padding-bottom: 2rem; }
    @media (min-width: 48em) {
      .cs-container__reviews {
        background: #ffffff;
        margin-top: 3rem;
        padding: 0 2rem; } }
    @media (min-width: 90em) {
      .cs-container__reviews {
        padding: 2rem 0 0; } }
    .cs-container__reviews:after {
      content: '';
      display: table;
      clear: both; }
  .cs-container__cart-coupons {
    display: flex;
    flex-wrap: wrap; }
    @media (min-width: 64em) {
      .cs-container__cart-coupons {
        flex-wrap: nowrap;
        justify-content: space-between; } }
  .cs-container--contrast {
    background-color: #f0f0f0; }
    @media (min-width: 64em) {
      .cs-container--contrast {
        background-image: url("../images/background.png");
        background-size: cover;
        background-repeat: no-repeat; } }
  .cs-container--top-bar {
    background-color: transparent;
    max-width: none; }
  .cs-container--spacious {
    padding-top: 2rem;
    padding-bottom: 2rem; }
    @media (min-width: 64em) {
      .cs-container--spacious {
        padding-top: 3rem;
        padding-bottom: 3rem; } }
    @media (min-width: 48em) {
      .catalog-category-view .cs-container--spacious,
      .catalogsearch-result-index .cs-container--spacious {
        padding-top: 0; } }
  .cs-container--image-teaser-window-width, .cs-container--store-locator {
    padding-left: 0;
    padding-right: 0; }
  .cs-container--grid-teaser {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden; }
  .cs-container--hero-teaser {
    overflow: hidden;
    padding-left: 0;
    padding-right: 0; }
  .cs-container--noscroll {
    overflow: hidden; }
  @media (min-width: 64em) {
    .cs-container--pdp {
      padding-top: 0; } }
  .cs-container--usps .cs-container--headline {
    padding: 0; }
  .cs-container--create-account-page, .cs-container--login-page, .cs-container--success-page, .cs-container--logout-page {
    padding-top: 2rem;
    padding-bottom: 2rem; }
    @media (min-width: 64em) {
      .cs-container--create-account-page, .cs-container--login-page, .cs-container--success-page, .cs-container--logout-page {
        padding-top: 4rem;
        padding-bottom: 8rem; } }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-container--my-account-page {
    padding-left: 1.5rem;
    padding-right: 1.5rem; } }
  .cs-container--ontop {
    z-index: 301; }
  .cs-container--viewport-width {
    max-width: none; }
  @media (max-width: 47.99em) {
    .cs-container--page-pdp-details-aw_pq_ajax_container {
      padding: 0; } }
  .cs-container--cart-page .cs-container--products-carousel {
    padding-left: 0;
    padding-right: 0; }
  .cs-container--cart-page .cs-container--headline {
    padding-left: 0;
    padding-right: 0; }
  .cs-container--cms-teaser {
    margin-top: 2rem; }
  @supports (display: grid) and (grid-auto-flow: row) {
    .cs-container--grid-teaser {
      position: relative;
      top: auto;
      left: auto;
      right: auto;
      bottom: auto;
      overflow: visible; } }

.contact-index-index .cs-breadcrumbs {
  padding-top: 15px;
  padding-bottom: 15px; }

.contact-index-index .cs-cms-contact-form {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  margin: 20px 0 80px; }
  @media (max-width: 47.99em) {
    .contact-index-index .cs-cms-contact-form {
      flex-direction: column;
      flex-wrap: wrap;
      margin: 20px 0 45px; } }

@media (max-width: 47.99em) {
  .contact-index-index .cs-container__inner, .contact-index-index .cs-container__reviews {
    padding: 0 15px; } }

@media (min-width: 48em) {
  .contact-index-index .cs-container__inner .contact-form, .contact-index-index .cs-container__reviews .contact-form {
    flex: 1 1 68%; } }

@media (max-width: 47.99em) {
  .contact-index-index .cs-container__inner .contact-form, .contact-index-index .cs-container__reviews .contact-form {
    order: 2; } }

.contact-index-index .cs-container__inner .contact-form fieldset.fieldset, .contact-index-index .cs-container__reviews .contact-form fieldset.fieldset {
  padding: 0;
  border: 0; }
  .contact-index-index .cs-container__inner .contact-form fieldset.fieldset h3, .contact-index-index .cs-container__reviews .contact-form fieldset.fieldset h3 {
    text-transform: none; }
    @media (max-width: 40em) {
      .contact-index-index .cs-container__inner .contact-form fieldset.fieldset h3, .contact-index-index .cs-container__reviews .contact-form fieldset.fieldset h3 {
        margin-bottom: 5px; } }
  .contact-index-index .cs-container__inner .contact-form fieldset.fieldset > span, .contact-index-index .cs-container__reviews .contact-form fieldset.fieldset > span {
    display: inline-block; }

.contact-index-index .cs-container__inner .contact-form .form .field + .field, .contact-index-index .cs-container__reviews .contact-form .form .field + .field {
  margin-top: 0; }

@media (min-width: 40.01em) {
  .contact-index-index .cs-container__inner .contact-form .flex-row, .contact-index-index .cs-container__reviews .contact-form .flex-row {
    display: flex;
    flex-direction: row; } }

@media (min-width: 40.01em) {
  .contact-index-index .cs-container__inner .contact-form .flex-row .field, .contact-index-index .cs-container__reviews .contact-form .flex-row .field {
    flex: 1 1 48%; } }

@media (min-width: 40.01em) {
  .contact-index-index .cs-container__inner .contact-form .flex-row .field:last-child, .contact-index-index .cs-container__reviews .contact-form .flex-row .field:last-child {
    margin-left: 20px; } }

.contact-index-index .cs-container__inner .contact-form .primary, .contact-index-index .cs-container__reviews .contact-form .primary {
  text-align: right; }

.contact-index-index .cs-container__inner .contact-address, .contact-index-index .cs-container__reviews .contact-address {
  background: #F4F4F4;
  padding: 20px 25px; }
  @media (max-width: 40em) {
    .contact-index-index .cs-container__inner .contact-address, .contact-index-index .cs-container__reviews .contact-address {
      padding: 10px 15px; } }
  @media (max-width: 47.99em) {
    .contact-index-index .cs-container__inner .contact-address, .contact-index-index .cs-container__reviews .contact-address {
      order: 1;
      width: 100%;
      margin-bottom: 35px; } }
  .contact-index-index .cs-container__inner .contact-address__item, .contact-index-index .cs-container__reviews .contact-address__item {
    margin-bottom: 20px;
    cursor: pointer; }
    @media (max-width: 40em) {
      .contact-index-index .cs-container__inner .contact-address__item, .contact-index-index .cs-container__reviews .contact-address__item {
        margin-bottom: 15px; } }
  .contact-index-index .cs-container__inner .contact-address p, .contact-index-index .cs-container__reviews .contact-address p {
    margin: 0; }
  @media (max-width: 40em) {
    .contact-index-index .cs-container__inner .contact-address p, .contact-index-index .cs-container__reviews .contact-address p,
    .contact-index-index .cs-container__inner .contact-address span,
    .contact-index-index .cs-container__reviews .contact-address span {
      font-size: 1.4rem; } }
  .contact-index-index .cs-container__inner .contact-address .icon-text, .contact-index-index .cs-container__reviews .contact-address .icon-text {
    display: block;
    padding-left: 25px;
    padding-right: 5px;
    position: relative; }
    .contact-index-index .cs-container__inner .contact-address .icon-text:before, .contact-index-index .cs-container__reviews .contact-address .icon-text:before {
      background-size: 10px 15px;
      background-repeat: no-repeat;
      background-position: center;
      content: '';
      display: block;
      position: absolute;
      left: 0;
      top: 5px;
      width: 15px;
      height: 15px; }
  .contact-index-index .cs-container__inner .contact-address .icon-location:before, .contact-index-index .cs-container__reviews .contact-address .icon-location:before {
    background-image: url("../images/icons/map-pin.svg"); }
  .contact-index-index .cs-container__inner .contact-address .icon-phone:before, .contact-index-index .cs-container__reviews .contact-address .icon-phone:before {
    background-image: url("../images/icons/phone-dark.svg");
    background-size: contain; }
  .contact-index-index .cs-container__inner .contact-address .icon-email:before, .contact-index-index .cs-container__reviews .contact-address .icon-email:before {
    background-image: url("../images/icons/email@1x.svg");
    background-size: contain;
    width: 17px;
    top: 6px; }
  @media (min-width: 48em) {
    .contact-index-index .cs-container__inner .contact-address, .contact-index-index .cs-container__reviews .contact-address {
      flex: 1 1 33%;
      margin-left: 20px; } }

@media (min-width: 48.01em) {
  .cms-page-view.page-layout-cms-full-width-narrow .columns .cs-container--brand-carousel,
  .cms-page-view.page-layout-cms-full-width .columns .cs-container--brand-carousel,
  .cms-page-view.page-layout-1colum .columns .cs-container--brand-carousel {
    margin-top: 45px; } }

@media (max-width: 48em) {
  .cms-page-view.page-layout-cms-full-width-narrow .columns .cs-container--brand-carousel,
  .cms-page-view.page-layout-cms-full-width .columns .cs-container--brand-carousel,
  .cms-page-view.page-layout-1colum .columns .cs-container--brand-carousel {
    margin-top: 35px; } }

.cms-page-view.page-layout-cms-full-width-narrow .cs-container--breadcrumbs .cs-breadcrumbs,
.cms-page-view.page-layout-cms-full-width .cs-container--breadcrumbs .cs-breadcrumbs,
.cms-page-view.page-layout-1colum .cs-container--breadcrumbs .cs-breadcrumbs {
  padding-top: 1.5rem; }
  @media (max-width: 47.99em) {
    .cms-page-view.page-layout-cms-full-width-narrow .cs-container--breadcrumbs .cs-breadcrumbs,
    .cms-page-view.page-layout-cms-full-width .cs-container--breadcrumbs .cs-breadcrumbs,
    .cms-page-view.page-layout-1colum .cs-container--breadcrumbs .cs-breadcrumbs {
      margin-bottom: 10px; } }

.cms-page-view.page-layout-cms-full-width-narrow .columns .column.main,
.cms-page-view.page-layout-cms-full-width .columns .column.main,
.cms-page-view.page-layout-1colum .columns .column.main {
  padding-top: 0; }
  @media (min-width: 48.01em) {
    .cms-page-view.page-layout-cms-full-width-narrow .columns .column.main,
    .cms-page-view.page-layout-cms-full-width .columns .column.main,
    .cms-page-view.page-layout-1colum .columns .column.main {
      padding-bottom: 30px; } }
  @media (max-width: 48em) {
    .cms-page-view.page-layout-cms-full-width-narrow .columns .column.main,
    .cms-page-view.page-layout-cms-full-width .columns .column.main,
    .cms-page-view.page-layout-1colum .columns .column.main {
      padding-bottom: 15px; } }

.cms-page-view.page-layout-cms-full-width-narrow .cs-container--breadcrumbs .cs-container__inner, .cms-page-view.page-layout-cms-full-width-narrow .cs-container--breadcrumbs .cs-container__reviews,
.cms-page-view.page-layout-cms-full-width-narrow .columns .cs-container:not(.cs-container--brand-carousel) .cs-container__inner,
.cms-page-view.page-layout-cms-full-width-narrow .columns .cs-container:not(.cs-container--brand-carousel) .cs-container__reviews {
  max-width: 103rem; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
body,
html {
  height: 100%;
  max-width: 100vw; }

.no-scroll {
  position: fixed;
  width: 100vw;
  height: 100vh; }

.no-scroll-child {
  overflow-y: hidden !important; }

#maincontent {
  flex: 1 0 auto; }

.page-wrapper {
  display: block !important;
  min-height: 100%; }
  @media (min-width: 48em) {
    .page-wrapper {
      display: flex !important;
      flex-direction: column !important; } }

.columns .column.main {
  width: auto;
  padding: 2rem 0 0;
  max-width: 100%;
  min-height: 10rem; }

.page-layout-1column .product-info-wrapper {
  width: 100%; }
  @media (min-width: 48em) {
    .page-layout-1column .product-info-wrapper {
      position: absolute;
      right: 0;
      height: 100%;
      width: 40%; } }
  @media (min-width: 64em) {
    .page-layout-1column .product-info-wrapper {
      width: 30%; } }

@media (min-width: 48em) {
  .page-layout-2columns-left .sidebar-main,
  .page-layout-2columns-left .sidebar-additional {
    width: 22.5%;
    padding-right: 40px;
    border-right: 1px solid #f0f0f0; } }

.ie11 .page-wrapper {
  display: block !important; }

a {
  color: #FF4604; }
  a:visited {
    color: #FF4604; }
  a:hover {
    color: #FF7442; }

.gift-options-cart-item {
  display: none; }

@media (min-width: 48em) {
  .paypal-express-review .page-title-wrapper {
    padding: 0 1.5rem; } }

@media (max-width: 63.99em) {
  .paypal-review.view .cs-cart-item__price {
    padding-left: 0 !important; }
  .paypal-review.view .cs-cart-item__subtotal {
    padding-right: 0 !important; } }

@media (min-width: 48em) {
  .paypal-review.view {
    padding: 0 1.5rem; } }

.paypal-express-in-context-mini-cart-container {
  margin-top: 1rem; }

.paypal-review-discount {
  border-bottom: none; }

.amazon-button-container {
  max-width: 25rem;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  z-index: 303; }
  @media (min-width: 48em) {
    .amazon-button-container {
      max-width: 32rem; } }
  .amazon-button-container img {
    margin-left: auto;
    margin-right: auto; }
  .amazon-button-container__cell:nth-child(2) {
    position: absolute;
    min-width: 3rem;
    left: calc(100% + 0.6rem);
    top: 1.9rem; }
    @media (max-width: 29.99em) {
      .amazon-button-container__cell:nth-child(2) {
        left: calc(100% + 0.8rem); } }
  .amazon-button-container__cell .field-tooltip-content {
    width: 25rem;
    box-sizing: border-box;
    box-shadow: 0 0 5px 2px rgba(0, 0, 0, 0.17);
    border: none;
    font-size: 1.3rem;
    padding: 0.8rem; }
    @media (min-width: 40em) {
      .amazon-button-container__cell .field-tooltip-content {
        width: 28rem; } }
    .amazon-button-container__cell .field-tooltip-content:before {
      border-right-color: #6E6E6E; }
    .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content,
    .cs-cart-summary .amazon-button-container__cell .field-tooltip-content {
      top: auto;
      bottom: 42px;
      left: -210px;
      right: auto; }
      @media (min-width: 48em) {
        .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content,
        .cs-cart-summary .amazon-button-container__cell .field-tooltip-content {
          left: -250px; } }
      @media (min-width: 64em) {
        .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content,
        .cs-cart-summary .amazon-button-container__cell .field-tooltip-content {
          left: -232px; } }
      .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content:before, .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content:after,
      .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:before,
      .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:after {
        top: calc(100% + 2rem);
        left: 210px;
        transform: rotate(-180deg); }
        @media (min-width: 48em) {
          .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content:before, .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content:after,
          .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:before,
          .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:after {
            bottom: -10px;
            top: 100%;
            left: 250px;
            transform: rotate(-90deg); } }
        @media (min-width: 64em) {
          .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content:before, .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content:after,
          .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:before,
          .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:after {
            left: 232px; } }
      .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content:before,
      .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:before {
        left: 210px; }
        @media (max-width: 47.99em) {
          .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content:before,
          .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:before {
            border-right-color: transparent; } }
        @media (min-width: 48em) {
          .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content:before,
          .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:before {
            left: 251px;
            transform: rotate(-90deg); } }
        @media (min-width: 64em) {
          .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content:before,
          .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:before {
            left: 233px; } }
      @media (min-width: 64em) {
        .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content:after,
        .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:after {
          transform: rotate(-90deg); } }
    @media (min-width: 48em) {
      .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:before, .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:after {
        top: calc(100% + 2rem);
        transform: rotate(180deg); } }

.ie11 source {
  height: 0 !important; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-authorization-link {
  display: flex;
  align-items: center;
  position: relative;
  margin-left: 0.9rem;
  padding: 0 0 0 0.3rem; }
  @media (min-width: 64em) {
    .cs-authorization-link {
      padding: 0 0 0 1.3rem;
      margin-left: 1.7rem; } }
  .cs-authorization-link:before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    content: '';
    border-left: 0.2rem solid #ffffff;
    transform: skew(-18deg); }
  .cs-authorization-link__link {
    display: flex;
    align-items: center; }
    .cs-authorization-link__link {
      color: #FF4604; }
      .cs-authorization-link__link:visited {
        color: #FF7442; }
      .cs-authorization-link__link:hover {
        color: #FF7442; }
      .cs-authorization-link__link:active, .cs-authorization-link__link:focus {
        color: #FF7442; }
    .cs-authorization-link__link:hover .cs-authorization-link__icon path {
      fill: #3E3E3E; }
  .cs-authorization-link__icon {
    width: 1.8rem;
    height: 1rem;
    padding-right: 0.5rem; }
    .cs-authorization-link__icon path {
      fill: #3E3E3E; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Mixins for flexible containers declaration.
 */
/**
 * Defines page container. This mixin makes sure that the content has always equal padding
 * for mobile screens on both size of the device.
 */
/**
 * Negates parent container's padding and sets it own.
 * Somethimes this has to be done to make background even to other containers' content.
 */
/**
 * Defines container wrapper that makes sure contnet doesn't extend above certain width and is always centered.
 */
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-buybox__update {
  padding: 14px;
  max-width: 219px; }

.cs-addtocart {
  text-align: right;
  padding-right: 0;
  /* stylelint-disable */
  /* stylelint-enable */ }
  .cs-addtocart__wrapper {
    margin-top: 15px; }
    @media (max-width: 48em) {
      .cs-addtocart__wrapper {
        text-align: center;
        padding: 10px 0; } }
  .cs-addtocart__button {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: uppercase;
    border-radius: 25px;
    font-family: "Red Hat Display";
    padding: 8px 25px;
    font-size: 1.2rem;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    will-change: transform, background-color, border-color, fill, color;
    padding: 13px 14px;
    max-width: 219px; }
    .cs-addtocart__button.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .cs-addtocart__button.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .cs-addtocart__button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-addtocart__button, .cs-addtocart__button:visited {
      cursor: pointer;
      border-radius: 25px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #4A90E2;
      border-radius: 25px;
      font-size: 1.6rem;
      position: relative; }
      .cs-addtocart__button span, .cs-addtocart__button:visited span {
        position: relative;
        z-index: 3; }
      .cs-addtocart__button:before, .cs-addtocart__button:visited:before {
        background-color: #4A90E2;
        border: 1px solid #4A90E2;
        height: 100%;
        content: '';
        display: block;
        width: 100%;
        position: absolute;
        top: 0;
        left: 0;
        border-radius: 25px;
        z-index: 2; }
      .cs-addtocart__button:after, .cs-addtocart__button:visited:after {
        background-color: #4980C1;
        height: 100%;
        content: '';
        display: block;
        width: 100%;
        position: absolute;
        top: 4px;
        left: 0;
        border-radius: 25px;
        z-index: 1; }
      .cs-addtocart__button *, .cs-addtocart__button:visited * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-addtocart__button:hover:not([disabled]), .cs-addtocart__button:focus:not([disabled]), .cs-addtocart__button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #4980C1; }
      .cs-addtocart__button:hover:not([disabled]):after, .cs-addtocart__button:focus:not([disabled]):after, .cs-addtocart__button:active:not([disabled]):after {
        top: 2px; }
      .cs-addtocart__button:hover:not([disabled]):before, .cs-addtocart__button:focus:not([disabled]):before, .cs-addtocart__button:active:not([disabled]):before {
        border: 1px solid #4980C1;
        background-color: #4980C1; }
      .cs-addtocart__button:hover:not([disabled]) *, .cs-addtocart__button:focus:not([disabled]) *, .cs-addtocart__button:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-addtocart__button[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .cs-addtocart__button svg.cs-addtocart__configure-icon {
      display: none; }
    .cs-addtocart__button.configure .cs-addtocart__button-label {
      padding: 0; }
    .cs-addtocart__button:after {
      top: 3px; }
    .cs-addtocart__button[disabled] {
      opacity: 1; }
    .cs-addtocart__button .cs-addtocart__success-label, .cs-addtocart__button:hover .cs-addtocart__success-label, .cs-addtocart__button:focus .cs-addtocart__success-label, .cs-addtocart__button:active .cs-addtocart__success-label {
      color: #ffffff; }
    .cs-addtocart__button .cs-addtocart__success-icon *, .cs-addtocart__button:hover .cs-addtocart__success-icon *, .cs-addtocart__button:focus .cs-addtocart__success-icon *, .cs-addtocart__button:active .cs-addtocart__success-icon * {
      fill: #ffffff; }
    .cs-addtocart__button .cs-addtocart__fail-label, .cs-addtocart__button:hover .cs-addtocart__fail-label, .cs-addtocart__button:focus .cs-addtocart__fail-label, .cs-addtocart__button:active .cs-addtocart__fail-label {
      display: none; }
    .cs-addtocart__button .cs-addtocart__fail-icon *, .cs-addtocart__button:hover .cs-addtocart__fail-icon *, .cs-addtocart__button:focus .cs-addtocart__fail-icon *, .cs-addtocart__button:active .cs-addtocart__fail-icon * {
      fill: #ffffff; }
  .cs-addtocart__button-label, .cs-addtocart__success-label, .cs-addtocart__fail-label {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    padding-left: 4em;
    padding-left: 30px;
    white-space: nowrap; }
  .cs-addtocart__configure-icon, .cs-addtocart__button-icon, .cs-addtocart__success-icon, .cs-addtocart__fail-icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    margin-left: 0;
    left: 1em;
    padding: 0;
    max-width: none;
    max-height: none;
    width: 2.2rem;
    height: 2.2rem;
    /* stylelint-disable */
    left: 33px;
    /* stylelint-enable */ }
  .cs-addtocart__fail-icon {
    transition: none; }
  .cs-addtocart__button-label, .cs-addtocart__success-label {
    transition: opacity 0.15s linear, transform 1s cubic-bezier(0, 0.77, 0.18, 1); }
  .cs-addtocart__button-label {
    display: inline-block;
    z-index: 4;
    font-size: 1.6rem;
    position: relative;
    text-transform: uppercase; }
  .cs-addtocart__loading {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: scale(0) translate3d(-50%, -50%, 0);
    width: 40px;
    height: 10px;
    opacity: 0;
    transition: opacity 0.15s linear, transform 1s cubic-bezier(0, 0.77, 0.18, 1);
    transition-delay: 0.2s; }
    .cs-addtocart__loading-ball {
      position: absolute;
      display: block;
      width: 10px;
      height: 10px;
      bottom: 0;
      background: #ffffff;
      border-radius: 50%; }
      .cs-addtocart__loading-ball--1 {
        left: 0; }
      .cs-addtocart__loading-ball--2 {
        left: 15px;
        -webkit-animation-delay: 0.15s !important;
                animation-delay: 0.15s !important; }
      .cs-addtocart__loading-ball--3 {
        left: 30px;
        -webkit-animation-delay: 0.3s !important;
                animation-delay: 0.3s !important; }
  .cs-addtocart__success-label, .cs-addtocart__success-icon, .cs-addtocart__fail-label, .cs-addtocart__fail-icon {
    opacity: 0; }
  .cs-addtocart__success-icon, .cs-addtocart__fail-icon {
    height: 1.725em;
    transition-delay: 0.2s; }
  .cs-addtocart__success-label, .cs-addtocart__fail-label {
    display: none; }
  .cs-addtocart__minicart {
    width: 100%;
    text-align: center; }
    .cs-addtocart__minicart--sticky, .cs-addtocart__minicart--unstick {
      max-width: 124rem;
      width: 100%;
      margin: 0 auto;
      width: 100%;
      position: fixed;
      top: 0;
      left: 50%;
      transform: translate3d(-50%, 0, 0);
      z-index: 400;
      padding: 0;
      text-align: right;
      display: flex;
      justify-content: flex-end; }
      .cs-addtocart__minicart--sticky .ui-dialog, .cs-addtocart__minicart--unstick .ui-dialog {
        right: 0 !important; }
      .cs-addtocart__minicart--sticky .block-minicart:after, .cs-addtocart__minicart--unstick .block-minicart:after {
        right: 3.2rem !important; }
  @media (min-width: 64em) {
    .cs-addtocart__minicart-link {
      min-width: 125px; } }
  .cs-addtocart__minicart--sticky .cs-addtocart__minicart-link,
  .cs-addtocart__minicart--unstick .cs-addtocart__minicart-link {
    text-align: center;
    padding: 2.5rem 1rem;
    background: #ffffff;
    box-shadow: 1px 3px 4.5rem 0 rgba(30, 48, 67, 0.34);
    -webkit-animation: minicart-in 1s cubic-bezier(0, 0.77, 0.18, 1);
            animation: minicart-in 1s cubic-bezier(0, 0.77, 0.18, 1);
    position: relative; }
  .cs-addtocart__minicart--unstick .cs-addtocart__minicart-link {
    -webkit-animation: minicart-out 0.5s cubic-bezier(0.55, 0.2, 0.89, 0.45);
            animation: minicart-out 0.5s cubic-bezier(0.55, 0.2, 0.89, 0.45); }
  .cs-addtocart__minicart-link:before {
    content: none !important; }
  .cs-addtocart__minicart-qty-badge-wrapper {
    position: absolute;
    opacity: 0;
    z-index: 600;
    transition: top 0.9s cubic-bezier(0.42, 0.31, 0.34, 0.93), left 0.9s cubic-bezier(0.42, 0.31, 0.34, 0.93);
    pointer-events: none; }
    .cs-addtocart__minicart-qty-badge-wrapper--animating {
      -webkit-animation: move-qty-badge 1.2s cubic-bezier(0.42, 0.31, 0.34, 0.93);
              animation: move-qty-badge 1.2s cubic-bezier(0.42, 0.31, 0.34, 0.93);
      position: fixed;
      top: 0.5rem; }
      @media (min-width: 48.01em) {
        .cs-addtocart__minicart-qty-badge-wrapper--animating {
          top: 1.3rem; } }
      @media (min-width: 64em) {
        .cs-addtocart__minicart-qty-badge-wrapper--animating {
          position: absolute;
          top: 5.3rem; } }
      .cs-addtocart__minicart-qty-badge-wrapper--animating.cs-addtocart__minicart-qty-badge-wrapper--minicart-sticky {
        position: fixed;
        top: 1.8rem; }
    .cs-addtocart__minicart-qty-badge-wrapper .cs-addtocart__minicart-qty-badge {
      position: static;
      visibility: visible; }
  .cs-addtocart--loading .cs-addtocart__button-label, .cs-addtocart--done .cs-addtocart__button-label {
    opacity: 0;
    transform: translate3d(2em, 0, 0); }
  .cs-addtocart--loading .cs-addtocart__loading {
    opacity: 1;
    transform: scale(1) translate3d(-50%, -50%, 0) translateX(-1.25em); }
    .cs-addtocart--loading .cs-addtocart__loading-ball {
      -webkit-animation: ball-in 1s infinite;
              animation: ball-in 1s infinite; }
  .cs-addtocart--done .cs-addtocart__button-icon {
    opacity: 0; }
  .cs-addtocart--done .cs-addtocart__feedback-bg {
    transform: skew(-18deg) translate3d(0, 0, 0); }
    .cs-addtocart--done .cs-addtocart__feedback-bg:after {
      transform: translate3d(-5.3rem, 0, 0); }
  .cs-addtocart--success .cs-addtocart__success-icon {
    opacity: 1; }
  .cs-addtocart--success .cs-addtocart__success-label {
    opacity: 1;
    transform: translate3d(-50%, -50%, 0); }
  .cs-addtocart--fail .cs-addtocart__fail-icon {
    opacity: 1; }
  .cs-addtocart--animation-done .cs-addtocart__button-label,
  .cs-addtocart--animation-done .cs-addtocart__button-icon {
    transition-delay: 0.5s; }
  .cs-addtocart--animation-done .cs-addtocart__feedback-bg {
    transition-delay: 0.2s; }
    .cs-addtocart--animation-done .cs-addtocart__feedback-bg, .cs-addtocart--animation-done .cs-addtocart__feedback-bg:after {
      transition: transform 0.4s cubic-bezier(0.86, 0.01, 0.83, 0.51); }
    .cs-addtocart--animation-done .cs-addtocart__feedback-bg:after {
      transition-delay: 0; }
  .cs-addtocart--animation-done .cs-addtocart__success-label,
  .cs-addtocart--animation-done .cs-addtocart__fail-icon {
    transition: opacity 0.6s linear, transform 0.6s cubic-bezier(0.86, 0.01, 0.83, 0.51);
    transition-delay: 0; }
  .cs-addtocart--animation-done .cs-addtocart__success-icon,
  .cs-addtocart--animation-done .cs-addtocart__fail-icon {
    transition-delay: 0; }

@-webkit-keyframes ball-in {
  0% {
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes ball-in {
  0% {
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@-webkit-keyframes minicart-in {
  0% {
    transform: translate3d(0, -100%, 0); }
  100% {
    transform: translate3d(0, 0, 0); } }

@keyframes minicart-in {
  0% {
    transform: translate3d(0, -100%, 0); }
  100% {
    transform: translate3d(0, 0, 0); } }

@-webkit-keyframes minicart-out {
  0% {
    transform: translate3d(0, 0, 0); }
  100% {
    transform: translate3d(0, -100%, 0); } }

@keyframes minicart-out {
  0% {
    transform: translate3d(0, 0, 0); }
  100% {
    transform: translate3d(0, -100%, 0); } }

@-webkit-keyframes move-qty-badge {
  0% {
    opacity: 1; }
  15% {
    transform: scale(1); }
  80% {
    opacity: 1;
    transform: scale(1.5); }
  100% {
    opacity: 0;
    transform: scale(1); } }

@keyframes move-qty-badge {
  0% {
    opacity: 1; }
  15% {
    transform: scale(1); }
  80% {
    opacity: 1;
    transform: scale(1.5); }
  100% {
    opacity: 0;
    transform: scale(1); } }
  .cs-addtocart .block-minicart {
    margin-bottom: 0; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/*
 * Because price-box is used in multiple components like tile, buybox etc,
 * we need to move variables to separate file to have possibility to include them
 * in each component without generate price-box component styles multiple times
*/
.cs-autocomplete {
  width: 100%;
  top: 100%;
  left: 0;
  box-sizing: border-box;
  background-color: #ffffff;
  border-radius: 3px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.17);
  z-index: 200;
  margin-top: -1px; }
  .cs-autocomplete .autocomplete-list dd, .cs-autocomplete__item {
    background: #ffffff;
    padding: 0.5rem 1rem;
    margin: 0;
    border-bottom: 1px solid #dcdcdc;
    display: flex;
    align-items: center;
    transition: background-color 0.15s linear;
    font-size: 1.29rem; }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-autocomplete .autocomplete-list dd, .cs-autocomplete__item {
    padding: 1rem; } }
    .cs-autocomplete .autocomplete-list dd:hover, .cs-autocomplete .autocomplete-list dd.selected, .cs-autocomplete__item:hover, .cs-autocomplete__item.selected {
      background-color: #f0f0f0;
      cursor: pointer; }
    .cs-autocomplete .autocomplete-list dd:last-child, .cs-autocomplete__item:last-child {
      border-bottom: none; }
    .cs-autocomplete .autocomplete-list dd-image-container, .cs-autocomplete__item-image-container {
      padding: 0;
      margin-right: 1rem;
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center; }
    .cs-autocomplete .autocomplete-list dd-image, .cs-autocomplete__item-image {
      width: 4.5rem;
      height: 4.5rem; }
    .cs-autocomplete .autocomplete-list dd-details, .cs-autocomplete__item-details {
      flex: 1 1 100%;
      margin: 0; }
      .cs-autocomplete .autocomplete-list dd-details .f-fix, .cs-autocomplete__item-details .f-fix {
        height: 5.8rem;
        display: flex;
        flex-direction: column;
        justify-content: center; }
      .cs-autocomplete .autocomplete-list dd-details img, .cs-autocomplete__item-details img {
        display: block; }
    .cs-autocomplete .autocomplete-list dd-brand, .cs-autocomplete__item-brand {
      font-size: 1.2rem;
      color: #3E3E3E; }
    .cs-autocomplete .autocomplete-list dd-name, .cs-autocomplete__item-name {
      font-size: 1.29rem;
      color: #000;
      font-weight: 700; }
    .cs-autocomplete .autocomplete-list dd-price, .cs-autocomplete__item-price {
      margin: 0.3rem 0 0; }
  .cs-autocomplete .price-box {
    display: flex; }
    .cs-autocomplete .price-box > .price {
      color: #000;
      font-size: 1.4rem;
      font-weight: 700;
      margin-right: 0; }
    .cs-autocomplete .price-box .old-price > .price {
      text-decoration: line-through;
      color: #000;
      font-size: 1.4rem;
      font-weight: 400; }
    .cs-autocomplete .price-box .special-price > .price {
      color: #CC1C3A;
      font-size: 1.4rem;
      font-weight: 400; }
    .cs-autocomplete .price-box .minimal-price-link {
      display: none; }
    .cs-autocomplete .price-box .old-price {
      order: -1; }
      .cs-autocomplete .price-box .old-price .price {
        margin-right: 1rem; }
  .cs-autocomplete__badges {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
    margin-left: 1rem; }
  .cs-autocomplete__badge {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: relative;
    transform: none;
    background-color: #FF4604;
    color: #ffffff;
    border: 0;
    border-radius: 0;
    padding: 10px 15px 10px 25px;
    font-size: 1.3rem;
    font-weight: 600;
    min-height: 2em;
    text-transform: uppercase;
    border-top-left-radius: 25px;
    border-bottom-left-radius: 25px;
    max-width: 125px; }
    @media (max-width: 47.99em) {
      .cs-autocomplete__badge {
        font-size: 10px;
        max-width: 88px;
        padding: 8px 13px; } }
    .ie11 .cs-autocomplete__badge:after {
      content: '';
      min-height: auto;
      font-size: 0; }
    .cs-autocomplete__badge + .cs-autocomplete__badge {
      margin-top: 0.5rem; }
    .cs-autocomplete__badge--popular {
      background-color: #A9C546;
      color: #ffffff; }
      .cs-autocomplete__badge--popular .cs-autocomplete__badge-text {
        line-height: normal;
        transform: none;
        text-align: right; }
        .cs-autocomplete__badge--popular .cs-autocomplete__badge-text + .cs-autocomplete__badge--popular .cs-autocomplete__badge-text {
          margin-left: 0.5rem; }
    .cs-autocomplete__badge--free-shipping {
      background-color: #A9C546;
      color: #ffffff; }
      .cs-autocomplete__badge--free-shipping .cs-autocomplete__badge-text {
        line-height: normal;
        transform: none;
        text-align: right; }
        .cs-autocomplete__badge--free-shipping .cs-autocomplete__badge-text + .cs-autocomplete__badge--free-shipping .cs-autocomplete__badge-text {
          margin-left: 0.5rem; }
  .cs-autocomplete__badge-text {
    line-height: normal;
    transform: none;
    text-align: right; }
    .cs-autocomplete__badge-text + .cs-autocomplete__badge-text {
      margin-left: 0.5rem; }
    @media (min-width: 30em) {
      .cs-autocomplete__badge-text {
        white-space: nowrap; } }

.autocomplete-list {
  margin: -1px 0 1rem;
  border-top: 1px solid #dcdcdc; }
  .autocomplete-list:first-child {
    border-top: 0; }
  .autocomplete-list:last-child {
    margin-bottom: 0; }
  .autocomplete-list .amount {
    color: #3E3E3E;
    font-size: 1.29rem;
    font-weight: 700;
    margin-left: 0.5rem; }
    .autocomplete-list .amount:not(:empty):after {
      content: ')'; }
    .autocomplete-list .amount:not(:empty):before {
      content: '('; }

.autocomplete-list-title {
  padding: 1.2rem 3rem 1rem 1rem;
  border-bottom: none;
  color: #3E3E3E;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 1.29rem;
  letter-spacing: 1px;
  margin: 0; }
  .autocomplete-list-title:hover, .autocomplete-list-title.selected {
    background-color: transparent; }
  .autocomplete-list-title:not(:empty):first-child {
    border-top: transparent; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
.cs-breadcrumbs {
  padding-top: 1.3rem;
  padding-bottom: 1.3rem;
  font-weight: 400;
  margin-bottom: 10px; }
  @media (max-width: 47.99em) {
    .cs-breadcrumbs {
      margin-bottom: 0; } }
  .cs-breadcrumbs__list {
    margin: 0;
    padding: 0;
    list-style: none; }
  .cs-breadcrumbs__item {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 0 1.95em 0 0;
    cursor: pointer;
    font-size: 1.4rem; }
    .cs-breadcrumbs__item:last-child {
      padding: 0;
      color: #6E6E6E;
      cursor: default; }
    .cs-breadcrumbs__item:not(:last-child):after {
      position: absolute;
      top: 50%;
      right: 0.8em;
      content: '';
      width: 5px;
      height: 100%;
      transform: translateY(-50%);
      line-height: 1;
      color: #FF4604;
      background: url("../images/icons/arrow-right@1x.svg");
      background-size: 5px;
      background-repeat: no-repeat;
      background-position: center; }
  .cs-breadcrumbs__link {
    position: relative;
    display: inline-block;
    color: #FF4604; }
    .cs-breadcrumbs__link:visited {
      color: #FF4604; }
    .cs-breadcrumbs__link:hover {
      text-decoration: none;
      color: #FF4604; }
    .cs-breadcrumbs__link:after {
      bottom: 0;
      left: 0;
      height: 1px;
      background: #FF4604;
      width: 100%;
      position: absolute;
      content: '';
      display: block; }
    .cs-breadcrumbs__link:visited:hover, .cs-breadcrumbs__link:hover {
      color: #FF4604; }
      .cs-breadcrumbs__link:visited:hover:after, .cs-breadcrumbs__link:hover:after {
        background: #FF4604; }
  .cs-breadcrumbs__separator-icon {
    position: absolute;
    top: 50%;
    right: 0.5em;
    transform: translateY(-50%);
    width: 0.8em;
    height: 0.8em;
    fill: #FF4604; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/***
 * Remove browser's margins, paddings and list style rules
 */
.cs-button {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: uppercase;
  border-radius: 25px;
  font-family: "Red Hat Display";
  padding: 8px 25px;
  font-size: 1.2rem;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5;
  will-change: transform, background-color, border-color, fill, color; }
  .cs-button.medium {
    padding: 11px 25px;
    font-size: 1.4rem; }
  .cs-button.large {
    padding: 13px 25px;
    font-size: 1.6rem; }
  .cs-button::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .cs-button, .cs-button:visited {
    cursor: pointer;
    border-radius: 25px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #FF4604; }
    .cs-button *, .cs-button:visited * {
      color: #ffffff;
      fill: #ffffff; }
  .cs-button:hover:not([disabled]), .cs-button:focus:not([disabled]), .cs-button:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #FF7442; }
    .cs-button:hover:not([disabled]) *, .cs-button:focus:not([disabled]) *, .cs-button:active:not([disabled]) * {
      color: #ffffff;
      fill: #ffffff; }
  .cs-button[disabled] {
    opacity: 0.65;
    cursor: auto; }
  .cs-button__span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    padding-right: 4em; }
  .cs-button__icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    margin-right: 0;
    right: 1em; }

.cs-button-component {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: uppercase;
  border-radius: 25px;
  font-family: "Red Hat Display";
  padding: 8px 25px;
  font-size: 1.2rem;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5;
  will-change: transform, background-color, border-color, fill, color;
  margin: 0 0 3rem;
  position: relative;
  left: 50%;
  transform: translateX(-50%); }
  .cs-button-component.medium {
    padding: 11px 25px;
    font-size: 1.4rem; }
  .cs-button-component.large {
    padding: 13px 25px;
    font-size: 1.6rem; }
  .cs-button-component::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .cs-button-component, .cs-button-component:visited {
    cursor: pointer;
    border-radius: 25px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #FF4604; }
    .cs-button-component *, .cs-button-component:visited * {
      color: #ffffff;
      fill: #ffffff; }
  .cs-button-component:hover:not([disabled]), .cs-button-component:focus:not([disabled]), .cs-button-component:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #FF7442; }
    .cs-button-component:hover:not([disabled]) *, .cs-button-component:focus:not([disabled]) *, .cs-button-component:active:not([disabled]) * {
      color: #ffffff;
      fill: #ffffff; }
  .cs-button-component[disabled] {
    opacity: 0.65;
    cursor: auto; }
  @media (min-width: 48em) {
    .cs-button-component {
      margin: 0 0 4rem; } }
  .cs-button-component--skip-spacing {
    margin: 0; }
  .cs-button-component__span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    padding-right: 4em; }
  .cs-button-component__icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    margin-right: 0;
    right: 1em; }
  .cs-button-component__amount:before {
    content: '('; }
  .cs-button-component__amount:after {
    content: ')'; }

.button.secondary {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: uppercase;
  border-radius: 25px;
  font-family: "Red Hat Display";
  padding: 8px 25px;
  font-size: 1.2rem;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5;
  will-change: transform, background-color, border-color, fill, color; }
  .button.secondary.medium {
    padding: 11px 25px;
    font-size: 1.4rem; }
  .button.secondary.large {
    padding: 13px 25px;
    font-size: 1.6rem; }
  .button.secondary::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .button.secondary, .button.secondary:visited {
    cursor: pointer;
    border-radius: 25px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #000; }
    .button.secondary *, .button.secondary:visited * {
      color: #ffffff;
      fill: #FF4604; }
  .button.secondary:hover:not([disabled]), .button.secondary:focus:not([disabled]), .button.secondary:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #3E3E3E; }
    .button.secondary:hover:not([disabled]) *, .button.secondary:focus:not([disabled]) *, .button.secondary:active:not([disabled]) * {
      color: #ffffff;
      fill: #ffffff; }
  .button.secondary[disabled] {
    opacity: 0.65;
    cursor: auto; }

.button.primary {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: uppercase;
  border-radius: 25px;
  font-family: "Red Hat Display";
  padding: 8px 25px;
  font-size: 1.2rem;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5;
  will-change: transform, background-color, border-color, fill, color;
  font-size: 1.2rem;
  line-height: 16px; }
  .button.primary.medium {
    padding: 11px 25px;
    font-size: 1.4rem; }
  .button.primary.large {
    padding: 13px 25px;
    font-size: 1.6rem; }
  .button.primary::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .button.primary, .button.primary:visited {
    cursor: pointer;
    border-radius: 25px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #FF4604; }
    .button.primary *, .button.primary:visited * {
      color: #ffffff;
      fill: #ffffff; }
  .button.primary:hover:not([disabled]), .button.primary:focus:not([disabled]), .button.primary:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #FF7442; }
    .button.primary:hover:not([disabled]) *, .button.primary:focus:not([disabled]) *, .button.primary:active:not([disabled]) * {
      color: #ffffff;
      fill: #ffffff; }
  .button.primary[disabled] {
    opacity: 0.65;
    cursor: auto; }

.icon__arrow-round-right {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center; }
  .icon__arrow-round-right:after {
    content: '';
    display: block;
    background: url("../images/icons/arrow@1x.svg") no-repeat;
    background-size: contain;
    background-position: center;
    width: 27px;
    height: 27px;
    margin-left: 15px; }

.icon__arrow-round-left {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center; }
  .icon__arrow-round-left:before {
    content: '';
    display: block;
    background: url("../images/icons/arrowleft@1x.svg") no-repeat;
    background-size: contain;
    background-position: center;
    width: 27px;
    height: 27px;
    margin-right: 15px; }

.links-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap; }
  @media (max-width: 48em) {
    .links-list {
      flex-wrap: wrap;
      margin-bottom: 20px; } }
  .links-list__item {
    flex: 1 1; }
    @media (max-width: 48em) {
      .links-list__item {
        flex: 1 1 50%;
        margin: 0; } }
  .links-list__link {
    color: #000;
    font-size: 18px;
    line-height: 26px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    letter-spacing: 0.4px;
    padding: 20px 10px; }
    .links-list__link:visited {
      color: #000; }
    @media (max-width: 48em) {
      .links-list__link {
        padding: 10px;
        font-size: 14px;
        white-space: pre; } }
    @media (max-width: 48em) {
      .links-list__link:after {
        width: 21px;
        height: 21px;
        min-width: 21px;
        margin-left: 8px; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Mixins for flexible containers declaration.
 */
/**
 * Defines page container. This mixin makes sure that the content has always equal padding
 * for mobile screens on both size of the device.
 */
/**
 * Negates parent container's padding and sets it own.
 * Somethimes this has to be done to make background even to other containers' content.
 */
/**
 * Defines container wrapper that makes sure contnet doesn't extend above certain width and is always centered.
 */
body.cms-no-route .cs-container__inner h1, body.cms-no-route .cs-container__reviews h1 {
  text-transform: none;
  font-family: 28px;
  line-height: 34px;
  margin-bottom: 25px; }

body.cms-no-route .cs-container__inner h2, body.cms-no-route .cs-container__reviews h2, body.cms-no-route .cs-container__inner h3, body.cms-no-route .cs-container__reviews h3 {
  font-size: 18px;
  text-transform: none; }

body.cms-no-route .cs-container__inner ul.buttons-set, body.cms-no-route .cs-container__reviews ul.buttons-set {
  display: flex;
  flex-direction: row;
  list-style: none;
  padding: 0;
  margin: 20px 0 0; }
  body.cms-no-route .cs-container__inner ul.buttons-set button, body.cms-no-route .cs-container__reviews ul.buttons-set button {
    margin-right: 10px; }

body.cms-no-route .columns .column.main {
  padding: 45px 15px !important;
  max-width: 138rem;
  margin: 0 auto; }
  body.cms-no-route .columns .column.main h1 {
    text-transform: none;
    font-family: 28px;
    line-height: 34px;
    margin-bottom: 25px; }
  body.cms-no-route .columns .column.main h2, body.cms-no-route .columns .column.main h3 {
    font-size: 18px;
    text-transform: none; }
  body.cms-no-route .columns .column.main ul.buttons-set {
    display: flex;
    flex-direction: row;
    list-style: none;
    padding: 0;
    margin: 20px 0 0; }
    body.cms-no-route .columns .column.main ul.buttons-set button {
      margin-right: 10px; }

.cs-container {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box; }
  .cs-container__inner, .cs-container__reviews {
    max-width: 124rem;
    width: 100%;
    margin: 0 auto;
    position: relative; }
    .cs-container__inner:before, .cs-container__reviews:before, .cs-container__inner:after, .cs-container__reviews:after {
      content: '';
      display: table;
      clear: both; }
    .cs-container__inner--flex {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      @media (min-width: 48em) {
        .cs-container__inner--flex {
          flex-wrap: nowrap; } }
      .cs-container__inner--flex:after {
        display: none; }
  .cs-container__aside {
    width: 100%; }
    @media (min-width: 48em) {
      .cs-container__aside {
        width: 33%; } }
    @media (min-width: 64em) {
      .cs-container__aside {
        width: 24.8%; } }
    @media (min-width: 90em) {
      .cs-container__aside {
        width: 24.8%; } }
  .cs-container__main-column {
    width: 56%;
    position: relative; }
    @media (min-width: 48em) {
      .cs-container__main-column {
        width: 65%; } }
    @media (min-width: 64em) {
      .cs-container__main-column {
        width: 71.4%; } }
    @media (min-width: 90em) {
      .cs-container__main-column {
        width: 71.4%; } }
    @media (max-width: 47.99em) {
      .cs-container__main-column {
        max-width: 100% !important;
        width: 100% !important; } }

@media (min-width: 48em) and (max-width: 63.99em) {
  .page-product-bundle .cs-container__main-column {
    width: 100%;
    margin-right: 0; } }
    @media (min-width: 64em) {
      .cs-container__main-column--space-top {
        padding-top: 3rem; } }
  .cs-container__reviews {
    padding-bottom: 2rem; }
    @media (min-width: 48em) {
      .cs-container__reviews {
        background: #ffffff;
        margin-top: 3rem;
        padding: 0 2rem; } }
    @media (min-width: 90em) {
      .cs-container__reviews {
        padding: 2rem 0 0; } }
    .cs-container__reviews:after {
      content: '';
      display: table;
      clear: both; }
  .cs-container__cart-coupons {
    display: flex;
    flex-wrap: wrap; }
    @media (min-width: 64em) {
      .cs-container__cart-coupons {
        flex-wrap: nowrap;
        justify-content: space-between; } }
  .cs-container--contrast {
    background-color: #f0f0f0; }
    @media (min-width: 64em) {
      .cs-container--contrast {
        background-image: url("../images/background.png");
        background-size: cover;
        background-repeat: no-repeat; } }
  .cs-container--top-bar {
    background-color: transparent;
    max-width: none; }
  .cs-container--spacious {
    padding-top: 2rem;
    padding-bottom: 2rem; }
    @media (min-width: 64em) {
      .cs-container--spacious {
        padding-top: 3rem;
        padding-bottom: 3rem; } }
    @media (min-width: 48em) {
      .catalog-category-view .cs-container--spacious,
      .catalogsearch-result-index .cs-container--spacious {
        padding-top: 0; } }
  .cs-container--image-teaser-window-width, .cs-container--store-locator {
    padding-left: 0;
    padding-right: 0; }
  .cs-container--grid-teaser {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden; }
  .cs-container--hero-teaser {
    overflow: hidden;
    padding-left: 0;
    padding-right: 0; }
  .cs-container--noscroll {
    overflow: hidden; }
  @media (min-width: 64em) {
    .cs-container--pdp {
      padding-top: 0; } }
  .cs-container--usps .cs-container--headline {
    padding: 0; }
  .cs-container--create-account-page, .cs-container--login-page, .cs-container--success-page, .cs-container--logout-page {
    padding-top: 2rem;
    padding-bottom: 2rem; }
    @media (min-width: 64em) {
      .cs-container--create-account-page, .cs-container--login-page, .cs-container--success-page, .cs-container--logout-page {
        padding-top: 4rem;
        padding-bottom: 8rem; } }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-container--my-account-page {
    padding-left: 1.5rem;
    padding-right: 1.5rem; } }
  .cs-container--ontop {
    z-index: 301; }
  .cs-container--viewport-width {
    max-width: none; }
  @media (max-width: 47.99em) {
    .cs-container--page-pdp-details-aw_pq_ajax_container {
      padding: 0; } }
  .cs-container--cart-page .cs-container--products-carousel {
    padding-left: 0;
    padding-right: 0; }
  .cs-container--cart-page .cs-container--headline {
    padding-left: 0;
    padding-right: 0; }
  .cs-container--cms-teaser {
    margin-top: 2rem; }
  @supports (display: grid) and (grid-auto-flow: row) {
    .cs-container--grid-teaser {
      position: relative;
      top: auto;
      left: auto;
      right: auto;
      bottom: auto;
      overflow: visible; } }

.contact-index-index .cs-breadcrumbs {
  padding-top: 15px;
  padding-bottom: 15px; }

.contact-index-index .cs-cms-contact-form {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  margin: 20px 0 80px; }
  @media (max-width: 47.99em) {
    .contact-index-index .cs-cms-contact-form {
      flex-direction: column;
      flex-wrap: wrap;
      margin: 20px 0 45px; } }

@media (max-width: 47.99em) {
  .contact-index-index .cs-container__inner, .contact-index-index .cs-container__reviews {
    padding: 0 15px; } }

@media (min-width: 48em) {
  .contact-index-index .cs-container__inner .contact-form, .contact-index-index .cs-container__reviews .contact-form {
    flex: 1 1 68%; } }

@media (max-width: 47.99em) {
  .contact-index-index .cs-container__inner .contact-form, .contact-index-index .cs-container__reviews .contact-form {
    order: 2; } }

.contact-index-index .cs-container__inner .contact-form fieldset.fieldset, .contact-index-index .cs-container__reviews .contact-form fieldset.fieldset {
  padding: 0;
  border: 0; }
  .contact-index-index .cs-container__inner .contact-form fieldset.fieldset h3, .contact-index-index .cs-container__reviews .contact-form fieldset.fieldset h3 {
    text-transform: none; }
    @media (max-width: 40em) {
      .contact-index-index .cs-container__inner .contact-form fieldset.fieldset h3, .contact-index-index .cs-container__reviews .contact-form fieldset.fieldset h3 {
        margin-bottom: 5px; } }
  .contact-index-index .cs-container__inner .contact-form fieldset.fieldset > span, .contact-index-index .cs-container__reviews .contact-form fieldset.fieldset > span {
    display: inline-block; }

.contact-index-index .cs-container__inner .contact-form .form .field + .field, .contact-index-index .cs-container__reviews .contact-form .form .field + .field {
  margin-top: 0; }

@media (min-width: 40.01em) {
  .contact-index-index .cs-container__inner .contact-form .flex-row, .contact-index-index .cs-container__reviews .contact-form .flex-row {
    display: flex;
    flex-direction: row; } }

@media (min-width: 40.01em) {
  .contact-index-index .cs-container__inner .contact-form .flex-row .field, .contact-index-index .cs-container__reviews .contact-form .flex-row .field {
    flex: 1 1 48%; } }

@media (min-width: 40.01em) {
  .contact-index-index .cs-container__inner .contact-form .flex-row .field:last-child, .contact-index-index .cs-container__reviews .contact-form .flex-row .field:last-child {
    margin-left: 20px; } }

.contact-index-index .cs-container__inner .contact-form .primary, .contact-index-index .cs-container__reviews .contact-form .primary {
  text-align: right; }

.contact-index-index .cs-container__inner .contact-address, .contact-index-index .cs-container__reviews .contact-address {
  background: #F4F4F4;
  padding: 20px 25px; }
  @media (max-width: 40em) {
    .contact-index-index .cs-container__inner .contact-address, .contact-index-index .cs-container__reviews .contact-address {
      padding: 10px 15px; } }
  @media (max-width: 47.99em) {
    .contact-index-index .cs-container__inner .contact-address, .contact-index-index .cs-container__reviews .contact-address {
      order: 1;
      width: 100%;
      margin-bottom: 35px; } }
  .contact-index-index .cs-container__inner .contact-address__item, .contact-index-index .cs-container__reviews .contact-address__item {
    margin-bottom: 20px;
    cursor: pointer; }
    @media (max-width: 40em) {
      .contact-index-index .cs-container__inner .contact-address__item, .contact-index-index .cs-container__reviews .contact-address__item {
        margin-bottom: 15px; } }
  .contact-index-index .cs-container__inner .contact-address p, .contact-index-index .cs-container__reviews .contact-address p {
    margin: 0; }
  @media (max-width: 40em) {
    .contact-index-index .cs-container__inner .contact-address p, .contact-index-index .cs-container__reviews .contact-address p,
    .contact-index-index .cs-container__inner .contact-address span,
    .contact-index-index .cs-container__reviews .contact-address span {
      font-size: 1.4rem; } }
  .contact-index-index .cs-container__inner .contact-address .icon-text, .contact-index-index .cs-container__reviews .contact-address .icon-text {
    display: block;
    padding-left: 25px;
    padding-right: 5px;
    position: relative; }
    .contact-index-index .cs-container__inner .contact-address .icon-text:before, .contact-index-index .cs-container__reviews .contact-address .icon-text:before {
      background-size: 10px 15px;
      background-repeat: no-repeat;
      background-position: center;
      content: '';
      display: block;
      position: absolute;
      left: 0;
      top: 5px;
      width: 15px;
      height: 15px; }
  .contact-index-index .cs-container__inner .contact-address .icon-location:before, .contact-index-index .cs-container__reviews .contact-address .icon-location:before {
    background-image: url("../images/icons/map-pin.svg"); }
  .contact-index-index .cs-container__inner .contact-address .icon-phone:before, .contact-index-index .cs-container__reviews .contact-address .icon-phone:before {
    background-image: url("../images/icons/phone-dark.svg");
    background-size: contain; }
  .contact-index-index .cs-container__inner .contact-address .icon-email:before, .contact-index-index .cs-container__reviews .contact-address .icon-email:before {
    background-image: url("../images/icons/email@1x.svg");
    background-size: contain;
    width: 17px;
    top: 6px; }
  @media (min-width: 48em) {
    .contact-index-index .cs-container__inner .contact-address, .contact-index-index .cs-container__reviews .contact-address {
      flex: 1 1 33%;
      margin-left: 20px; } }

@media (min-width: 48.01em) {
  .cms-page-view.page-layout-cms-full-width-narrow .columns .cs-container--brand-carousel,
  .cms-page-view.page-layout-cms-full-width .columns .cs-container--brand-carousel,
  .cms-page-view.page-layout-1colum .columns .cs-container--brand-carousel {
    margin-top: 45px; } }

@media (max-width: 48em) {
  .cms-page-view.page-layout-cms-full-width-narrow .columns .cs-container--brand-carousel,
  .cms-page-view.page-layout-cms-full-width .columns .cs-container--brand-carousel,
  .cms-page-view.page-layout-1colum .columns .cs-container--brand-carousel {
    margin-top: 35px; } }

.cms-page-view.page-layout-cms-full-width-narrow .cs-container--breadcrumbs .cs-breadcrumbs,
.cms-page-view.page-layout-cms-full-width .cs-container--breadcrumbs .cs-breadcrumbs,
.cms-page-view.page-layout-1colum .cs-container--breadcrumbs .cs-breadcrumbs {
  padding-top: 1.5rem; }
  @media (max-width: 47.99em) {
    .cms-page-view.page-layout-cms-full-width-narrow .cs-container--breadcrumbs .cs-breadcrumbs,
    .cms-page-view.page-layout-cms-full-width .cs-container--breadcrumbs .cs-breadcrumbs,
    .cms-page-view.page-layout-1colum .cs-container--breadcrumbs .cs-breadcrumbs {
      margin-bottom: 10px; } }

.cms-page-view.page-layout-cms-full-width-narrow .columns .column.main,
.cms-page-view.page-layout-cms-full-width .columns .column.main,
.cms-page-view.page-layout-1colum .columns .column.main {
  padding-top: 0; }
  @media (min-width: 48.01em) {
    .cms-page-view.page-layout-cms-full-width-narrow .columns .column.main,
    .cms-page-view.page-layout-cms-full-width .columns .column.main,
    .cms-page-view.page-layout-1colum .columns .column.main {
      padding-bottom: 30px; } }
  @media (max-width: 48em) {
    .cms-page-view.page-layout-cms-full-width-narrow .columns .column.main,
    .cms-page-view.page-layout-cms-full-width .columns .column.main,
    .cms-page-view.page-layout-1colum .columns .column.main {
      padding-bottom: 15px; } }

.cms-page-view.page-layout-cms-full-width-narrow .cs-container--breadcrumbs .cs-container__inner, .cms-page-view.page-layout-cms-full-width-narrow .cs-container--breadcrumbs .cs-container__reviews,
.cms-page-view.page-layout-cms-full-width-narrow .columns .cs-container:not(.cs-container--brand-carousel) .cs-container__inner,
.cms-page-view.page-layout-cms-full-width-narrow .columns .cs-container:not(.cs-container--brand-carousel) .cs-container__reviews {
  max-width: 103rem; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-cookie-message {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 1.2rem;
  background-color: #ffffff;
  color: #000;
  box-shadow: 0 -0.3rem 0.5rem 0 rgba(0, 0, 0, 0.15);
  font-size: 85%;
  z-index: 98;
  transform: translate3d(0, 110%, 0);
  opacity: 0;
  transition: transform 0.25s ease-out, opacity 0.18s linear;
  display: flex;
  justify-content: center;
  align-items: center; }
  .cs-cookie-message--shown {
    z-index: 99;
    transform: translate3d(0, 0, 0);
    opacity: 1; }
  .cs-cookie-message__inner {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    position: relative;
    padding-left: 8rem; }
    @media (min-width: 48em) {
      .cs-cookie-message__inner {
        flex-direction: row; } }
  .cs-cookie-message__button-wrapper {
    align-self: flex-start; }
    @media (min-width: 48em) {
      .cs-cookie-message__button-wrapper {
        align-self: unset; } }
  .cs-cookie-message__text {
    position: relative;
    margin: 0; }
    .cs-cookie-message__text .block-cms-link.widget,
    .cs-cookie-message__text p {
      margin: 0;
      display: inline; }
    .cs-cookie-message__text a {
      color: #FF4604; }
      .cs-cookie-message__text a:visited {
        color: #FF7442; }
      .cs-cookie-message__text a:hover {
        color: #FF7442; }
      .cs-cookie-message__text a:active, .cs-cookie-message__text a:focus {
        color: #FF7442; }
  .cs-cookie-message__icon {
    position: absolute;
    left: 0.5rem;
    width: 5.5rem;
    height: 5.5rem;
    top: 50%;
    transform: translateY(-50%); }
    @media (min-width: 48em) {
      .cs-cookie-message__icon {
        top: -3.5rem;
        transform: translateY(0); } }
  .cs-cookie-message__button {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: uppercase;
    border-radius: 25px;
    font-family: "Red Hat Display";
    padding: 8px 25px;
    font-size: 1.2rem;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    will-change: transform, background-color, border-color, fill, color;
    white-space: nowrap;
    margin-top: 1.2rem; }
    .cs-cookie-message__button.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .cs-cookie-message__button.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .cs-cookie-message__button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-cookie-message__button, .cs-cookie-message__button:visited {
      cursor: pointer;
      border-radius: 25px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF4604; }
      .cs-cookie-message__button *, .cs-cookie-message__button:visited * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-cookie-message__button:hover:not([disabled]), .cs-cookie-message__button:focus:not([disabled]), .cs-cookie-message__button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF7442; }
      .cs-cookie-message__button:hover:not([disabled]) *, .cs-cookie-message__button:focus:not([disabled]) *, .cs-cookie-message__button:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-cookie-message__button[disabled] {
      opacity: 0.65;
      cursor: auto; }
    @media (min-width: 48em) {
      .cs-cookie-message__button {
        margin-top: 0;
        margin-left: 1.2rem; } }
  .cs-cookie-message__button-span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    padding-right: 4em; }
  .cs-cookie-message__button-icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    margin-right: 0;
    right: 1em; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@media (max-width: 47.99em) {
  .cs-display-controller--hidden-mobile {
    display: none; } }

@media (min-width: 48em) {
  .cs-display-controller--hidden-desktop {
    display: none; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-dropdown-switcher {
  white-space: nowrap;
  cursor: pointer;
  width: 100%; }
  @media (min-width: 64em) {
    .cs-dropdown-switcher .mage-dropdown-dialog {
      position: absolute;
      top: 100%;
      right: -1rem;
      left: 1rem; } }
  .cs-dropdown-switcher--currency .mage-dropdown-dialog {
    right: -1rem; }
  @media (min-width: 64em) {
    .cs-dropdown-switcher {
      position: relative;
      display: inline-flex;
      align-items: center;
      flex-shrink: 0; }
      .cs-dropdown-switcher:before {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 1.3rem;
        content: '';
        border-left: 0.2rem solid #ffffff;
        transform: skew(-18deg);
        display: block; } }
  @media (min-width: 64em) {
    .cs-dropdown-switcher--stores:before {
      display: none; } }
  .cs-dropdown-switcher__option-icon {
    min-width: 1.5rem;
    height: 1.5rem;
    margin-right: 0.6rem;
    margin-bottom: 0.2rem;
    display: inline-block; }
    @media (min-width: 64em) {
      .cs-dropdown-switcher--language .cs-dropdown-switcher__option-icon {
        width: 1.5rem; } }
  @media (min-width: 64em) {
    .cs-dropdown-switcher .switcher-options {
      display: flex; } }
  .cs-dropdown-switcher__trigger {
    padding: 2.4rem 2rem;
    font-size: 1.4rem;
    font-weight: 700;
    border-bottom: 1px #dcdcdc solid;
    position: relative;
    position: relative; }
    .cs-dropdown-switcher__trigger:before, .cs-dropdown-switcher__trigger:after {
      content: '';
      position: absolute;
      top: 50%;
      width: 0.7rem;
      height: 0.1rem;
      left: auto;
      background-color: #FF4604;
      transition: transform 0.15s linear, right 0.15s linear, background-color 0.15s linear;
      -webkit-backface-visibility: hidden;
              backface-visibility: hidden; }
    .cs-dropdown-switcher__trigger:before {
      transform: rotate(45deg) translate3d(0, 0, 0);
      right: 3rem; }
    .cs-dropdown-switcher__trigger:after {
      transform: rotate(-45deg) translate3d(0, 0, 0);
      right: 2.5rem; }
    .cs-dropdown-switcher__trigger.active:before {
      transform: rotate(-45deg); }
    .cs-dropdown-switcher__trigger.active:after {
      transform: rotate(45deg); }
    @media (min-width: 64em) {
      .cs-dropdown-switcher__trigger {
        height: 100%;
        display: inline-flex;
        align-items: center;
        margin-left: 2rem;
        font-size: 1.1rem;
        font-weight: 400;
        padding: 0 1.5rem 0 0;
        border-bottom: none;
        position: relative; }
        .cs-dropdown-switcher__trigger:before, .cs-dropdown-switcher__trigger:after {
          content: '';
          position: absolute;
          top: 50%;
          width: 0.7rem;
          height: 0.1rem;
          left: auto;
          background-color: #000;
          transition: transform 0.15s linear, right 0.15s linear, background-color 0.15s linear;
          -webkit-backface-visibility: hidden;
                  backface-visibility: hidden; }
        .cs-dropdown-switcher__trigger:before {
          transform: rotate(45deg) translate3d(0, 0, 0);
          right: 0.5rem; }
        .cs-dropdown-switcher__trigger:after {
          transform: rotate(-45deg) translate3d(0, 0, 0);
          right: 0; }
        .cs-dropdown-switcher__trigger.active:before {
          transform: rotate(-45deg); }
        .cs-dropdown-switcher__trigger.active:after {
          transform: rotate(45deg); } }
    .cs-dropdown-switcher__trigger.active {
      background: transparent;
      border-top-left-radius: 3px;
      border-top-right-radius: 3px;
      border: none;
      position: relative;
      width: 100%; }
      @media (max-width: 63.99em) {
        .cs-dropdown-switcher__trigger.active {
          padding: 2.4rem 2rem;
          border-style: none; } }
    .cs-dropdown-switcher__trigger-span {
      display: flex;
      align-items: center; }
  .cs-dropdown-switcher__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: none;
    list-style: none;
    font-size: 1.1rem;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
    border-color: #f0f0f0;
    border-style: solid;
    border-width: 0 1px 1px;
    width: 100%; }
    @media (min-width: 64em) {
      .cs-dropdown-switcher__list {
        background: #ffffff;
        min-width: 100%; } }
    .cs-dropdown-switcher__list-item {
      margin: 0;
      white-space: nowrap; }
    .cs-dropdown-switcher__list-item-link {
      width: 100%;
      color: #212121 !important;
      display: flex;
      align-items: center; }
      .cs-dropdown-switcher__list-item-link:hover {
        background-color: #f0f0f0;
        text-decoration: none; }
      @media (max-width: 63.99em) {
        .cs-dropdown-switcher__list-item-link {
          padding: 1.4rem 2rem;
          font-size: 1.4rem; } }
      @media (min-width: 64em) {
        .cs-dropdown-switcher__list-item-link {
          padding: 0.6rem 1.8rem;
          font-size: 1.1rem; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
/* stylelint-disable no-descending-specificity */
.cs-field,
.cs-input {
  font-size: 1.3rem;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  align-items: center;
  border: 0;
  padding: 0;
  margin: 0 0 10px;
  width: 100%; }
  .cs-field__control,
  .cs-input__control {
    width: 100%; }
  .cs-field__label,
  .cs-input__label {
    font-weight: 700;
    font-size: 0.85em;
    width: 100%;
    text-transform: none;
    color: inherit;
    margin: 0 0 3px 0; }
    .required .cs-field__label:after, .required
    .cs-input__label:after {
      content: ' *';
      color: #CC1C3A; }
  .cs-field__input, .cs-field__textarea,
  .cs-input__input,
  .cs-input__textarea {
    font-size: 1.3rem;
    line-height: 1.275em;
    padding: 11px 10px;
    color: #212121;
    background: #ffffff;
    border-radius: 3px;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    transition: border-color 0.5s;
    margin: 0 0 0.2em;
    width: 100%;
    max-height: 40px;
    background-clip: padding-box;
    font-family: inherit; }
    .cs-field__input:hover:not([disabled]), .cs-field__input:focus:not([disabled]), .cs-field__textarea:hover:not([disabled]), .cs-field__textarea:focus:not([disabled]),
    .cs-input__input:hover:not([disabled]),
    .cs-input__input:focus:not([disabled]),
    .cs-input__textarea:hover:not([disabled]),
    .cs-input__textarea:focus:not([disabled]) {
      border: 1px solid #FF4604;
      box-shadow: none; }
    .cs-field__input::-moz-placeholder, .cs-field__textarea::-moz-placeholder, .cs-input__input::-moz-placeholder, .cs-input__textarea::-moz-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .cs-field__input:-ms-input-placeholder, .cs-field__textarea:-ms-input-placeholder, .cs-input__input:-ms-input-placeholder, .cs-input__textarea:-ms-input-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .cs-field__input::-ms-input-placeholder, .cs-field__textarea::-ms-input-placeholder, .cs-input__input::-ms-input-placeholder, .cs-input__textarea::-ms-input-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .cs-field__input::placeholder, .cs-field__textarea::placeholder,
    .cs-input__input::placeholder,
    .cs-input__textarea::placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .cs-field__input[disabled], .cs-field__textarea[disabled],
    .cs-input__input[disabled],
    .cs-input__textarea[disabled] {
      opacity: 0.65; }
    .cs-field__input.mage-error, .cs-field__input.mage-error:hover:not(:focus), .cs-field__textarea.mage-error, .cs-field__textarea.mage-error:hover:not(:focus),
    .cs-input__input.mage-error,
    .cs-input__input.mage-error:hover:not(:focus),
    .cs-input__textarea.mage-error,
    .cs-input__textarea.mage-error:hover:not(:focus) {
      border: 1px solid #CC1C3A; }
  .cs-field__select,
  .cs-input__select {
    display: block;
    font-size: 1.3rem;
    line-height: 1.275em;
    padding: 11px 10px;
    padding-right: 2.3em;
    color: #212121;
    border-radius: 3px;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    width: 100%;
    max-width: 100%;
    margin: 0 0 0.2em;
    outline: 0;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background-color: #ffffff;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23dcdcdc'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"), linear-gradient(0deg, transparent 0%, transparent 100%);
    background-repeat: no-repeat, repeat;
    background-position: right 0.8em top 52%, 0 0;
    background-size: 0.7em auto, 100%;
    transition: border-color 0.5s; }
    .cs-field__select:-moz-focusring, .cs-field__select::-moz-focus-inner,
    .cs-input__select:-moz-focusring,
    .cs-input__select::-moz-focus-inner {
      color: transparent !important;
      text-shadow: 0 0 0 #000 !important; }
    .cs-field__select::-ms-expand,
    .cs-input__select::-ms-expand {
      display: none; }
    .cs-field__select:hover:not([disabled]), .cs-field__select:focus:not([disabled]),
    .cs-input__select:hover:not([disabled]),
    .cs-input__select:focus:not([disabled]) {
      border: 1px solid #FF4604;
      box-shadow: none;
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23FF4604'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"), linear-gradient(0deg, transparent 0%, transparent 100%); }
      .ie11 .cs-field__select:hover:not([disabled]), .ie11 .cs-field__select:focus:not([disabled]), .ie11
      .cs-input__select:hover:not([disabled]), .ie11
      .cs-input__select:focus:not([disabled]) {
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23FF4604'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"); }
    .cs-field__select[disabled],
    .cs-input__select[disabled] {
      opacity: 0.65; }
    .cs-field__select option,
    .cs-input__select option {
      font-weight: 500;
      padding: 0;
      color: initial; }
    .ie11 .cs-field__select, .ie11
    .cs-input__select {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23dcdcdc'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e");
      background-size: 0.7em 0.7em, 100%; }
  .cs-field__radio,
  .cs-input__radio {
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0;
    font-size: 1.6rem;
    overflow: hidden;
    vertical-align: middle;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    flex: 0 0 auto;
    cursor: pointer;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 1em 1em;
    outline: 0;
    border-radius: 50%;
    transition: background-color 0.5s, border-color 0.5s; }
    .cs-field__radio::-ms-check,
    .cs-input__radio::-ms-check {
      color: transparent;
      border: 1px solid #dcdcdc;
      box-shadow: none;
      background-repeat: no-repeat;
      background-position: 50% 50%;
      background-size: 1em 1em;
      outline: 0;
      border-radius: 50%;
      -ms-transition: background-color 0.5s, border-color 0.5s;
      transition: background-color 0.5s, border-color 0.5s;
      background-color: transparent; }
    .cs-field__radio::-moz-focus-inner, .cs-field__radio:-moz-focusring,
    .cs-input__radio::-moz-focus-inner,
    .cs-input__radio:-moz-focusring {
      color: transparent !important;
      text-shadow: 0 0 0 #000 !important; }
    .cs-field__radio:hover:not([disabled]), .cs-field__radio:focus:not([disabled]),
    .cs-input__radio:hover:not([disabled]),
    .cs-input__radio:focus:not([disabled]) {
      border: 1px solid #FF7442;
      box-shadow: none;
      background-color: transparent; }
    .cs-field__radio:checked,
    .cs-input__radio:checked {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='%23FF4604' r='4' cy='7' cx='7'/%3e%3c/svg%3e"); }
      .cs-field__radio:checked::-ms-check,
      .cs-input__radio:checked::-ms-check {
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='%23FF4604' r='4' cy='6.5' cx='6.5'/%3e%3c/svg%3e"); }
      .cs-field__radio:checked, .cs-field__radio:checked:hover, .cs-field__radio:checked:focus,
      .cs-input__radio:checked,
      .cs-input__radio:checked:hover,
      .cs-input__radio:checked:focus {
        font-size: 0;
        border: 6px solid #FF4604;
        background-color: transparent;
        box-shadow: none; }
    .cs-field__radio[disabled],
    .cs-field__radio[disabled] + .label,
    .cs-field__radio[disabled] + .cs-input__label,
    .cs-input__radio[disabled],
    .cs-input__radio[disabled] + .label,
    .cs-input__radio[disabled] + .cs-input__label {
      opacity: 0.65; }
  .cs-field__checkbox,
  .cs-input__checkbox {
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0;
    font-size: 1.6rem;
    overflow: hidden;
    vertical-align: middle;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    flex: 0 0 auto;
    cursor: pointer;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 1em 1em;
    outline: 0;
    border-radius: 50%;
    transition: background-color 0.5s, border-color 0.5s;
    border-radius: 0;
    background-size: 1em 1em;
    margin-right: 15px; }
    .cs-field__checkbox::-ms-check,
    .cs-input__checkbox::-ms-check {
      color: transparent;
      border: 1px solid #dcdcdc;
      box-shadow: none;
      background-repeat: no-repeat;
      background-position: 50% 50%;
      background-size: 1em 1em;
      outline: 0;
      border-radius: 50%;
      -ms-transition: background-color 0.5s, border-color 0.5s;
      transition: background-color 0.5s, border-color 0.5s;
      background-color: transparent; }
    .cs-field__checkbox::-moz-focus-inner, .cs-field__checkbox:-moz-focusring,
    .cs-input__checkbox::-moz-focus-inner,
    .cs-input__checkbox:-moz-focusring {
      color: transparent !important;
      text-shadow: 0 0 0 #000 !important; }
    .cs-field__checkbox:hover:not([disabled]), .cs-field__checkbox:focus:not([disabled]),
    .cs-input__checkbox:hover:not([disabled]),
    .cs-input__checkbox:focus:not([disabled]) {
      border: 1px solid #FF7442;
      box-shadow: none;
      background-color: transparent; }
    .cs-field__checkbox:checked,
    .cs-input__checkbox:checked {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='%23FF4604' r='4' cy='7' cx='7'/%3e%3c/svg%3e"); }
      .cs-field__checkbox:checked::-ms-check,
      .cs-input__checkbox:checked::-ms-check {
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='%23FF4604' r='4' cy='6.5' cx='6.5'/%3e%3c/svg%3e"); }
      .cs-field__checkbox:checked, .cs-field__checkbox:checked:hover, .cs-field__checkbox:checked:focus,
      .cs-input__checkbox:checked,
      .cs-input__checkbox:checked:hover,
      .cs-input__checkbox:checked:focus {
        font-size: 0;
        border: 6px solid #FF4604;
        background-color: transparent;
        box-shadow: none; }
    .cs-field__checkbox[disabled],
    .cs-field__checkbox[disabled] + .label,
    .cs-field__checkbox[disabled] + .cs-input__label,
    .cs-input__checkbox[disabled],
    .cs-input__checkbox[disabled] + .label,
    .cs-input__checkbox[disabled] + .cs-input__label {
      opacity: 0.65; }
    .cs-field__checkbox::-ms-check,
    .cs-input__checkbox::-ms-check {
      color: transparent;
      border-radius: 0;
      background-size: 1em 1em; }
    .cs-field__checkbox:hover,
    .cs-input__checkbox:hover {
      border: 1px solid #FF4604; }
    .cs-field__checkbox:checked,
    .cs-input__checkbox:checked {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='%23FF4604' d='M5.313 10.108H5.24a1.064 1.005 0 0 1-.75-.41l-1.947-2.55a1.064 1.005 0 0 1 1.723-1.175L5.463 7.56 9.06 4.19a1.064 1.005 0 0 1 .75-.297h.846a1.064 1.005 0 0 1 0 2.004h-.45L6.064 9.81a1.064 1.005 0 0 1-.75.298z'/%3e%3c/svg%3e");
      border: 1px solid #FF4604;
      font-size: 16px; }
      .cs-field__checkbox:checked::-ms-check,
      .cs-input__checkbox:checked::-ms-check {
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='%23FF4604' d='M5.313 10.108H5.24a1.064 1.005 0 0 1-.75-.41l-1.947-2.55a1.064 1.005 0 0 1 1.723-1.175L5.463 7.56 9.06 4.19a1.064 1.005 0 0 1 .75-.297h.846a1.064 1.005 0 0 1 0 2.004h-.45L6.064 9.81a1.064 1.005 0 0 1-.75.298z'/%3e%3c/svg%3e"); }
      .cs-field__checkbox:checked:focus, .cs-field__checkbox:checked:hover,
      .cs-input__checkbox:checked:focus,
      .cs-input__checkbox:checked:hover {
        font-size: 16px;
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='%23FF4604' d='M5.313 10.108H5.24a1.064 1.005 0 0 1-.75-.41l-1.947-2.55a1.064 1.005 0 0 1 1.723-1.175L5.463 7.56 9.06 4.19a1.064 1.005 0 0 1 .75-.297h.846a1.064 1.005 0 0 1 0 2.004h-.45L6.064 9.81a1.064 1.005 0 0 1-.75.298z'/%3e%3c/svg%3e");
        border: 1px solid #FF4604; }
    .cs-field__checkbox.mage-error, .cs-field__checkbox.mage-error:hover:not(:focus),
    .cs-input__checkbox.mage-error,
    .cs-input__checkbox.mage-error:hover:not(:focus) {
      border: 1px solid #CC1C3A; }
  .cs-field__icon,
  .cs-input__icon {
    position: absolute;
    width: 1.3em;
    height: 1.3em;
    right: 0.8em;
    top: 0.8em;
    display: none; }
  .cs-field__note,
  .cs-input__note {
    display: block;
    font-size: 0.85em;
    padding: 0.3em 0 0;
    color: #696969; }
  .cs-field__error,
  .cs-input__error {
    display: block;
    font-size: 0.85em;
    padding: 0.3em 0 0;
    color: #696969;
    color: #CC1C3A; }

.field {
  font-size: 1.3rem;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  align-items: center;
  border: 0;
  padding: 0;
  margin: 0 0 10px;
  width: 100%; }
  .field.note {
    font-size: 1.6rem;
    letter-spacing: 0.5px; }
  .field._success:not(._warn) .control {
    position: relative; }
    .field._success:not(._warn) .control:after {
      position: absolute;
      width: 1.3em;
      height: 1.3em;
      right: 0.8em;
      top: 0.8em;
      display: none;
      background: url("../images/check-green.svg") no-repeat center center/contain;
      content: ''; }
  .field .control {
    width: 100%; }
    .field .control > textarea {
      font-size: 1.3rem;
      line-height: 1.275em;
      padding: 11px 10px;
      color: #212121;
      background: #ffffff;
      border-radius: 3px;
      border: 1px solid #dcdcdc;
      box-shadow: none;
      transition: border-color 0.5s;
      margin: 0 0 0.2em;
      width: 100%;
      max-height: 40px;
      background-clip: padding-box;
      font-family: inherit; }
      .field .control > textarea:hover:not([disabled]), .field .control > textarea:focus:not([disabled]) {
        border: 1px solid #FF4604;
        box-shadow: none; }
      .field .control > textarea::-moz-placeholder {
        opacity: 1;
        color: #6E6E6E; }
      .field .control > textarea:-ms-input-placeholder {
        opacity: 1;
        color: #6E6E6E; }
      .field .control > textarea::-ms-input-placeholder {
        opacity: 1;
        color: #6E6E6E; }
      .field .control > textarea::placeholder {
        opacity: 1;
        color: #6E6E6E; }
      .field .control > textarea[disabled] {
        opacity: 0.65; }
  .field .label {
    font-weight: 700;
    font-size: 0.85em;
    width: 100%;
    text-transform: none;
    color: inherit;
    margin: 0 0 3px 0; }
  .field.required > .label:after, .field._required > .label:after {
    content: ' *';
    color: #CC1C3A; }
  .field.required ._required > .label:after {
    display: none; }
  .field .input-text {
    font-size: 1.3rem;
    line-height: 1.275em;
    padding: 11px 10px;
    color: #212121;
    background: #ffffff;
    border-radius: 3px;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    transition: border-color 0.5s;
    margin: 0 0 0.2em;
    width: 100%;
    max-height: 40px;
    background-clip: padding-box;
    font-family: inherit; }
    .field .input-text:hover:not([disabled]), .field .input-text:focus:not([disabled]) {
      border: 1px solid #FF4604;
      box-shadow: none; }
    .field .input-text::-moz-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .field .input-text:-ms-input-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .field .input-text::-ms-input-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .field .input-text::placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .field .input-text[disabled] {
      opacity: 0.65; }
    .field .input-text.mage-error, .field .input-text.mage-error:hover:not(:focus) {
      border: 1px solid #CC1C3A; }
    .field .input-text.required-entry {
      margin-bottom: 1rem; }
  .field .select {
    display: block;
    font-size: 1.3rem;
    line-height: 1.275em;
    padding: 11px 10px;
    padding-right: 2.3em;
    color: #212121;
    border-radius: 3px;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    width: 100%;
    max-width: 100%;
    margin: 0 0 0.2em;
    outline: 0;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background-color: #ffffff;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23dcdcdc'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"), linear-gradient(0deg, transparent 0%, transparent 100%);
    background-repeat: no-repeat, repeat;
    background-position: right 0.8em top 52%, 0 0;
    background-size: 0.7em auto, 100%;
    transition: border-color 0.5s; }
    .field .select:-moz-focusring, .field .select::-moz-focus-inner {
      color: transparent !important;
      text-shadow: 0 0 0 #000 !important; }
    .field .select::-ms-expand {
      display: none; }
    .field .select:hover:not([disabled]), .field .select:focus:not([disabled]) {
      border: 1px solid #FF4604;
      box-shadow: none;
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23FF4604'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"), linear-gradient(0deg, transparent 0%, transparent 100%); }
      .ie11 .field .select:hover:not([disabled]), .ie11 .field .select:focus:not([disabled]) {
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23FF4604'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"); }
    .field .select[disabled] {
      opacity: 0.65; }
    .field .select option {
      font-weight: 500;
      padding: 0;
      color: initial; }
    .ie11 .field .select {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23dcdcdc'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e");
      background-size: 0.7em 0.7em, 100%; }
  .field .checkbox {
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0;
    font-size: 1.6rem;
    overflow: hidden;
    vertical-align: middle;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    flex: 0 0 auto;
    cursor: pointer;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 1em 1em;
    outline: 0;
    border-radius: 50%;
    transition: background-color 0.5s, border-color 0.5s;
    border-radius: 0;
    background-size: 1em 1em;
    margin-right: 15px; }
    .field .checkbox::-ms-check {
      color: transparent;
      border: 1px solid #dcdcdc;
      box-shadow: none;
      background-repeat: no-repeat;
      background-position: 50% 50%;
      background-size: 1em 1em;
      outline: 0;
      border-radius: 50%;
      -ms-transition: background-color 0.5s, border-color 0.5s;
      transition: background-color 0.5s, border-color 0.5s;
      background-color: transparent; }
    .field .checkbox::-moz-focus-inner, .field .checkbox:-moz-focusring {
      color: transparent !important;
      text-shadow: 0 0 0 #000 !important; }
    .field .checkbox:hover:not([disabled]), .field .checkbox:focus:not([disabled]) {
      border: 1px solid #FF7442;
      box-shadow: none;
      background-color: transparent; }
    .field .checkbox:checked {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='%23FF4604' r='4' cy='7' cx='7'/%3e%3c/svg%3e"); }
      .field .checkbox:checked::-ms-check {
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='%23FF4604' r='4' cy='6.5' cx='6.5'/%3e%3c/svg%3e"); }
      .field .checkbox:checked, .field .checkbox:checked:hover, .field .checkbox:checked:focus {
        font-size: 0;
        border: 6px solid #FF4604;
        background-color: transparent;
        box-shadow: none; }
    .field .checkbox[disabled],
    .field .checkbox[disabled] + .label,
    .field .checkbox[disabled] + .cs-input__label {
      opacity: 0.65; }
    .field .checkbox::-ms-check {
      color: transparent;
      border-radius: 0;
      background-size: 1em 1em; }
    .field .checkbox:hover {
      border: 1px solid #FF4604; }
    .field .checkbox:checked {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='%23FF4604' d='M5.313 10.108H5.24a1.064 1.005 0 0 1-.75-.41l-1.947-2.55a1.064 1.005 0 0 1 1.723-1.175L5.463 7.56 9.06 4.19a1.064 1.005 0 0 1 .75-.297h.846a1.064 1.005 0 0 1 0 2.004h-.45L6.064 9.81a1.064 1.005 0 0 1-.75.298z'/%3e%3c/svg%3e");
      border: 1px solid #FF4604;
      font-size: 16px; }
      .field .checkbox:checked::-ms-check {
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='%23FF4604' d='M5.313 10.108H5.24a1.064 1.005 0 0 1-.75-.41l-1.947-2.55a1.064 1.005 0 0 1 1.723-1.175L5.463 7.56 9.06 4.19a1.064 1.005 0 0 1 .75-.297h.846a1.064 1.005 0 0 1 0 2.004h-.45L6.064 9.81a1.064 1.005 0 0 1-.75.298z'/%3e%3c/svg%3e"); }
      .field .checkbox:checked:focus, .field .checkbox:checked:hover {
        font-size: 16px;
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='%23FF4604' d='M5.313 10.108H5.24a1.064 1.005 0 0 1-.75-.41l-1.947-2.55a1.064 1.005 0 0 1 1.723-1.175L5.463 7.56 9.06 4.19a1.064 1.005 0 0 1 .75-.297h.846a1.064 1.005 0 0 1 0 2.004h-.45L6.064 9.81a1.064 1.005 0 0 1-.75.298z'/%3e%3c/svg%3e");
        border: 1px solid #FF4604; }
    .field .checkbox.mage-error, .field .checkbox.mage-error:hover:not(:focus) {
      border: 1px solid #CC1C3A; }
  .field .radio {
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0;
    font-size: 1.6rem;
    overflow: hidden;
    vertical-align: middle;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    flex: 0 0 auto;
    cursor: pointer;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 1em 1em;
    outline: 0;
    border-radius: 50%;
    transition: background-color 0.5s, border-color 0.5s; }
    .field .radio::-ms-check {
      color: transparent;
      border: 1px solid #dcdcdc;
      box-shadow: none;
      background-repeat: no-repeat;
      background-position: 50% 50%;
      background-size: 1em 1em;
      outline: 0;
      border-radius: 50%;
      -ms-transition: background-color 0.5s, border-color 0.5s;
      transition: background-color 0.5s, border-color 0.5s;
      background-color: transparent; }
    .field .radio::-moz-focus-inner, .field .radio:-moz-focusring {
      color: transparent !important;
      text-shadow: 0 0 0 #000 !important; }
    .field .radio:hover:not([disabled]), .field .radio:focus:not([disabled]) {
      border: 1px solid #FF7442;
      box-shadow: none;
      background-color: transparent; }
    .field .radio:checked {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='%23FF4604' r='4' cy='7' cx='7'/%3e%3c/svg%3e"); }
      .field .radio:checked::-ms-check {
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='%23FF4604' r='4' cy='6.5' cx='6.5'/%3e%3c/svg%3e"); }
      .field .radio:checked, .field .radio:checked:hover, .field .radio:checked:focus {
        font-size: 0;
        border: 6px solid #FF4604;
        background-color: transparent;
        box-shadow: none; }
    .field .radio[disabled],
    .field .radio[disabled] + .label,
    .field .radio[disabled] + .cs-input__label {
      opacity: 0.65; }
  .field.choice {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center; }
    .field.choice label {
      margin: 0;
      flex: 1 1;
      font-weight: normal;
      font-size: 1.6rem; }
    .field.choice div.mage-error {
      width: 100%; }
    .field.choice input[type="radio"] + label {
      margin-left: 10px; }
  .field.customer-name-prefix select {
    display: block;
    font-size: 1.3rem;
    line-height: 1.275em;
    padding: 11px 10px;
    padding-right: 2.3em;
    color: #212121;
    border-radius: 3px;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    width: 100%;
    max-width: 100%;
    margin: 0 0 0.2em;
    outline: 0;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background-color: #ffffff;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23dcdcdc'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"), linear-gradient(0deg, transparent 0%, transparent 100%);
    background-repeat: no-repeat, repeat;
    background-position: right 0.8em top 52%, 0 0;
    background-size: 0.7em auto, 100%;
    transition: border-color 0.5s; }
    .field.customer-name-prefix select:-moz-focusring, .field.customer-name-prefix select::-moz-focus-inner {
      color: transparent !important;
      text-shadow: 0 0 0 #000 !important; }
    .field.customer-name-prefix select::-ms-expand {
      display: none; }
    .field.customer-name-prefix select:hover:not([disabled]), .field.customer-name-prefix select:focus:not([disabled]) {
      border: 1px solid #FF4604;
      box-shadow: none;
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23FF4604'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"), linear-gradient(0deg, transparent 0%, transparent 100%); }
      .ie11 .field.customer-name-prefix select:hover:not([disabled]), .ie11 .field.customer-name-prefix select:focus:not([disabled]) {
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23FF4604'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"); }
    .field.customer-name-prefix select[disabled] {
      opacity: 0.65; }
    .field.customer-name-prefix select option {
      font-weight: 500;
      padding: 0;
      color: initial; }
    .ie11 .field.customer-name-prefix select {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23dcdcdc'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e");
      background-size: 0.7em 0.7em, 100%; }
  .field._error .input-text, .field._error .input-text:hover:not(:focus),
  .field._error .checkbox,
  .field._error .checkbox:hover:not(:focus) {
    border: 1px solid #CC1C3A; }
  .field .control._with-tooltip input {
    width: 100%;
    margin-right: 0; }
  .field .field-tooltip {
    position: static; }
    .field .field-tooltip .label,
    .field .field-tooltip .field-tooltip-action {
      display: none; }
    .field .field-tooltip .field-tooltip-content {
      position: static;
      background: none;
      border: none;
      display: block;
      font-size: 0.85em;
      padding: 0.3em 0 0;
      color: #696969; }
      .field .field-tooltip .field-tooltip-content:before, .field .field-tooltip .field-tooltip-content:after {
        display: none; }
  .field .note {
    display: block;
    font-size: 0.85em;
    padding: 0.3em 0 0;
    color: #696969; }

div.mage-error,
div.field-error {
  display: block;
  font-size: 0.85em;
  padding: 0.3em 0 0;
  color: #696969;
  color: #CC1C3A; }

.opc-wrapper .select-wrap,
.estimate .select-wrap {
  position: relative; }
  .opc-wrapper .select-wrap select,
  .estimate .select-wrap select {
    padding-right: 50px; }
  .opc-wrapper .select-wrap:after,
  .estimate .select-wrap:after {
    content: '';
    background-color: #000;
    display: inline-block;
    position: absolute;
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
    background-image: url("../images/icons/white-arrow.svg");
    width: 44px;
    height: 40px;
    background-repeat: no-repeat;
    background-size: 15px;
    background-position: center;
    top: 0;
    right: 0;
    cursor: pointer;
    pointer-events: none; }

small.required-fields {
  display: block;
  text-align: right;
  font-size: 1.2rem;
  color: #6E6E6E; }
  small.required-fields span {
    color: #CC1C3A; }

/* stylelint-enable */

/**
 * Footer component customization.
 * @see /Magento_Theme/templates/footer/columns.phtml for templates.
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-footer {
  font-size: 1rem;
  color: #ffffff;
  background: #000 url("../images/footer-bg-image.jpg") no-repeat;
  background-size: cover;
  overflow: hidden;
  padding: 0 0 2rem; }
  @media (min-width: 48em) {
    .cs-footer {
      background-position-x: 41vw;
      padding: 0 1.5rem; } }
  .cs-footer__content {
    padding: 0; }
    @media (min-width: 48em) {
      .cs-footer__content {
        display: flex;
        flex-wrap: wrap;
        padding-top: 3.2rem;
        padding-bottom: 2.5rem; } }
    @media (min-width: 64em) {
      .cs-footer__content {
        flex-wrap: nowrap; } }
  @media (min-width: 64em) {
    .cs-footer__item {
      flex: 1 1; } }
  .cs-footer__item--promo {
    flex-basis: 100%; }
    @media (max-width: 47.99em) {
      .cs-footer__item--promo {
        display: none; } }
    @media (max-width: 63.99em) {
      .cs-footer__item--promo {
        margin-bottom: 1.5rem; } }
    @media (min-width: 64em) {
      .cs-footer__item--promo {
        flex-basis: auto;
        flex-grow: 1; } }
  @media (min-width: 48em) {
    .cs-footer__item--links {
      display: flex;
      flex-basis: auto;
      flex-grow: 1; } }
  @media (max-width: 47.99em) {
    .cs-footer__item--links {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      background: #000;
      padding: 20px 10px 30px; }
      .cs-footer__item--links .cs-footer__section {
        flex: 1 1 50%;
        padding-left: 15px; } }
  @media (min-width: 48em) {
    .cs-footer__item--extras {
      display: flex;
      justify-content: flex-end;
      flex-basis: 25%;
      flex-grow: 1.4; } }
  @media (max-width: 48em) {
    .cs-footer__item--extras {
      padding: 17px 20px 10px; } }
  @media (min-width: 48em) {
    .cs-footer__section {
      flex: 1 1; } }
  .cs-footer__section--newsletter {
    display: flex;
    flex-direction: column; }
    .cs-footer__section--newsletter .top-links__phone-icon {
      order: 1;
      letter-spacing: 1px;
      background: url(../images/icons/telephone66.svg) no-repeat;
      background-size: 19px;
      background-position: left 12px;
      font-size: 24px;
      font-weight: bold;
      text-transform: uppercase;
      color: #ffffff;
      line-height: 28px;
      padding: 8px 0 0 28px; }
      @media (max-width: 40em) {
        .cs-footer__section--newsletter .top-links__phone-icon {
          font-size: 18px;
          background-size: 16px;
          background-position: left 13px; } }
    .cs-footer__section--newsletter .cs-footer__section-title {
      order: 2; }
    .cs-footer__section--newsletter .cs-newsletter {
      order: 3; }
      .cs-footer__section--newsletter .cs-newsletter p {
        font-size: 1.6rem; }
        @media (max-width: 40em) {
          .cs-footer__section--newsletter .cs-newsletter p {
            font-size: 1.2rem; } }
    @media (min-width: 48em) {
      .cs-footer__section--newsletter {
        flex-grow: 2;
        max-width: 615px; } }
  @media (min-width: 64em) {
    .cs-footer__section--socials {
      margin-top: 4rem; } }
  @media (min-width: 64em) {
    .cs-footer__section--stores-switcher {
      margin-top: 4rem;
      max-width: 20rem; } }
  .cs-footer__section-title,
  .cs-footer [data-role='title'] {
    font-family: "Red Hat Display", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1.6rem;
    color: #212121;
    font-weight: 700;
    text-transform: uppercase;
    margin: 1rem 0 2rem;
    position: relative;
    margin: 25px 0 0;
    padding: 2em 1.5rem 0.7em;
    color: #ffffff;
    font-size: 1.4rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    padding-left: 0;
    padding-top: 0;
    padding-right: 0; }
    @media (max-width: 47.99em) {
      .cs-footer__section-title,
      .cs-footer [data-role='title'] {
        border-top: none; }
        .cs-footer__section[data-mage-init] .cs-footer__section-title,
        .cs-footer__section[data-collapsible] .cs-footer__section-title, .cs-footer__section[data-mage-init]
        .cs-footer [data-role='title'],
        .cs-footer__section[data-collapsible]
        .cs-footer [data-role='title'] {
          cursor: pointer;
          position: relative; }
          .cs-footer__section[data-mage-init] .cs-footer__section-title:before, .cs-footer__section[data-mage-init] .cs-footer__section-title:after,
          .cs-footer__section[data-collapsible] .cs-footer__section-title:before,
          .cs-footer__section[data-collapsible] .cs-footer__section-title:after, .cs-footer__section[data-mage-init]
          .cs-footer [data-role='title']:before, .cs-footer__section[data-mage-init]
          .cs-footer [data-role='title']:after,
          .cs-footer__section[data-collapsible]
          .cs-footer [data-role='title']:before,
          .cs-footer__section[data-collapsible]
          .cs-footer [data-role='title']:after {
            content: '';
            position: absolute;
            top: 50%;
            width: 1.2rem;
            height: 0.2rem;
            left: auto;
            background-color: #6E6E6E;
            transition: transform 0.3s ease-out, opacity 0.15s ease-out, background-color 0.15s linear;
            -webkit-backface-visibility: hidden;
                    backface-visibility: hidden; }
          .cs-footer__section[data-mage-init] .cs-footer__section-title:before, .cs-footer__section[data-mage-init] .cs-footer__section-title:after,
          .cs-footer__section[data-collapsible] .cs-footer__section-title:before,
          .cs-footer__section[data-collapsible] .cs-footer__section-title:after, .cs-footer__section[data-mage-init]
          .cs-footer [data-role='title']:before, .cs-footer__section[data-mage-init]
          .cs-footer [data-role='title']:after,
          .cs-footer__section[data-collapsible]
          .cs-footer [data-role='title']:before,
          .cs-footer__section[data-collapsible]
          .cs-footer [data-role='title']:after {
            right: 1.5rem;
            transform: translate3d(0, -50%, 0) !important; }
          .cs-footer__section[data-mage-init] .cs-footer__section-title:after,
          .cs-footer__section[data-collapsible] .cs-footer__section-title:after, .cs-footer__section[data-mage-init]
          .cs-footer [data-role='title']:after,
          .cs-footer__section[data-collapsible]
          .cs-footer [data-role='title']:after {
            transform: translate3d(0, -50%, 0) rotate(90deg) !important; }
          .cs-footer__section[data-mage-init] .cs-footer__section-title[aria-expanded="true"]:before,
          .cs-footer__section[data-collapsible] .cs-footer__section-title[aria-expanded="true"]:before, .cs-footer__section[data-mage-init]
          .cs-footer [data-role='title'][aria-expanded="true"]:before,
          .cs-footer__section[data-collapsible]
          .cs-footer [data-role='title'][aria-expanded="true"]:before {
            transform: translate3d(0, -50%, 0) rotate(-90deg) !important;
            opacity: 0; }
          .cs-footer__section[data-mage-init] .cs-footer__section-title[aria-expanded="true"]:after,
          .cs-footer__section[data-collapsible] .cs-footer__section-title[aria-expanded="true"]:after, .cs-footer__section[data-mage-init]
          .cs-footer [data-role='title'][aria-expanded="true"]:after,
          .cs-footer__section[data-collapsible]
          .cs-footer [data-role='title'][aria-expanded="true"]:after {
            transform: translate3d(0, -50%, 0) rotate(0) !important; }
        .cs-footer__section--socials .cs-footer__section-title, .cs-footer__section--socials
        .cs-footer [data-role='title'] {
          border: 0;
          clip: rect(0 0 0 0);
          height: 1px;
          margin: -1px;
          overflow: hidden;
          padding: 0;
          position: absolute;
          width: 1px;
          white-space: nowrap;
          /* 1 */ } }
    @media (max-width: 40em) {
      .cs-footer__section-title,
      .cs-footer [data-role='title'] {
        font-size: 1.2rem;
        margin: 20px 0 0; } }
  .cs-footer__section-content,
  .cs-footer [data-role='content'] {
    padding: 0 1.5rem 1.5rem;
    font-size: 1.2em;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0; }
    @media (max-width: 47.99em) {
      .cs-footer__section[data-mage-init] .cs-footer__section-content,
      .cs-footer__section[data-collapsible] .cs-footer__section-content, .cs-footer__section[data-mage-init]
      .cs-footer [data-role='content'],
      .cs-footer__section[data-collapsible]
      .cs-footer [data-role='content'] {
        display: none; } }
  .cs-footer__shop-logo {
    display: block;
    width: 13.5em;
    height: 2.3em;
    min-width: 13.5em;
    max-width: 100%;
    max-height: 100%; }

.cs-container--footer {
  max-width: none; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
.cs-footer-links {
  margin: 0;
  padding: 0;
  list-style: none; }
  .cs-footer-links-header {
    font-size: 14px;
    color: #ffffff;
    letter-spacing: 0.5px; }
    @media (max-width: 40em) {
      .cs-footer-links-header {
        font-size: 12px; } }
  .cs-footer-links__item {
    margin: 0;
    font-size: 14px;
    font-weight: normal;
    color: #ffffff; }
    @media (max-width: 40em) {
      .cs-footer-links__item {
        font-size: 12px;
        font-weight: normal;
        margin-bottom: 1px; } }
  .cs-footer-links a,
  .cs-footer-links a:visited {
    display: block;
    padding: 0 0 4px;
    font-size: 14px;
    color: #ffffff;
    font-weight: normal; }
    @media (max-width: 40em) {
      .cs-footer-links a,
      .cs-footer-links a:visited {
        font-size: 12px; } }
    .cs-footer-links a:hover,
    .cs-footer-links a:visited:hover {
      color: #ffffff;
      text-decoration: underline; }
    @media (min-width: 48em) {
      .cs-footer-links a,
      .cs-footer-links a:visited {
        padding: 0 0 4px;
        display: inline-block; } }

/*
 * Fair warning: Don't mix units while using 'utils/poly-fluid-sizing' feature.
 * If you use rems, stick to rems everywhere in the area of whole map, or else the mixin will throw an error
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Using psuedo elements to maintain an elements aspect ratio, even as it scales
 * It's using only for IE11 and Edge (version which doesn't support native CSS grid) browsers
 * For browsers which support native CSS grid, we are using mixins contain `reset` in mixin name
 * to override default mixins (progressive enhancement)
 * https://css-tricks.com/snippets/sass/maintain-aspect-ratio-mixin/
 * @param {number} $width: width of the element;
 * @param {number} $height: height of the element;
 * @param {string} $contentClass: class of the direct child element to be positioned absolutely;
 * @param {boolean} $autoposition: tells if item shall take 100% of parent size or if it can be wider/higher if needed;
 */
/**
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L179
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-grid-layout {
  position: relative;
  width: 100%; }
  .cs-grid-layout__grid {
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none; }
    .cs-grid-layout__grid:after {
      content: '';
      display: table;
      clear: both; }
  .cs-grid-layout__teaser {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
    .cs-grid-layout__teaser-content-wrapper {
      display: flex;
      width: 100%;
      height: 100%; }
    .cs-grid-layout__teaser-figure {
      position: relative;
      width: 100%;
      height: 100%; }
    .cs-grid-layout__teaser-image {
      min-width: 100%;
      min-height: 100%;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate3d(-50%, -50%, 0); }
    .cs-grid-layout__teaser-content {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      display: flex;
      flex-direction: column;
      padding: 1.5rem;
      line-height: 1.15;
      /* Variants will be refactored after CC IT refactor due to new position options */ }
      .cs-grid-layout__teaser-content--variant-1 {
        justify-content: center;
        align-items: flex-start; }
      .cs-grid-layout__teaser-content--variant-2 {
        justify-content: flex-end;
        align-items: flex-start; }
      .cs-grid-layout__teaser-content--variant-3 {
        justify-content: center;
        align-items: center;
        text-align: center; }
      .cs-grid-layout__teaser-content--variant-4 {
        justify-content: flex-end;
        align-items: center;
        text-align: center; }
    .cs-grid-layout__teaser-content-inner {
      max-width: 100%; }
    .cs-grid-layout__teaser-headline {
      margin: 0 0 0.2em;
      color: #212121;
      font-weight: 600;
      text-transform: none;
      font-size: 1.8rem; }
      @media (min-width: 32rem) {
        .cs-grid-layout__teaser-headline {
          font-size: calc(1.08696vw + 1.45217rem); } }
      @media (min-width: 124rem) {
        .cs-grid-layout__teaser-headline {
          font-size: 2.8rem; } }
      .cs-grid-layout__brick--x2 .cs-grid-layout__teaser-headline {
        margin: 0 0 0.2em;
        font-size: 1.8rem; }
        @media (min-width: 32rem) {
          .cs-grid-layout__brick--x2 .cs-grid-layout__teaser-headline {
            font-size: calc(2.3913vw + 1.03478rem); } }
        @media (min-width: 124rem) {
          .cs-grid-layout__brick--x2 .cs-grid-layout__teaser-headline {
            font-size: 4rem; } }
      .cs-grid-layout__teaser--scheme-light .cs-grid-layout__teaser-headline {
        color: #ffffff; }
    .cs-grid-layout__teaser-subheadline {
      display: block;
      margin: 0 0 0.6em;
      color: #212121;
      font-weight: 400;
      text-transform: none;
      font-size: 1.6rem; }
      @media (min-width: 32rem) {
        .cs-grid-layout__teaser-subheadline {
          font-size: calc(0.21739vw + 1.53043rem); } }
      @media (min-width: 124rem) {
        .cs-grid-layout__teaser-subheadline {
          font-size: 1.8rem; } }
      .cs-grid-layout__brick--x2 .cs-grid-layout__teaser-subheadline {
        margin: 0 0 0.6em;
        font-size: 1.6rem; }
        @media (min-width: 32rem) {
          .cs-grid-layout__brick--x2 .cs-grid-layout__teaser-subheadline {
            font-size: calc(0.97826vw + 1.28696rem); } }
        @media (min-width: 124rem) {
          .cs-grid-layout__brick--x2 .cs-grid-layout__teaser-subheadline {
            font-size: 2.5rem; } }
      .cs-grid-layout__teaser--scheme-light .cs-grid-layout__teaser-subheadline {
        color: #ffffff; }
    .cs-grid-layout__teaser-text {
      margin: 0 0 1em;
      color: #212121;
      font-weight: 400;
      text-transform: none;
      font-size: 1.3rem; }
      @media (min-width: 32rem) {
        .cs-grid-layout__teaser-text {
          font-size: calc(0.1087vw + 1.26522rem); } }
      @media (min-width: 124rem) {
        .cs-grid-layout__teaser-text {
          font-size: 1.4rem; } }
      .cs-grid-layout__brick--x2 .cs-grid-layout__teaser-text {
        margin: 0 0 1em;
        font-size: 1.3rem; }
        @media (min-width: 32rem) {
          .cs-grid-layout__brick--x2 .cs-grid-layout__teaser-text {
            font-size: calc(0.32609vw + 1.19565rem); } }
        @media (min-width: 124rem) {
          .cs-grid-layout__brick--x2 .cs-grid-layout__teaser-text {
            font-size: 1.6rem; } }
      .cs-grid-layout__teaser--scheme-light .cs-grid-layout__teaser-text {
        color: #ffffff; }
    .cs-grid-layout__teaser-cta-button {
      display: inline-block;
      font-size: 1.4rem;
      font-weight: 700;
      text-align: center;
      position: relative;
      line-height: 1.275em;
      margin: 0;
      text-transform: uppercase;
      border-radius: 25px;
      font-family: "Red Hat Display";
      padding: 8px 25px;
      font-size: 1.2rem;
      box-sizing: border-box;
      transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
      vertical-align: middle;
      z-index: 5;
      will-change: transform, background-color, border-color, fill, color; }
      .cs-grid-layout__teaser-cta-button.medium {
        padding: 11px 25px;
        font-size: 1.4rem; }
      .cs-grid-layout__teaser-cta-button.large {
        padding: 13px 25px;
        font-size: 1.6rem; }
      .cs-grid-layout__teaser-cta-button::-moz-focus-inner {
        border: 0;
        padding: 0;
        margin: 0; }
      .cs-grid-layout__teaser-cta-button, .cs-grid-layout__teaser-cta-button:visited {
        cursor: pointer;
        border-radius: 25px;
        outline-offset: 1px;
        text-decoration: none;
        box-shadow: none;
        border: 1px solid transparent;
        color: #ffffff;
        background-color: #FF4604; }
        .cs-grid-layout__teaser-cta-button *, .cs-grid-layout__teaser-cta-button:visited * {
          color: #ffffff;
          fill: #ffffff; }
      .cs-grid-layout__teaser-cta-button:hover:not([disabled]), .cs-grid-layout__teaser-cta-button:focus:not([disabled]), .cs-grid-layout__teaser-cta-button:active:not([disabled]) {
        box-shadow: none;
        outline: none;
        text-decoration: none;
        border: 1px solid transparent;
        color: #ffffff;
        background-color: #FF7442; }
        .cs-grid-layout__teaser-cta-button:hover:not([disabled]) *, .cs-grid-layout__teaser-cta-button:focus:not([disabled]) *, .cs-grid-layout__teaser-cta-button:active:not([disabled]) * {
          color: #ffffff;
          fill: #ffffff; }
      .cs-grid-layout__teaser-cta-button[disabled] {
        opacity: 0.65;
        cursor: auto; }
      .cs-grid-layout__teaser-cta-button-span {
        margin-top: 0;
        z-index: 1;
        font-weight: 700;
        vertical-align: baseline;
        display: inline-block;
        line-height: 1.275em;
        letter-spacing: normal;
        padding-right: 4em; }
      .cs-grid-layout__teaser-cta-button-icon {
        max-width: 1em;
        max-height: 1.4rem;
        z-index: 2;
        height: auto;
        width: 100%;
        position: absolute;
        top: 50%;
        transform: translate3d(0, -50%, 0);
        margin-right: 0;
        right: 1em; }
  .cs-grid-layout__brick {
    width: 100%;
    margin: 0;
    padding: 0;
    float: left;
    position: relative; }
    .cs-grid-layout__brick:before {
      display: block;
      content: '';
      width: 100%;
      padding-top: 170%; }
    .cs-grid-layout__brick .cs-product-tile {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }
    @media (min-width: 30em) {
      .cs-grid-layout__brick {
        width: calc(100% / 2); }
        .cs-grid-layout__brick--x2 {
          width: calc(100% / 2 * 2); } }
    @media (min-width: 40em) {
      .cs-grid-layout__brick {
        width: calc(100% / 2); }
        .cs-grid-layout__brick--x2 {
          width: calc(100% / 2 * 2); } }
    @media (min-width: 48em) {
      .cs-grid-layout__brick {
        width: calc(100% / 3); }
        .cs-grid-layout__brick--x2 {
          width: calc(100% / 3 * 2); } }
    @media (min-width: 64em) {
      .cs-grid-layout__brick {
        width: calc(100% / 5); }
        .cs-grid-layout__brick--x2 {
          width: calc(100% / 5 * 2); } }
    @media (min-width: 80em) {
      .cs-grid-layout__brick {
        width: calc(100% / 5); }
        .cs-grid-layout__brick--x2 {
          width: calc(100% / 5 * 2); } }
    @media (min-width: 90em) {
      .cs-grid-layout__brick {
        width: calc(100% / 5); }
        .cs-grid-layout__brick--x2 {
          width: calc(100% / 5 * 2); } }
    @media (min-width: 120em) {
      .cs-grid-layout__brick {
        width: calc(100% / 5); }
        .cs-grid-layout__brick--x2 {
          width: calc(100% / 5 * 2); } }
    .cs-grid-layout__brick--x2:not(.cs-grid-layout__brick--y2):before {
      padding-top: 85%; }
    @media (max-width: 39.99em) {
      .cs-grid-layout__brick--x2:not(.cs-grid-layout__brick--y2).cs-grid-layout__brick--teaser:before {
        padding-top: 0; } }
    .cs-grid-layout__brick--y2.cs-grid-layout__brick--left {
      float: left; }
    .cs-grid-layout__brick--y2:not(.cs-grid-layout__brick--x2):before {
      padding-top: 340%; }
    @media (max-width: 39.99em) {
      .cs-grid-layout__brick--y2.cs-grid-layout__brick--teaser:before {
        padding-top: 0; } }
    .cs-grid-layout__brick--right {
      float: right; }
    .cs-grid-layout__brick--hidden {
      display: none !important; }
    .cs-grid-layout__brick--teaser {
      display: none; }
      @media (max-width: 39.99em) {
        .cs-grid-layout__brick--teaser:before {
          padding-top: 0; } }
      .cs-grid-layout__brick--teaser-ready {
        display: block; }
  @media (min-width: 30em) {
    .cs-grid-layout--with-sidebar .cs-grid-layout__brick {
      width: calc(100% / 2); }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 {
        width: calc(100% / 2 * 2); } }
  @media (min-width: 40em) {
    .cs-grid-layout--with-sidebar .cs-grid-layout__brick {
      width: calc(100% / 2); }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 {
        width: calc(100% / 2 * 2); } }
  @media (min-width: 48em) {
    .cs-grid-layout--with-sidebar .cs-grid-layout__brick {
      width: calc(100% / 2); }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 {
        width: calc(100% / 2 * 2); } }
  @media (min-width: 64em) {
    .cs-grid-layout--with-sidebar .cs-grid-layout__brick {
      width: calc(100% / 3); }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 {
        width: calc(100% / 3 * 2); } }
  @media (min-width: 80em) {
    .cs-grid-layout--with-sidebar .cs-grid-layout__brick {
      width: calc(100% / 3); }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 {
        width: calc(100% / 3 * 2); } }
  @media (min-width: 90em) {
    .cs-grid-layout--with-sidebar .cs-grid-layout__brick {
      width: calc(100% / 3); }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 {
        width: calc(100% / 3 * 2); } }
  @media (min-width: 120em) {
    .cs-grid-layout--with-sidebar .cs-grid-layout__brick {
      width: calc(100% / 3); }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 {
        width: calc(100% / 3 * 2); } }
  @supports (display: grid) and (grid-auto-flow: row) {
    .cs-grid-layout__grid {
      display: grid;
      grid-template-columns: 1fr;
      grid-template-rows: auto; }
      @media (max-width: 39.99em) {
        .cs-grid-layout__grid {
          grid-template-columns: repeat(2, 1fr); } }
      @media (min-width: 30em) {
        .cs-grid-layout__grid {
          grid-template-columns: repeat(2, 1fr); } }
      @media (min-width: 40em) {
        .cs-grid-layout__grid {
          grid-template-columns: repeat(2, 1fr); } }
      @media (min-width: 48em) {
        .cs-grid-layout__grid {
          grid-template-columns: repeat(3, 1fr); } }
      @media (min-width: 64em) {
        .cs-grid-layout__grid {
          grid-template-columns: repeat(5, 1fr); } }
      @media (min-width: 80em) {
        .cs-grid-layout__grid {
          grid-template-columns: repeat(5, 1fr); } }
      @media (min-width: 90em) {
        .cs-grid-layout__grid {
          grid-template-columns: repeat(5, 1fr); } }
      @media (min-width: 120em) {
        .cs-grid-layout__grid {
          grid-template-columns: repeat(5, 1fr); } }
      @media (min-width: 30em) {
        .cs-grid-layout--with-sidebar .cs-grid-layout__grid {
          grid-template-columns: repeat(2, 1fr); } }
      @media (min-width: 40em) {
        .cs-grid-layout--with-sidebar .cs-grid-layout__grid {
          grid-template-columns: repeat(2, 1fr); } }
      @media (min-width: 48em) {
        .cs-grid-layout--with-sidebar .cs-grid-layout__grid {
          grid-template-columns: repeat(2, 1fr); } }
      @media (min-width: 64em) {
        .cs-grid-layout--with-sidebar .cs-grid-layout__grid {
          grid-template-columns: repeat(3, 1fr); } }
      @media (min-width: 80em) {
        .cs-grid-layout--with-sidebar .cs-grid-layout__grid {
          grid-template-columns: repeat(3, 1fr); } }
      @media (min-width: 90em) {
        .cs-grid-layout--with-sidebar .cs-grid-layout__grid {
          grid-template-columns: repeat(3, 1fr); } }
      @media (min-width: 120em) {
        .cs-grid-layout--with-sidebar .cs-grid-layout__grid {
          grid-template-columns: repeat(3, 1fr); } }
      .cs-grid-layout__grid:after {
        display: none; }
    .cs-grid-layout__brick {
      position: relative; }
      .cs-grid-layout__brick:before {
        content: none; }
      .cs-grid-layout__brick .cs-product-tile {
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        bottom: auto; }
      @media (min-width: 30em) {
        .cs-grid-layout__brick--x2 {
          grid-column-end: span 2; }
        .cs-grid-layout__brick--y2 {
          grid-row-end: span 2; } }
      @media (min-width: 40em) {
        .cs-grid-layout__brick--x2 {
          grid-column-end: span 2; }
        .cs-grid-layout__brick--y2 {
          grid-row-end: span 2; } }
      @media (min-width: 48em) {
        .cs-grid-layout__brick--x2 {
          grid-column-end: span 2; }
        .cs-grid-layout__brick--y2 {
          grid-row-end: span 2; } }
      @media (min-width: 64em) {
        .cs-grid-layout__brick--x2 {
          grid-column-end: span 2; }
        .cs-grid-layout__brick--y2 {
          grid-row-end: span 2; } }
      @media (min-width: 80em) {
        .cs-grid-layout__brick--x2 {
          grid-column-end: span 2; }
        .cs-grid-layout__brick--y2 {
          grid-row-end: span 2; } }
      @media (min-width: 90em) {
        .cs-grid-layout__brick--x2 {
          grid-column-end: span 2; }
        .cs-grid-layout__brick--y2 {
          grid-row-end: span 2; } }
      @media (min-width: 120em) {
        .cs-grid-layout__brick--x2 {
          grid-column-end: span 2; }
        .cs-grid-layout__brick--y2 {
          grid-row-end: span 2; } }
      @media (min-width: 30em) {
        .cs-grid-layout:not(.cs-grid-layout--with-sidebar) .cs-grid-layout__brick:not(.cs-grid-layout__brick--x2) .cs-image-teaser__aspect-ratio {
          padding-top: unset !important; } }
      @media (min-width: 40em) {
        .cs-grid-layout:not(.cs-grid-layout--with-sidebar) .cs-grid-layout__brick:not(.cs-grid-layout__brick--x2) .cs-image-teaser__aspect-ratio {
          padding-top: unset !important; } }
      @media (min-width: 48em) {
        .cs-grid-layout:not(.cs-grid-layout--with-sidebar) .cs-grid-layout__brick:not(.cs-grid-layout__brick--x2) .cs-image-teaser__aspect-ratio {
          padding-top: unset !important; }
        .cs-grid-layout:not(.cs-grid-layout--with-sidebar) .cs-grid-layout__brick--x2 .cs-image-teaser__aspect-ratio {
          padding-top: unset !important; } }
      @media (min-width: 64em) {
        .cs-grid-layout:not(.cs-grid-layout--with-sidebar) .cs-grid-layout__brick:not(.cs-grid-layout__brick--x2) .cs-image-teaser__aspect-ratio {
          padding-top: unset !important; }
        .cs-grid-layout:not(.cs-grid-layout--with-sidebar) .cs-grid-layout__brick--x2 .cs-image-teaser__aspect-ratio {
          padding-top: unset !important; } }
      @media (min-width: 80em) {
        .cs-grid-layout:not(.cs-grid-layout--with-sidebar) .cs-grid-layout__brick:not(.cs-grid-layout__brick--x2) .cs-image-teaser__aspect-ratio {
          padding-top: unset !important; }
        .cs-grid-layout:not(.cs-grid-layout--with-sidebar) .cs-grid-layout__brick--x2 .cs-image-teaser__aspect-ratio {
          padding-top: unset !important; } }
      @media (min-width: 90em) {
        .cs-grid-layout:not(.cs-grid-layout--with-sidebar) .cs-grid-layout__brick:not(.cs-grid-layout__brick--x2) .cs-image-teaser__aspect-ratio {
          padding-top: unset !important; }
        .cs-grid-layout:not(.cs-grid-layout--with-sidebar) .cs-grid-layout__brick--x2 .cs-image-teaser__aspect-ratio {
          padding-top: unset !important; } }
      @media (min-width: 120em) {
        .cs-grid-layout:not(.cs-grid-layout--with-sidebar) .cs-grid-layout__brick:not(.cs-grid-layout__brick--x2) .cs-image-teaser__aspect-ratio {
          padding-top: unset !important; }
        .cs-grid-layout:not(.cs-grid-layout--with-sidebar) .cs-grid-layout__brick--x2 .cs-image-teaser__aspect-ratio {
          padding-top: unset !important; } }
      .cs-grid-layout__brick--x2:not(.cs-grid-layout__brick--y2):before {
        padding-top: 0; }
      .cs-grid-layout__brick--y2:not(.cs-grid-layout__brick--x2):before {
        padding-top: 0; }
      .cs-grid-layout__brick, .cs-grid-layout__brick--teaser-ready {
        width: 100% !important;
        display: block; }
      @media (max-width: 29.99em) {
        .cs-grid-layout__brick--teaser-ready {
          grid-column-start: 1 !important; } }
      .cs-grid-layout__brick--right {
        float: none; }
    @media (min-width: 30em) {
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 {
        grid-column-end: span 2; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--y2 {
        grid-row-end: span 2; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick:not(.cs-grid-layout__brick--x2) .cs-image-teaser__aspect-ratio {
        padding-top: unset !important; } }
    @media (min-width: 40em) {
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 {
        grid-column-end: span 2; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--y2 {
        grid-row-end: span 2; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick:not(.cs-grid-layout__brick--x2) .cs-image-teaser__aspect-ratio {
        padding-top: unset !important; } }
    @media (min-width: 48em) {
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 {
        grid-column-end: span 2; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--y2 {
        grid-row-end: span 2; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick:not(.cs-grid-layout__brick--x2) .cs-image-teaser__aspect-ratio {
        padding-top: unset !important; } }
    @media (min-width: 64em) {
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 {
        grid-column-end: span 2; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--y2 {
        grid-row-end: span 2; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick:not(.cs-grid-layout__brick--x2) .cs-image-teaser__aspect-ratio {
        padding-top: unset !important; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 .cs-image-teaser__aspect-ratio {
        padding-top: unset !important; } }
    @media (min-width: 80em) {
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 {
        grid-column-end: span 2; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--y2 {
        grid-row-end: span 2; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick:not(.cs-grid-layout__brick--x2) .cs-image-teaser__aspect-ratio {
        padding-top: unset !important; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 .cs-image-teaser__aspect-ratio {
        padding-top: unset !important; } }
    @media (min-width: 90em) {
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 {
        grid-column-end: span 2; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--y2 {
        grid-row-end: span 2; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick:not(.cs-grid-layout__brick--x2) .cs-image-teaser__aspect-ratio {
        padding-top: unset !important; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 .cs-image-teaser__aspect-ratio {
        padding-top: unset !important; } }
    @media (min-width: 120em) {
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 {
        grid-column-end: span 2; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--y2 {
        grid-row-end: span 2; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick:not(.cs-grid-layout__brick--x2) .cs-image-teaser__aspect-ratio {
        padding-top: unset !important; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 .cs-image-teaser__aspect-ratio {
        padding-top: unset !important; } } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-headline {
  font-size: 1rem;
  clear: both;
  padding: 2em 0;
  margin: 2em 0;
  margin: 0;
  padding: 0;
  margin: 0 0 3rem; }
  @media (min-width: 48em) {
    .cs-headline {
      margin: 0 0 4rem; } }
  .cs-headline--skip-spacing {
    margin: 0; }
  .cs-headline__title {
    display: block;
    text-align: center;
    align-items: center;
    margin: 0;
    font-size: 2.6em;
    font-weight: 700;
    color: #212121;
    text-transform: none; }
    @media (min-width: 48em) {
      .cs-headline__title {
        display: flex; } }
  .cs-headline__subtitle {
    color: #6E6E6E;
    font-size: 1.3em;
    font-weight: 400;
    text-transform: none;
    margin: 0;
    display: none;
    text-align: center; }
    @media (min-width: 48em) {
      .cs-headline__subtitle {
        display: block; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Mixins for flexible containers declaration.
 */
/**
 * Defines page container. This mixin makes sure that the content has always equal padding
 * for mobile screens on both size of the device.
 */
/**
 * Negates parent container's padding and sets it own.
 * Somethimes this has to be done to make background even to other containers' content.
 */
/**
 * Defines container wrapper that makes sure contnet doesn't extend above certain width and is always centered.
 */
.cs-container--header-container {
  background: url("../images/header-bg-image.jpg") no-repeat;
  background-position: center;
  background-size: cover; }

.cs-container--top-bar, .cs-container--header {
  max-width: 1420px;
  margin: 0 auto;
  padding: 0 15px; }
  @media (max-width: 63.99em) {
    .cs-container--top-bar, .cs-container--header {
      padding: 0; } }

.cs-container__navigation-inner {
  max-width: 1440px;
  margin: 0 auto; }

.cs-header {
  font-size: 1rem; }
  @media (max-width: 63.99em) {
    .cs-header {
      padding-bottom: 6px;
      margin-bottom: 71px; } }
  .cs-header__content {
    z-index: 300;
    display: flex;
    align-items: center;
    justify-content: space-between;
    will-change: z-index, height, position;
    background-color: transparent;
    position: relative;
    max-width: 100vw;
    flex-wrap: nowrap; }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-header__content {
    padding: 0 8px; } }
    @media (max-width: 48em) {
      .cs-header__content .cs-header__offcanvas-toggle {
        order: 1; }
      .cs-header__content .cs-header__logo {
        order: 2; }
      .cs-header__content .cs-header-user-nav {
        order: 3; } }
  .cs-header__offcanvas-toggle {
    height: 100%;
    flex: 0 1 55px; }
    @media (min-width: 48em) {
      .cs-header__offcanvas-toggle {
        flex: 0 1 75px; }
        .cs-header__offcanvas-toggle .cs-offcanvas-toggle {
          width: 55px; } }
    @media (min-width: 64em) {
      .cs-header__offcanvas-toggle {
        display: none; } }
  .cs-header__logo {
    display: flex;
    margin-bottom: 0;
    padding: 0;
    margin-top: 0; }
    @media (max-width: 63.99em) {
      .cs-header__logo {
        align-items: center;
        justify-content: center; } }
    @media (min-width: 64em) {
      .cs-header__logo {
        padding: 0;
        margin-top: -13px;
        max-width: 260px;
        width: 25vw; } }
    @media (max-width: 63.99em) {
      .cs-header__logo .cs-logo {
        max-width: 195px;
        margin-top: 0; } }
    @media (max-width: 47.99em) {
      .cs-header__logo .cs-logo {
        max-width: 150px;
        margin-top: 10px; } }
    .page-print .cs-header__logo {
      max-width: 124rem;
      width: 100%;
      margin: 0 auto;
      position: relative;
      height: auto;
      padding: 2rem 0; }
      .page-print .cs-header__logo:after {
        content: '';
        display: table;
        clear: both; }
    .cs-header__logo .cs-logo__image {
      height: auto;
      width: 100%; }
      @media (min-width: 64.01em) {
        .cs-header__logo .cs-logo__image {
          margin-top: 10px; } }
  .cs-header__search {
    display: block;
    width: 100%;
    background-color: #6E6E6E;
    padding: 1.6rem 1.5rem;
    position: absolute;
    top: 60px;
    left: 0;
    right: 0;
    z-index: 300;
    margin-right: -6.8rem; }
    @media (min-width: 48em) {
      .cs-header__search {
        top: 64px; } }
    @media (min-width: 64em) {
      .cs-header__search {
        flex-grow: 1;
        width: auto;
        padding: 0 55px 0 50px;
        position: initial;
        margin-left: 0 !important;
        justify-content: flex-end;
        background: transparent; }
        .ie11 .cs-header__search {
          position: inherit;
          top: inherit; } }
    .cs-header__search--active {
      display: flex; }
    @media (min-width: 64em) {
      .cs-header__search {
        display: flex; } }
    @media (min-width: 64em) {
      .cs-header__search {
        position: relative;
        top: initial; } }
    @media (min-width: 64em) {
      .cs-header__search {
        margin: 0; } }
  .cs-header__user-nav {
    display: flex;
    justify-content: flex-end;
    flex: 0 1 75px; }
    @media (min-width: 64em) {
      .cs-header__user-nav {
        flex: 0 1 25%; } }
  .cs-header .top-links__phone-icon {
    letter-spacing: 0.4px;
    background: url("../images/icons/telephone66.svg") no-repeat;
    background-size: 18px;
    background-position: left 49%;
    font-size: 23px;
    font-weight: bold;
    text-transform: uppercase;
    color: #ffffff;
    line-height: 28px;
    padding: 20px 22px 20px 25px; }
    @media (max-width: 63.99em) {
      .cs-header .top-links__phone-icon {
        display: none; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-header-search {
  width: 100%;
  position: relative; }
  .cs-header-search .filler {
    display: inline-block;
    width: 2px;
    height: 10px;
    background-color: transparent; }
  @media (min-width: 64em) {
    .cs-header-search {
      max-width: 605px; } }
  @media (min-width: 64em) {
    .cs-header-search {
      width: 100%;
      min-width: 35vw; } }
  .cs-header-search__field {
    position: relative;
    border-radius: 25px; }
    .active-popup .cs-header-search__field:before, .active-popup .cs-header-search__field:after {
      opacity: 1; }
  .cs-header-search__input {
    font-size: 1.3rem;
    line-height: 1.275em;
    padding: 11px 10px;
    color: #212121;
    background: #ffffff;
    border-radius: 3px;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    transition: border-color 0.5s;
    margin: 0 0 0.2em;
    width: 100%;
    max-height: 40px;
    background-clip: padding-box;
    font-family: inherit;
    padding: 1.2rem 1rem;
    background-image: url("../images/icons/search19.svg");
    background-repeat: no-repeat;
    background-size: 15px;
    background-position: 20px center;
    font-size: 1.2rem;
    border-radius: 25px;
    position: relative;
    z-index: 210;
    margin: 0;
    padding-left: 43px;
    padding-right: 110px;
    -webkit-appearance: none; }
    .cs-header-search__input:hover:not([disabled]), .cs-header-search__input:focus:not([disabled]) {
      border: 1px solid #FF4604;
      box-shadow: none; }
    .cs-header-search__input::-moz-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .cs-header-search__input:-ms-input-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .cs-header-search__input::-ms-input-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .cs-header-search__input::placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .cs-header-search__input[disabled] {
      opacity: 0.65; }
    .ajax-loading .cs-header-search__input:focus + .cs-header-search__action .cs-header-search__button-container--search {
      transform: translateX(100%);
      opacity: 0; }
    .ajax-loading .cs-header-search__input:focus + .cs-header-search__action .cs-header-search__button-container--loader {
      transform: translateX(0);
      opacity: 1; }
  .cs-header-search__action {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 220;
    overflow: hidden;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top-right-radius: 25px;
    border-bottom-right-radius: 25px; }
  .cs-header-search__close-icon {
    width: 1.5rem;
    height: 1.5rem;
    margin-right: 1rem;
    display: none;
    opacity: 0.6;
    transition: opacity 0.3s linear; }
    .cs-header-search__close-icon:hover {
      cursor: pointer;
      opacity: 1; }
    .cs-header-search__close-icon path {
      fill: #3E3E3E; }
  .cs-header-search__close-label {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }
  .cs-header-search__button-container {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    transition: transform 0.5s cubic-bezier(0, 0.66, 0.32, 0.99), opacity 0.15s linear; }
    .cs-header-search__button-container--search {
      transform: translateX(0); }
    .cs-header-search__button-container--loader {
      transform: translateX(100%); }
  .cs-header-search__button {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: uppercase;
    border-radius: 25px;
    font-family: "Red Hat Display";
    padding: 8px 25px;
    font-size: 1.2rem;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    will-change: transform, background-color, border-color, fill, color;
    width: 105px;
    height: 100%;
    overflow: hidden;
    position: relative;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    border-radius: 0 !important;
    border-bottom-right-radius: 25px;
    border-top-right-radius: 25px;
    padding-right: 20px; }
    .cs-header-search__button.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .cs-header-search__button.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .cs-header-search__button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-header-search__button, .cs-header-search__button:visited {
      cursor: pointer;
      border-radius: 25px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF4604; }
      .cs-header-search__button *, .cs-header-search__button:visited * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-header-search__button:hover:not([disabled]), .cs-header-search__button:focus:not([disabled]), .cs-header-search__button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF7442; }
      .cs-header-search__button:hover:not([disabled]) *, .cs-header-search__button:focus:not([disabled]) *, .cs-header-search__button:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-header-search__button[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .cs-header-search__button[disabled] {
      opacity: 0.7; }
  .cs-header-search__button-icon {
    transform: skew(18deg) translateX(-0.3rem); }
    .cs-header-search__button-icon--search {
      display: none; }
    .cs-header-search__button-icon--loader {
      stroke: #ffffff;
      width: 3.2rem;
      height: 3.2rem; }
  .cs-header-search__button-label {
    text-transform: uppercase;
    font-size: 13px;
    margin-left: -4px; }
  .cs-header-search__autocomplete {
    width: 100vw;
    left: 0;
    right: 0; }
    .cs-header-search__autocomplete .old-price {
      margin-right: 10px; }
    @media (max-width: 47.99em) {
      .cs-header-search__autocomplete {
        max-height: calc( 100vh - 5rem - 1.275em - 7rem);
        overflow-y: auto; } }
    @media (min-width: 64em) {
      .cs-header-search__autocomplete {
        margin-top: 0;
        left: 50%;
        transform: translateX(-50%);
        box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.17);
        border: 0;
        width: 100%; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-header-user-nav {
  list-style: none;
  margin: 0;
  padding: 0;
  height: 100%; }
  @media (min-width: 64em) {
    .cs-header-user-nav {
      padding: 0 18px 0 0;
      min-width: 360px; } }
  .cs-header-user-nav__item {
    margin-bottom: 0;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0; }
    .cs-header-user-nav__item--search {
      display: none; }
  .cs-header-user-nav__link {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    padding: 0; }
    @media (min-width: 64em) {
      .cs-header-user-nav__link {
        padding: 17px 0 20px 20px; } }
    .cs-header-user-nav__link:hover {
      text-decoration: none; }
      .cs-header-user-nav__link:hover .cs-header-user-nav__icon path {
        fill: #FF4604; }
      .cs-header-user-nav__link:hover .cs-header-user-nav__label {
        color: #FF4604; }
    .cs-header-user-nav__link--search:hover {
      cursor: pointer; }
    @media (max-width: 63.99em) {
      .cs-header-user-nav__link.showcart {
        padding-right: 18px; }
        .cs-header-user-nav__link.showcart .cs-header-user-nav__label {
          font-size: 0; }
          .cs-header-user-nav__link.showcart .cs-header-user-nav__label > span {
            font-size: 1.2rem; } }
    @media (max-width: 47.99em) {
      .cs-header-user-nav__link.showcart {
        padding-right: 15px; } }
  .cs-header-user-nav__icon-wrapper {
    position: relative; }
  .cs-header-user-nav__icon {
    width: 2.6rem;
    height: 2.6rem;
    display: block;
    margin: 0 auto; }
    .cs-header-user-nav__icon path {
      fill: #FF4604; }
  .cs-header-user-nav__label {
    text-transform: uppercase;
    font-size: 15px;
    font-weight: 600;
    margin: 4px 0 0 12px;
    color: #ffffff;
    text-decoration: none;
    display: block;
    vertical-align: middle; }
    @media (max-width: 63.99em) {
      .cs-header-user-nav__label {
        margin: 4px 0 0 6px; } }
  .cs-header-user-nav__qty-counter--wishlist {
    color: #ffffff; }
  .cs-header-user-nav__qty-counter--minicart {
    color: #ffffff; }
  .cs-header-user-nav__qty-counter--have-items {
    opacity: 1; }
  .cs-header-user-nav__qty-counter-span {
    min-width: 1ch; }

.cs-topbar__wrapper .cs-header-user-nav__link {
  padding: 0;
  margin: 0; }

.cs-topbar__wrapper .cs-header-user-nav__icon-wrapper {
  background-color: #ffffff;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  border-radius: 25px;
  margin-top: 10px;
  padding: 0 15px; }
  @media (min-width: 64em) {
    .cs-topbar__wrapper .cs-header-user-nav__icon-wrapper {
      margin-top: 14px; } }

.cs-topbar__wrapper .cs-header-user-nav__label {
  color: #000;
  font-size: 13px;
  text-transform: uppercase;
  line-height: 24px;
  font-weight: bold;
  margin: 1px 0 1px 7px; }
  @media (min-width: 64em) {
    .cs-topbar__wrapper .cs-header-user-nav__label {
      margin: 3px 0 2px 10px; } }

.cs-topbar__wrapper .cs-header-user-nav__icon {
  width: 15px;
  height: 17px;
  display: block;
  margin: 0 auto; }
  .cs-topbar__wrapper .cs-header-user-nav__icon path {
    fill: #000; }

.lazyload,
.lazyloading,
.swiper-lazy {
  opacity: 0.001; }

.lazyloaded,
.swiper-lazy-loaded {
  opacity: 1;
  transition: opacity 0.2s; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-links-block-addto {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%; }
  .page-product-bundle .cs-links-block-addto {
    margin-top: 1rem; }
  .cs-product-tile__addon .cs-links-block-addto {
    padding-top: 0; }
  .cs-links-block-addto--centered {
    justify-content: center; }
  .cs-links-block-addto__item {
    margin: 0; }
    .cs-links-block-addto__item + .cs-links-block-addto__item {
      margin-top: 0.5rem; }
    .cs-links-block-addto__item:nth-child(2n) {
      text-align: right; }
      .cs-links-block-addto__item:nth-child(2n) .cs-links-block-addto__icon {
        order: 2;
        margin-left: 0.5rem; }
  .cs-links-block-addto__link {
    display: flex;
    align-items: center;
    font-size: 1.2rem;
    color: #FF7442;
    transition: color 0.15s linear; }
    .cs-links-block-addto__link:hover {
      color: #FF7442;
      text-decoration: none; }
  .cs-links-block-addto__icon {
    width: 1.375em;
    height: 1.375em;
    margin-right: 0.4rem; }
    .cs-links-block-addto__icon path {
      fill: #6E6E6E; }
    .cs-links-block-addto__icon--wishlist path {
      fill: #CC1C3A; }
    .cs-links-block-addto__icon--compare path {
      fill: #FF4604; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-logo {
  height: 100%; }
  .cs-logo__image {
    height: 100%; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.messages {
  max-width: 124rem;
  width: 100%;
  margin: 0 auto; }

.cs-messages__message,
.message {
  margin: 1rem 0;
  padding: 1rem 1rem 1.2rem;
  border-radius: 0;
  background-repeat: no-repeat;
  background-position: 1.5rem center;
  background-size: 1.5rem 1.5rem;
  padding-left: 4.3rem; }

.cs-messages__message--success,
.message.success {
  background-color: transparent;
  background-image: url("../images/messages/success.svg");
  border: 1.5px solid #A9C546;
  background-size: 1.9rem 1.9rem; }
  .cs-messages__message--success .cs-messages__text,
  .cs-messages__message--success span,
  .message.success .cs-messages__text,
  .message.success span {
    color: #A9C546; }

.cs-messages__message--notice,
.message.warning {
  background-color: transparent;
  background-image: url("../images/messages/warning.svg");
  border: 1.5px solid #FF7442;
  background-position: 1.6rem center;
  background-size: 1.6rem 1.6rem; }
  .cs-messages__message--notice .cs-messages__text,
  .cs-messages__message--notice span,
  .message.warning .cs-messages__text,
  .message.warning span {
    color: #FF7442; }

.cs-messages__message--info,
.message.info,
.message.notice {
  background-color: transparent;
  background-image: url("../images/messages/info.svg");
  border: 1.5px solid #4A90E2;
  background-position: 1.6rem center;
  background-size: 1.5rem 1.5rem; }
  .cs-messages__message--info .cs-messages__text,
  .cs-messages__message--info span,
  .message.info .cs-messages__text,
  .message.info span,
  .message.notice .cs-messages__text,
  .message.notice span {
    color: #4A90E2; }

.cs-messages__message--error,
.message.error {
  background-color: transparent;
  background-image: url("../images/messages/remove.svg");
  border: 1.5px solid #CC1C3A; }
  .cs-messages__message--error .cs-messages__text,
  .cs-messages__message--error span,
  .message.error .cs-messages__text,
  .message.error span {
    color: #CC1C3A; }

.cs-messages__text,
.message span {
  font-size: 1.6rem; }
  @media (max-width: 48em) {
    .cs-messages__text,
    .message span {
      line-height: 20px; } }

.cs-messages--space-top {
  margin-top: 1.5rem; }

.increment-notification {
  margin-top: 15px;
  display: inline-block;
  line-height: 20px;
  max-width: 100%;
  width: 100%;
  background-position: 1.6rem 1.2rem !important; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/* prettier-ignore */
.cs-minicart__close {
  display: inline-block;
  background: none;
  box-sizing: content-box;
  border: 0;
  box-shadow: none;
  line-height: inherit;
  margin: 0;
  padding: 0;
  text-decoration: none;
  text-shadow: none;
  font-weight: 400;
  position: absolute;
  right: -1.5rem;
  width: 5rem;
  height: 3rem;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer; }
  .cs-minicart__close:focus, .cs-minicart__close:active, .cs-minicart__close:hover {
    background: transparent;
    border: none;
    color: inherit; }
  .cs-minicart__close:before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 5rem;
    line-height: 3rem;
    color: inherit;
    content: '\e616';
    /* stylelint-disable-next-line */
    font-family: 'icons-blank-theme';
    margin: 0;
    vertical-align: top;
    display: inline-block;
    font-weight: normal;
    overflow: hidden;
    speak: none;
    text-align: center; }

.cs-minicart__close-text {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

.cs-minicart__title-wrapper {
  position: relative;
  padding: 2rem 0;
  display: flex;
  color: #212121;
  font-weight: 700;
  font-size: 1.8rem;
  margin: 0; }

.cs-minicart__items-total {
  margin-left: 0.5rem; }
  .cs-minicart__items-total:before {
    content: '('; }
  .cs-minicart__items-total:after {
    content: ')'; }

.cs-minicart__edit-link {
  font-weight: 700; }
  .cs-minicart__edit-link .cs-link__icon {
    padding: 0 0 0 1rem; }

.cs-minicart__content {
  height: auto !important;
  background-color: #ffffff;
  position: relative; }
  .cs-minicart__content .load.indicator:before {
    height: unset; }

.cs-minicart__list {
  padding: 0;
  list-style: none;
  margin-bottom: 0; }
  .cs-minicart__list--scroll {
    height: auto !important;
    max-height: calc(100vh - 36rem);
    overflow-y: auto; }
    @media (min-width: 48em) {
      .cs-minicart__list--scroll {
        max-height: calc(100vh - 38rem); }
        .is-tablet .cs-minicart__list--scroll {
          max-height: calc(100vh - 43rem); } }

.cs-minicart__list-item {
  padding: 1.5rem 0;
  border-bottom: 1px solid #dcdcdc;
  margin-bottom: 0; }
  .cs-minicart__list-item:last-child {
    border-bottom: none; }

.cs-minicart__actions-wrapper {
  padding: 2rem 0;
  position: relative; }

.cs-minicart__actions {
  margin-top: 1rem; }
  .cs-minicart__actions:first-child {
    margin-top: 0; }
  .cs-minicart__actions .viewcart:visited {
    color: #FF7442; }

.cs-minicart__empty {
  padding: 2rem 0;
  display: inline-block;
  font-size: 1.4rem;
  text-align: center; }

.cs-minicart__subtotal {
  font-weight: 700;
  font-size: 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.2rem; }

.cs-minicart__subtotal-price .price {
  font-weight: 700;
  font-size: 1.5rem !important; }

.cs-minicart__button-checkout {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: uppercase;
  border-radius: 25px;
  font-family: "Red Hat Display";
  padding: 8px 25px;
  font-size: 1.2rem;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5;
  will-change: transform, background-color, border-color, fill, color;
  padding: 13px 14px;
  width: 100%; }
  .cs-minicart__button-checkout.medium {
    padding: 11px 25px;
    font-size: 1.4rem; }
  .cs-minicart__button-checkout.large {
    padding: 13px 25px;
    font-size: 1.6rem; }
  .cs-minicart__button-checkout::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .cs-minicart__button-checkout, .cs-minicart__button-checkout:visited {
    cursor: pointer;
    border-radius: 25px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #4A90E2;
    border-radius: 25px;
    font-size: 1.6rem;
    position: relative; }
    .cs-minicart__button-checkout span, .cs-minicart__button-checkout:visited span {
      position: relative;
      z-index: 3; }
    .cs-minicart__button-checkout:before, .cs-minicart__button-checkout:visited:before {
      background-color: #4A90E2;
      border: 1px solid #4A90E2;
      height: 100%;
      content: '';
      display: block;
      width: 100%;
      position: absolute;
      top: 0;
      left: 0;
      border-radius: 25px;
      z-index: 2; }
    .cs-minicart__button-checkout:after, .cs-minicart__button-checkout:visited:after {
      background-color: #4980C1;
      height: 100%;
      content: '';
      display: block;
      width: 100%;
      position: absolute;
      top: 4px;
      left: 0;
      border-radius: 25px;
      z-index: 1; }
    .cs-minicart__button-checkout *, .cs-minicart__button-checkout:visited * {
      color: #ffffff;
      fill: #ffffff; }
  .cs-minicart__button-checkout:hover:not([disabled]), .cs-minicart__button-checkout:focus:not([disabled]), .cs-minicart__button-checkout:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #4980C1; }
    .cs-minicart__button-checkout:hover:not([disabled]):after, .cs-minicart__button-checkout:focus:not([disabled]):after, .cs-minicart__button-checkout:active:not([disabled]):after {
      top: 2px; }
    .cs-minicart__button-checkout:hover:not([disabled]):before, .cs-minicart__button-checkout:focus:not([disabled]):before, .cs-minicart__button-checkout:active:not([disabled]):before {
      border: 1px solid #4980C1;
      background-color: #4980C1; }
    .cs-minicart__button-checkout:hover:not([disabled]) *, .cs-minicart__button-checkout:focus:not([disabled]) *, .cs-minicart__button-checkout:active:not([disabled]) * {
      color: #ffffff;
      fill: #ffffff; }
  .cs-minicart__button-checkout[disabled] {
    opacity: 0.65;
    cursor: auto; }
  .cs-minicart__button-checkout-span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    /* stylelint-disable-next-line */ }
  .cs-minicart__button-checkout-icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    display: none;
    /* stylelint-disable-next-line */ }

.cs-minicart__button-viewcart {
  border: none;
  text-align: center;
  width: 100%;
  text-transform: uppercase;
  font-weight: bold;
  display: block;
  font-size: 12px;
  margin-top: 20px;
  color: #000; }
  .cs-minicart__button-viewcart-icon {
    display: none; }
  .cs-minicart__button-viewcart:hover, .cs-minicart__button-viewcart:active {
    color: #000;
    text-decoration: underline; }

.cs-minicart__button-carousel {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: uppercase;
  border-radius: 25px;
  font-family: "Red Hat Display";
  padding: 8px 25px;
  font-size: 1.2rem;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5;
  will-change: transform, background-color, border-color, fill, color; }
  .cs-minicart__button-carousel-wrapper {
    display: flex;
    justify-content: center;
    padding-top: 3rem;
    margin: 3rem 0;
    border-top: 1px solid #dcdcdc; }
  .cs-minicart__button-carousel.medium {
    padding: 11px 25px;
    font-size: 1.4rem; }
  .cs-minicart__button-carousel.large {
    padding: 13px 25px;
    font-size: 1.6rem; }
  .cs-minicart__button-carousel::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .cs-minicart__button-carousel, .cs-minicart__button-carousel:visited {
    cursor: pointer;
    border-radius: 25px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #000; }
    .cs-minicart__button-carousel *, .cs-minicart__button-carousel:visited * {
      color: #ffffff;
      fill: #FF4604; }
  .cs-minicart__button-carousel:hover:not([disabled]), .cs-minicart__button-carousel:focus:not([disabled]), .cs-minicart__button-carousel:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #3E3E3E; }
    .cs-minicart__button-carousel:hover:not([disabled]) *, .cs-minicart__button-carousel:focus:not([disabled]) *, .cs-minicart__button-carousel:active:not([disabled]) * {
      color: #ffffff;
      fill: #ffffff; }
  .cs-minicart__button-carousel[disabled] {
    opacity: 0.65;
    cursor: auto; }
  .cs-minicart__button-carousel-span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    padding-right: 4em;
    /* stylelint-disable-next-line */ }
  .cs-minicart__button-carousel-icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    margin-right: 0;
    right: 1em;
    /* stylelint-disable-next-line */ }

.cs-minicart__messages {
  padding: 0 2rem; }

.cs-minicart-offcanvas__wrapper {
  padding: 0; }

.cs-minicart__carousel-spinner {
  display: none; }

.minicart-wrapper .ui-dialog {
  position: absolute;
  top: 100%;
  right: 0.5rem;
  z-index: 99999; }
  @media (min-width: 64em) {
    .minicart-wrapper .ui-dialog {
      right: -1rem; } }
  @media (min-width: 80em) {
    .minicart-wrapper .ui-dialog {
      top: calc( 100% - ( ( 11rem - 8.3rem ) / 2 )); } }

.minicart-wrapper .block-minicart {
  background: #ffffff;
  box-shadow: 0 0 21px 0 rgba(0, 0, 0, 0.27);
  border: none;
  width: 31rem;
  right: 0;
  margin: 0;
  padding: 0 2rem;
  position: relative; }
  @media (min-width: 40em) {
    .minicart-wrapper .block-minicart {
      width: 40rem; } }
  .minicart-wrapper .block-minicart:before {
    display: none; }
  .minicart-wrapper .block-minicart:after {
    content: '';
    position: absolute;
    width: 1.5rem;
    height: 1.5rem;
    background: #ffffff;
    transform: rotate(45deg);
    top: -0.8rem;
    right: 1.5rem;
    left: auto; }
    @media (min-width: 64em) {
      .minicart-wrapper .block-minicart:after {
        right: 4.5rem; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
.cs-minicart-product {
  display: flex; }
  .cs-minicart-product__image-container {
    flex-shrink: 0;
    margin-right: 1rem; }
    .cs-minicart-product__image-container img {
      width: auto !important;
      height: auto !important; }
  .cs-minicart-product__image {
    max-height: 100%;
    width: auto; }
  .cs-minicart-product__overview {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: baseline; }
  .cs-minicart-product__details {
    width: 100%; }
  .cs-minicart-product__brand-wrapper {
    text-align: left; }
  .cs-minicart-product__brand {
    font-size: 1.2rem;
    color: #3E3E3E; }
  .cs-minicart-product__name-wrapper {
    flex-basis: 55%;
    padding-bottom: 1.2rem;
    text-align: left;
    font-size: 1.3rem; }
    @media (min-width: 40em) {
      .cs-minicart-product__name-wrapper {
        flex-basis: 70%; } }
  .cs-minicart-product__name {
    width: 100%;
    padding: 0;
    margin-top: 0;
    font-size: inherit;
    text-decoration: none;
    color: #212121;
    font-weight: 600; }
    .cs-minicart-product__name:visited, .cs-minicart-product__name:hover {
      text-decoration: none;
      color: #212121; }
  .cs-minicart-product__price .price {
    font-size: 1.3rem;
    font-weight: 700;
    color: #212121; }
  .cs-minicart-product__price-label, .cs-minicart-product__options-subtitle {
    display: none; }
  .cs-minicart-product__options-title {
    font-size: 1.2rem;
    color: #484848;
    cursor: pointer; }
    .cs-minicart-product__options-title[aria-expanded='true'] > .cs-minicart-product__options-title-svg {
      transform: rotate(180deg);
      vertical-align: initial; }
  .cs-minicart-product__options-title-svg {
    width: 1rem;
    height: 1rem;
    margin-left: 0.5rem;
    transition: transform 0.3s cubic-bezier(0, 0.66, 0.32, 0.99);
    vertical-align: middle; }
  .cs-minicart-product__options-wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    margin-top: -0.4rem;
    flex-basis: 100%; }
  .cs-minicart-product__options-group {
    margin: 0;
    width: 100%;
    display: flex;
    align-items: center; }
    .cs-minicart-product__options-group--qty {
      margin-top: 0.5rem; }
      .cs-minicart-product__options-wrapper + .cs-minicart-product__options-group--qty {
        margin-top: 1.5rem; }
  .cs-minicart-product__options-content {
    width: 100%; }
  .cs-minicart-product__options-label {
    font-size: 1.2rem;
    color: #3E3E3E;
    font-weight: 400;
    margin-bottom: 0;
    text-align: left;
    padding-right: 0.5rem; }
    .cs-minicart-product__options-label:after {
      content: ':'; }
  .cs-minicart-product__options-value {
    font-size: 1.2rem;
    color: #3E3E3E;
    margin-bottom: 0;
    width: 100%; }
    .cs-minicart-product__options-value__value {
      display: flex;
      justify-content: space-between;
      width: 100%; }
      .cs-minicart-product__options-value__value .price {
        color: #212121; }
  .cs-minicart-product__actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding-top: 1.2rem; }
  .cs-minicart-product__action-wrapper {
    margin-left: 1rem; }
  .cs-minicart-product__qty,
  .cs-minicart-product .cs-qty-increment {
    display: flex;
    flex: 1 0 9rem;
    flex-wrap: nowrap; }
  .cs-minicart-product__qty-label {
    display: none; }
  .cs-minicart-product__qty-input {
    font-size: 1.3rem;
    line-height: 1.275em;
    padding: 11px 10px;
    color: #212121;
    background: #ffffff;
    border-radius: 3px;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    transition: border-color 0.5s;
    margin: 0 0 0.2em;
    width: 100%;
    max-height: 40px;
    background-clip: padding-box;
    font-family: inherit;
    padding: 0;
    text-align: center;
    box-sizing: border-box;
    margin-bottom: 0;
    height: 3rem;
    width: 4rem;
    max-width: 4rem;
    font-size: 1.2rem; }
    .cs-minicart-product__qty-input:hover:not([disabled]), .cs-minicart-product__qty-input:focus:not([disabled]) {
      border: 1px solid #FF4604;
      box-shadow: none; }
    .cs-minicart-product__qty-input::-moz-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .cs-minicart-product__qty-input:-ms-input-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .cs-minicart-product__qty-input::-ms-input-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .cs-minicart-product__qty-input::placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .cs-minicart-product__qty-input[disabled] {
      opacity: 0.65; }
  .cs-minicart-product__qty-button {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: uppercase;
    border-radius: 25px;
    font-family: "Red Hat Display";
    padding: 8px 25px;
    font-size: 1.2rem;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    will-change: transform, background-color, border-color, fill, color;
    padding: 0;
    width: 3rem;
    height: 3rem;
    margin-left: 0.5rem; }
    .cs-minicart-product__qty-button.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .cs-minicart-product__qty-button.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .cs-minicart-product__qty-button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-minicart-product__qty-button, .cs-minicart-product__qty-button:visited {
      cursor: pointer;
      border-radius: 25px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF4604; }
      .cs-minicart-product__qty-button *, .cs-minicart-product__qty-button:visited * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-minicart-product__qty-button:hover:not([disabled]), .cs-minicart-product__qty-button:focus:not([disabled]), .cs-minicart-product__qty-button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF7442; }
      .cs-minicart-product__qty-button:hover:not([disabled]) *, .cs-minicart-product__qty-button:focus:not([disabled]) *, .cs-minicart-product__qty-button:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-minicart-product__qty-button[disabled] {
      opacity: 0.65;
      cursor: auto; }
  .cs-minicart-product__qty-button-span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    display: none; }
  .cs-minicart-product__qty-button-icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: relative;
    top: 0.1em; }
  .cs-minicart-product__action:hover .cs-minicart-product__options-title-svg *,
  .cs-minicart-product__action:hover .cs-minicart-product__action-icon *, .cs-minicart-product__options-title:hover .cs-minicart-product__options-title-svg *,
  .cs-minicart-product__options-title:hover .cs-minicart-product__action-icon * {
    fill: #000; }
  .cs-minicart-product__action-icon {
    width: 1.6rem;
    height: 1.6rem; }
  .cs-minicart-product__action-icon *, .cs-minicart-product__options-title-svg * {
    fill: #000; }
  .cs-minicart-product__action-label {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-free-shipping-indicator__content {
  border-top: 1px solid #dcdcdc;
  padding: 1.5rem 2rem 2rem;
  color: #696969;
  font-size: 1.4rem;
  text-align: left; }

.cs-free-shipping-indicator__cell {
  padding-top: 1.4rem;
  padding-bottom: 1.4rem;
  padding-right: 0 !important; }

.cs-free-shipping-indicator__total-left-text span {
  font-weight: 700; }

.cs-free-shipping-indicator__total-fulfilled {
  padding-left: 2.8rem;
  background: url("../images/icons/messages/icon-success.svg") 0 50% no-repeat;
  background-size: 2rem; }

.cs-free-shipping-indicator__bar-wrapper {
  display: flex;
  align-items: center; }

.cs-free-shipping-indicator__bar-label {
  flex-shrink: 0;
  color: #A9C546;
  font-weight: 700; }
  .cs-free-shipping-indicator__bar-label--start {
    margin-right: 1rem; }
  .cs-free-shipping-indicator__bar-label--end {
    margin-left: 1rem; }

.cs-free-shipping-indicator__bar {
  width: 100%;
  height: 2rem;
  padding: 0.4rem;
  border: 1px solid #b0b0b0;
  border-radius: 4.2px; }

.cs-free-shipping-indicator__bar-progress-wrapper {
  height: 100%;
  background: transparent;
  border-radius: 3px; }

.cs-free-shipping-indicator__bar-progress {
  height: 100%;
  width: 0;
  background: #A9C546;
  border-radius: 3px;
  transition: width 0.55s cubic-bezier(0, 0.66, 0.32, 0.99); }

.cs-free-shipping-indicator__icon {
  flex-shrink: 0;
  width: 3.4rem;
  height: 2rem;
  margin: 0 0 0 2.5rem;
  fill: #6E6E6E;
  transition: fill 0.3s; }
  .cs-free-shipping-indicator__bar-wrapper--free-shipping-active .cs-free-shipping-indicator__icon {
    fill: #A9C546; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable no-descending-specificity */
.modal-slide.confirm .modal-inner-wrap,
.modal-popup.confirm .modal-inner-wrap,
.modal-custom.confirm .modal-inner-wrap {
  max-width: 50rem; }

.modal-slide .modal-inner-wrap,
.modal-popup .modal-inner-wrap,
.modal-custom .modal-inner-wrap {
  background: #ffffff;
  box-shadow: 1px 3px 3rem 0 rgba(33, 33, 33, 0.28);
  border-radius: 0;
  border: none; }

.modal-slide .modal-content,
.modal-popup .modal-content,
.modal-custom .modal-content {
  padding-top: 0;
  padding-bottom: 2rem;
  font-size: 1.6rem; }

.modal-slide .modal-header,
.modal-popup .modal-header,
.modal-custom .modal-header {
  padding: 0;
  margin: 0;
  min-height: 65px; }

.modal-slide .action-close,
.modal-popup .action-close,
.modal-custom .action-close {
  background: none;
  border: none;
  position: absolute;
  right: 0;
  top: 0;
  margin: 1.5rem;
  background-image: url("../images/icons/close.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 15px;
  width: 3rem;
  height: 3rem; }
  .ie11 .modal-slide .action-close, .ie11
  .modal-popup .action-close, .ie11
  .modal-custom .action-close {
    background-size: 10px 10px; }
  .modal-slide .action-close span,
  .modal-popup .action-close span,
  .modal-custom .action-close span {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }

.modal-slide .modal-footer,
.modal-popup .modal-footer,
.modal-custom .modal-footer {
  padding: 2rem;
  border-top: 1px solid #dcdcdc;
  display: flex;
  justify-content: space-between; }
  @media (max-width: 39.99em) {
    .modal-slide .modal-footer,
    .modal-popup .modal-footer,
    .modal-custom .modal-footer {
      flex-wrap: wrap; } }
  .modal-slide .modal-footer .action-primary,
  .modal-slide .modal-footer .primary,
  .modal-popup .modal-footer .action-primary,
  .modal-popup .modal-footer .primary,
  .modal-custom .modal-footer .action-primary,
  .modal-custom .modal-footer .primary {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: uppercase;
    border-radius: 25px;
    font-family: "Red Hat Display";
    padding: 8px 25px;
    font-size: 1.2rem;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    will-change: transform, background-color, border-color, fill, color;
    min-width: 12rem; }
    .modal-slide .modal-footer .action-primary.medium,
    .modal-slide .modal-footer .primary.medium,
    .modal-popup .modal-footer .action-primary.medium,
    .modal-popup .modal-footer .primary.medium,
    .modal-custom .modal-footer .action-primary.medium,
    .modal-custom .modal-footer .primary.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .modal-slide .modal-footer .action-primary.large,
    .modal-slide .modal-footer .primary.large,
    .modal-popup .modal-footer .action-primary.large,
    .modal-popup .modal-footer .primary.large,
    .modal-custom .modal-footer .action-primary.large,
    .modal-custom .modal-footer .primary.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .modal-slide .modal-footer .action-primary::-moz-focus-inner,
    .modal-slide .modal-footer .primary::-moz-focus-inner,
    .modal-popup .modal-footer .action-primary::-moz-focus-inner,
    .modal-popup .modal-footer .primary::-moz-focus-inner,
    .modal-custom .modal-footer .action-primary::-moz-focus-inner,
    .modal-custom .modal-footer .primary::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .modal-slide .modal-footer .action-primary, .modal-slide .modal-footer .action-primary:visited,
    .modal-slide .modal-footer .primary,
    .modal-slide .modal-footer .primary:visited,
    .modal-popup .modal-footer .action-primary,
    .modal-popup .modal-footer .action-primary:visited,
    .modal-popup .modal-footer .primary,
    .modal-popup .modal-footer .primary:visited,
    .modal-custom .modal-footer .action-primary,
    .modal-custom .modal-footer .action-primary:visited,
    .modal-custom .modal-footer .primary,
    .modal-custom .modal-footer .primary:visited {
      cursor: pointer;
      border-radius: 25px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF4604; }
      .modal-slide .modal-footer .action-primary *, .modal-slide .modal-footer .action-primary:visited *,
      .modal-slide .modal-footer .primary *,
      .modal-slide .modal-footer .primary:visited *,
      .modal-popup .modal-footer .action-primary *,
      .modal-popup .modal-footer .action-primary:visited *,
      .modal-popup .modal-footer .primary *,
      .modal-popup .modal-footer .primary:visited *,
      .modal-custom .modal-footer .action-primary *,
      .modal-custom .modal-footer .action-primary:visited *,
      .modal-custom .modal-footer .primary *,
      .modal-custom .modal-footer .primary:visited * {
        color: #ffffff;
        fill: #ffffff; }
    .modal-slide .modal-footer .action-primary:hover:not([disabled]), .modal-slide .modal-footer .action-primary:focus:not([disabled]), .modal-slide .modal-footer .action-primary:active:not([disabled]),
    .modal-slide .modal-footer .primary:hover:not([disabled]),
    .modal-slide .modal-footer .primary:focus:not([disabled]),
    .modal-slide .modal-footer .primary:active:not([disabled]),
    .modal-popup .modal-footer .action-primary:hover:not([disabled]),
    .modal-popup .modal-footer .action-primary:focus:not([disabled]),
    .modal-popup .modal-footer .action-primary:active:not([disabled]),
    .modal-popup .modal-footer .primary:hover:not([disabled]),
    .modal-popup .modal-footer .primary:focus:not([disabled]),
    .modal-popup .modal-footer .primary:active:not([disabled]),
    .modal-custom .modal-footer .action-primary:hover:not([disabled]),
    .modal-custom .modal-footer .action-primary:focus:not([disabled]),
    .modal-custom .modal-footer .action-primary:active:not([disabled]),
    .modal-custom .modal-footer .primary:hover:not([disabled]),
    .modal-custom .modal-footer .primary:focus:not([disabled]),
    .modal-custom .modal-footer .primary:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF7442; }
      .modal-slide .modal-footer .action-primary:hover:not([disabled]) *, .modal-slide .modal-footer .action-primary:focus:not([disabled]) *, .modal-slide .modal-footer .action-primary:active:not([disabled]) *,
      .modal-slide .modal-footer .primary:hover:not([disabled]) *,
      .modal-slide .modal-footer .primary:focus:not([disabled]) *,
      .modal-slide .modal-footer .primary:active:not([disabled]) *,
      .modal-popup .modal-footer .action-primary:hover:not([disabled]) *,
      .modal-popup .modal-footer .action-primary:focus:not([disabled]) *,
      .modal-popup .modal-footer .action-primary:active:not([disabled]) *,
      .modal-popup .modal-footer .primary:hover:not([disabled]) *,
      .modal-popup .modal-footer .primary:focus:not([disabled]) *,
      .modal-popup .modal-footer .primary:active:not([disabled]) *,
      .modal-custom .modal-footer .action-primary:hover:not([disabled]) *,
      .modal-custom .modal-footer .action-primary:focus:not([disabled]) *,
      .modal-custom .modal-footer .action-primary:active:not([disabled]) *,
      .modal-custom .modal-footer .primary:hover:not([disabled]) *,
      .modal-custom .modal-footer .primary:focus:not([disabled]) *,
      .modal-custom .modal-footer .primary:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .modal-slide .modal-footer .action-primary[disabled],
    .modal-slide .modal-footer .primary[disabled],
    .modal-popup .modal-footer .action-primary[disabled],
    .modal-popup .modal-footer .primary[disabled],
    .modal-custom .modal-footer .action-primary[disabled],
    .modal-custom .modal-footer .primary[disabled] {
      opacity: 0.65;
      cursor: auto; }
    @media (max-width: 39.99em) {
      .modal-slide .modal-footer .action-primary,
      .modal-slide .modal-footer .primary,
      .modal-popup .modal-footer .action-primary,
      .modal-popup .modal-footer .primary,
      .modal-custom .modal-footer .action-primary,
      .modal-custom .modal-footer .primary {
        width: 100%; } }
    .modal-slide .modal-footer .action-primary span,
    .modal-slide .modal-footer .primary span,
    .modal-popup .modal-footer .action-primary span,
    .modal-popup .modal-footer .primary span,
    .modal-custom .modal-footer .action-primary span,
    .modal-custom .modal-footer .primary span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }
  .modal-slide .modal-footer .action-secondary,
  .modal-slide .modal-footer .secondary,
  .modal-popup .modal-footer .action-secondary,
  .modal-popup .modal-footer .secondary,
  .modal-custom .modal-footer .action-secondary,
  .modal-custom .modal-footer .secondary {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: uppercase;
    border-radius: 25px;
    font-family: "Red Hat Display";
    padding: 8px 25px;
    font-size: 1.2rem;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    will-change: transform, background-color, border-color, fill, color;
    min-width: 12rem; }
    .modal-slide .modal-footer .action-secondary.medium,
    .modal-slide .modal-footer .secondary.medium,
    .modal-popup .modal-footer .action-secondary.medium,
    .modal-popup .modal-footer .secondary.medium,
    .modal-custom .modal-footer .action-secondary.medium,
    .modal-custom .modal-footer .secondary.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .modal-slide .modal-footer .action-secondary.large,
    .modal-slide .modal-footer .secondary.large,
    .modal-popup .modal-footer .action-secondary.large,
    .modal-popup .modal-footer .secondary.large,
    .modal-custom .modal-footer .action-secondary.large,
    .modal-custom .modal-footer .secondary.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .modal-slide .modal-footer .action-secondary::-moz-focus-inner,
    .modal-slide .modal-footer .secondary::-moz-focus-inner,
    .modal-popup .modal-footer .action-secondary::-moz-focus-inner,
    .modal-popup .modal-footer .secondary::-moz-focus-inner,
    .modal-custom .modal-footer .action-secondary::-moz-focus-inner,
    .modal-custom .modal-footer .secondary::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .modal-slide .modal-footer .action-secondary, .modal-slide .modal-footer .action-secondary:visited,
    .modal-slide .modal-footer .secondary,
    .modal-slide .modal-footer .secondary:visited,
    .modal-popup .modal-footer .action-secondary,
    .modal-popup .modal-footer .action-secondary:visited,
    .modal-popup .modal-footer .secondary,
    .modal-popup .modal-footer .secondary:visited,
    .modal-custom .modal-footer .action-secondary,
    .modal-custom .modal-footer .action-secondary:visited,
    .modal-custom .modal-footer .secondary,
    .modal-custom .modal-footer .secondary:visited {
      cursor: pointer;
      border-radius: 25px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #000; }
      .modal-slide .modal-footer .action-secondary *, .modal-slide .modal-footer .action-secondary:visited *,
      .modal-slide .modal-footer .secondary *,
      .modal-slide .modal-footer .secondary:visited *,
      .modal-popup .modal-footer .action-secondary *,
      .modal-popup .modal-footer .action-secondary:visited *,
      .modal-popup .modal-footer .secondary *,
      .modal-popup .modal-footer .secondary:visited *,
      .modal-custom .modal-footer .action-secondary *,
      .modal-custom .modal-footer .action-secondary:visited *,
      .modal-custom .modal-footer .secondary *,
      .modal-custom .modal-footer .secondary:visited * {
        color: #ffffff;
        fill: #FF4604; }
    .modal-slide .modal-footer .action-secondary:hover:not([disabled]), .modal-slide .modal-footer .action-secondary:focus:not([disabled]), .modal-slide .modal-footer .action-secondary:active:not([disabled]),
    .modal-slide .modal-footer .secondary:hover:not([disabled]),
    .modal-slide .modal-footer .secondary:focus:not([disabled]),
    .modal-slide .modal-footer .secondary:active:not([disabled]),
    .modal-popup .modal-footer .action-secondary:hover:not([disabled]),
    .modal-popup .modal-footer .action-secondary:focus:not([disabled]),
    .modal-popup .modal-footer .action-secondary:active:not([disabled]),
    .modal-popup .modal-footer .secondary:hover:not([disabled]),
    .modal-popup .modal-footer .secondary:focus:not([disabled]),
    .modal-popup .modal-footer .secondary:active:not([disabled]),
    .modal-custom .modal-footer .action-secondary:hover:not([disabled]),
    .modal-custom .modal-footer .action-secondary:focus:not([disabled]),
    .modal-custom .modal-footer .action-secondary:active:not([disabled]),
    .modal-custom .modal-footer .secondary:hover:not([disabled]),
    .modal-custom .modal-footer .secondary:focus:not([disabled]),
    .modal-custom .modal-footer .secondary:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #3E3E3E; }
      .modal-slide .modal-footer .action-secondary:hover:not([disabled]) *, .modal-slide .modal-footer .action-secondary:focus:not([disabled]) *, .modal-slide .modal-footer .action-secondary:active:not([disabled]) *,
      .modal-slide .modal-footer .secondary:hover:not([disabled]) *,
      .modal-slide .modal-footer .secondary:focus:not([disabled]) *,
      .modal-slide .modal-footer .secondary:active:not([disabled]) *,
      .modal-popup .modal-footer .action-secondary:hover:not([disabled]) *,
      .modal-popup .modal-footer .action-secondary:focus:not([disabled]) *,
      .modal-popup .modal-footer .action-secondary:active:not([disabled]) *,
      .modal-popup .modal-footer .secondary:hover:not([disabled]) *,
      .modal-popup .modal-footer .secondary:focus:not([disabled]) *,
      .modal-popup .modal-footer .secondary:active:not([disabled]) *,
      .modal-custom .modal-footer .action-secondary:hover:not([disabled]) *,
      .modal-custom .modal-footer .action-secondary:focus:not([disabled]) *,
      .modal-custom .modal-footer .action-secondary:active:not([disabled]) *,
      .modal-custom .modal-footer .secondary:hover:not([disabled]) *,
      .modal-custom .modal-footer .secondary:focus:not([disabled]) *,
      .modal-custom .modal-footer .secondary:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .modal-slide .modal-footer .action-secondary[disabled],
    .modal-slide .modal-footer .secondary[disabled],
    .modal-popup .modal-footer .action-secondary[disabled],
    .modal-popup .modal-footer .secondary[disabled],
    .modal-custom .modal-footer .action-secondary[disabled],
    .modal-custom .modal-footer .secondary[disabled] {
      opacity: 0.65;
      cursor: auto; }
    @media (max-width: 39.99em) {
      .modal-slide .modal-footer .action-secondary,
      .modal-slide .modal-footer .secondary,
      .modal-popup .modal-footer .action-secondary,
      .modal-popup .modal-footer .secondary,
      .modal-custom .modal-footer .action-secondary,
      .modal-custom .modal-footer .secondary {
        width: 100%;
        margin-bottom: 1.5rem !important; } }
    .modal-slide .modal-footer .action-secondary span,
    .modal-slide .modal-footer .secondary span,
    .modal-popup .modal-footer .action-secondary span,
    .modal-popup .modal-footer .secondary span,
    .modal-custom .modal-footer .action-secondary span,
    .modal-custom .modal-footer .secondary span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }
    body.checkout-index-index .modal-slide .modal-footer .action-secondary, body.checkout-index-index
    .modal-slide .modal-footer .secondary, body.checkout-index-index
    .modal-popup .modal-footer .action-secondary, body.checkout-index-index
    .modal-popup .modal-footer .secondary, body.checkout-index-index
    .modal-custom .modal-footer .action-secondary, body.checkout-index-index
    .modal-custom .modal-footer .secondary {
      display: inline-block;
      font-size: 1.4rem;
      font-weight: 700;
      text-align: center;
      position: relative;
      line-height: 1.275em;
      margin: 0;
      text-transform: uppercase;
      border-radius: 25px;
      font-family: "Red Hat Display";
      padding: 8px 25px;
      font-size: 1.2rem;
      box-sizing: border-box;
      transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
      vertical-align: middle;
      z-index: 5;
      will-change: transform, background-color, border-color, fill, color;
      min-width: 12rem; }
      body.checkout-index-index .modal-slide .modal-footer .action-secondary.medium, body.checkout-index-index
      .modal-slide .modal-footer .secondary.medium, body.checkout-index-index
      .modal-popup .modal-footer .action-secondary.medium, body.checkout-index-index
      .modal-popup .modal-footer .secondary.medium, body.checkout-index-index
      .modal-custom .modal-footer .action-secondary.medium, body.checkout-index-index
      .modal-custom .modal-footer .secondary.medium {
        padding: 11px 25px;
        font-size: 1.4rem; }
      body.checkout-index-index .modal-slide .modal-footer .action-secondary.large, body.checkout-index-index
      .modal-slide .modal-footer .secondary.large, body.checkout-index-index
      .modal-popup .modal-footer .action-secondary.large, body.checkout-index-index
      .modal-popup .modal-footer .secondary.large, body.checkout-index-index
      .modal-custom .modal-footer .action-secondary.large, body.checkout-index-index
      .modal-custom .modal-footer .secondary.large {
        padding: 13px 25px;
        font-size: 1.6rem; }
      body.checkout-index-index .modal-slide .modal-footer .action-secondary::-moz-focus-inner, body.checkout-index-index
      .modal-slide .modal-footer .secondary::-moz-focus-inner, body.checkout-index-index
      .modal-popup .modal-footer .action-secondary::-moz-focus-inner, body.checkout-index-index
      .modal-popup .modal-footer .secondary::-moz-focus-inner, body.checkout-index-index
      .modal-custom .modal-footer .action-secondary::-moz-focus-inner, body.checkout-index-index
      .modal-custom .modal-footer .secondary::-moz-focus-inner {
        border: 0;
        padding: 0;
        margin: 0; }
      body.checkout-index-index .modal-slide .modal-footer .action-secondary, body.checkout-index-index .modal-slide .modal-footer .action-secondary:visited, body.checkout-index-index
      .modal-slide .modal-footer .secondary, body.checkout-index-index
      .modal-slide .modal-footer .secondary:visited, body.checkout-index-index
      .modal-popup .modal-footer .action-secondary, body.checkout-index-index
      .modal-popup .modal-footer .action-secondary:visited, body.checkout-index-index
      .modal-popup .modal-footer .secondary, body.checkout-index-index
      .modal-popup .modal-footer .secondary:visited, body.checkout-index-index
      .modal-custom .modal-footer .action-secondary, body.checkout-index-index
      .modal-custom .modal-footer .action-secondary:visited, body.checkout-index-index
      .modal-custom .modal-footer .secondary, body.checkout-index-index
      .modal-custom .modal-footer .secondary:visited {
        cursor: pointer;
        border-radius: 25px;
        outline-offset: 1px;
        text-decoration: none;
        box-shadow: none;
        border: 1px solid transparent;
        color: #ffffff;
        background-color: #000; }
        body.checkout-index-index .modal-slide .modal-footer .action-secondary *, body.checkout-index-index .modal-slide .modal-footer .action-secondary:visited *, body.checkout-index-index
        .modal-slide .modal-footer .secondary *, body.checkout-index-index
        .modal-slide .modal-footer .secondary:visited *, body.checkout-index-index
        .modal-popup .modal-footer .action-secondary *, body.checkout-index-index
        .modal-popup .modal-footer .action-secondary:visited *, body.checkout-index-index
        .modal-popup .modal-footer .secondary *, body.checkout-index-index
        .modal-popup .modal-footer .secondary:visited *, body.checkout-index-index
        .modal-custom .modal-footer .action-secondary *, body.checkout-index-index
        .modal-custom .modal-footer .action-secondary:visited *, body.checkout-index-index
        .modal-custom .modal-footer .secondary *, body.checkout-index-index
        .modal-custom .modal-footer .secondary:visited * {
          color: #ffffff;
          fill: #FF4604; }
      body.checkout-index-index .modal-slide .modal-footer .action-secondary:hover:not([disabled]), body.checkout-index-index .modal-slide .modal-footer .action-secondary:focus:not([disabled]), body.checkout-index-index .modal-slide .modal-footer .action-secondary:active:not([disabled]), body.checkout-index-index
      .modal-slide .modal-footer .secondary:hover:not([disabled]), body.checkout-index-index
      .modal-slide .modal-footer .secondary:focus:not([disabled]), body.checkout-index-index
      .modal-slide .modal-footer .secondary:active:not([disabled]), body.checkout-index-index
      .modal-popup .modal-footer .action-secondary:hover:not([disabled]), body.checkout-index-index
      .modal-popup .modal-footer .action-secondary:focus:not([disabled]), body.checkout-index-index
      .modal-popup .modal-footer .action-secondary:active:not([disabled]), body.checkout-index-index
      .modal-popup .modal-footer .secondary:hover:not([disabled]), body.checkout-index-index
      .modal-popup .modal-footer .secondary:focus:not([disabled]), body.checkout-index-index
      .modal-popup .modal-footer .secondary:active:not([disabled]), body.checkout-index-index
      .modal-custom .modal-footer .action-secondary:hover:not([disabled]), body.checkout-index-index
      .modal-custom .modal-footer .action-secondary:focus:not([disabled]), body.checkout-index-index
      .modal-custom .modal-footer .action-secondary:active:not([disabled]), body.checkout-index-index
      .modal-custom .modal-footer .secondary:hover:not([disabled]), body.checkout-index-index
      .modal-custom .modal-footer .secondary:focus:not([disabled]), body.checkout-index-index
      .modal-custom .modal-footer .secondary:active:not([disabled]) {
        box-shadow: none;
        outline: none;
        text-decoration: none;
        border: 1px solid transparent;
        color: #ffffff;
        background-color: #3E3E3E; }
        body.checkout-index-index .modal-slide .modal-footer .action-secondary:hover:not([disabled]) *, body.checkout-index-index .modal-slide .modal-footer .action-secondary:focus:not([disabled]) *, body.checkout-index-index .modal-slide .modal-footer .action-secondary:active:not([disabled]) *, body.checkout-index-index
        .modal-slide .modal-footer .secondary:hover:not([disabled]) *, body.checkout-index-index
        .modal-slide .modal-footer .secondary:focus:not([disabled]) *, body.checkout-index-index
        .modal-slide .modal-footer .secondary:active:not([disabled]) *, body.checkout-index-index
        .modal-popup .modal-footer .action-secondary:hover:not([disabled]) *, body.checkout-index-index
        .modal-popup .modal-footer .action-secondary:focus:not([disabled]) *, body.checkout-index-index
        .modal-popup .modal-footer .action-secondary:active:not([disabled]) *, body.checkout-index-index
        .modal-popup .modal-footer .secondary:hover:not([disabled]) *, body.checkout-index-index
        .modal-popup .modal-footer .secondary:focus:not([disabled]) *, body.checkout-index-index
        .modal-popup .modal-footer .secondary:active:not([disabled]) *, body.checkout-index-index
        .modal-custom .modal-footer .action-secondary:hover:not([disabled]) *, body.checkout-index-index
        .modal-custom .modal-footer .action-secondary:focus:not([disabled]) *, body.checkout-index-index
        .modal-custom .modal-footer .action-secondary:active:not([disabled]) *, body.checkout-index-index
        .modal-custom .modal-footer .secondary:hover:not([disabled]) *, body.checkout-index-index
        .modal-custom .modal-footer .secondary:focus:not([disabled]) *, body.checkout-index-index
        .modal-custom .modal-footer .secondary:active:not([disabled]) * {
          color: #ffffff;
          fill: #ffffff; }
      body.checkout-index-index .modal-slide .modal-footer .action-secondary[disabled], body.checkout-index-index
      .modal-slide .modal-footer .secondary[disabled], body.checkout-index-index
      .modal-popup .modal-footer .action-secondary[disabled], body.checkout-index-index
      .modal-popup .modal-footer .secondary[disabled], body.checkout-index-index
      .modal-custom .modal-footer .action-secondary[disabled], body.checkout-index-index
      .modal-custom .modal-footer .secondary[disabled] {
        opacity: 0.65;
        cursor: auto; }
      body.checkout-index-index .modal-slide .modal-footer .action-secondary span, body.checkout-index-index
      .modal-slide .modal-footer .secondary span, body.checkout-index-index
      .modal-popup .modal-footer .action-secondary span, body.checkout-index-index
      .modal-popup .modal-footer .secondary span, body.checkout-index-index
      .modal-custom .modal-footer .action-secondary span, body.checkout-index-index
      .modal-custom .modal-footer .secondary span {
        margin-top: 0;
        z-index: 1;
        font-weight: 700;
        vertical-align: baseline;
        display: inline-block;
        line-height: 1.275em;
        letter-spacing: normal; }
  .modal-slide .modal-footer button:only-child,
  .modal-popup .modal-footer button:only-child,
  .modal-custom .modal-footer button:only-child {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: uppercase;
    border-radius: 25px;
    font-family: "Red Hat Display";
    padding: 8px 25px;
    font-size: 1.2rem;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    will-change: transform, background-color, border-color, fill, color;
    min-width: 12rem; }
    .modal-slide .modal-footer button:only-child.medium,
    .modal-popup .modal-footer button:only-child.medium,
    .modal-custom .modal-footer button:only-child.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .modal-slide .modal-footer button:only-child.large,
    .modal-popup .modal-footer button:only-child.large,
    .modal-custom .modal-footer button:only-child.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .modal-slide .modal-footer button:only-child::-moz-focus-inner,
    .modal-popup .modal-footer button:only-child::-moz-focus-inner,
    .modal-custom .modal-footer button:only-child::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .modal-slide .modal-footer button:only-child, .modal-slide .modal-footer button:only-child:visited,
    .modal-popup .modal-footer button:only-child,
    .modal-popup .modal-footer button:only-child:visited,
    .modal-custom .modal-footer button:only-child,
    .modal-custom .modal-footer button:only-child:visited {
      cursor: pointer;
      border-radius: 25px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF4604; }
      .modal-slide .modal-footer button:only-child *, .modal-slide .modal-footer button:only-child:visited *,
      .modal-popup .modal-footer button:only-child *,
      .modal-popup .modal-footer button:only-child:visited *,
      .modal-custom .modal-footer button:only-child *,
      .modal-custom .modal-footer button:only-child:visited * {
        color: #ffffff;
        fill: #ffffff; }
    .modal-slide .modal-footer button:only-child:hover:not([disabled]), .modal-slide .modal-footer button:only-child:focus:not([disabled]), .modal-slide .modal-footer button:only-child:active:not([disabled]),
    .modal-popup .modal-footer button:only-child:hover:not([disabled]),
    .modal-popup .modal-footer button:only-child:focus:not([disabled]),
    .modal-popup .modal-footer button:only-child:active:not([disabled]),
    .modal-custom .modal-footer button:only-child:hover:not([disabled]),
    .modal-custom .modal-footer button:only-child:focus:not([disabled]),
    .modal-custom .modal-footer button:only-child:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF7442; }
      .modal-slide .modal-footer button:only-child:hover:not([disabled]) *, .modal-slide .modal-footer button:only-child:focus:not([disabled]) *, .modal-slide .modal-footer button:only-child:active:not([disabled]) *,
      .modal-popup .modal-footer button:only-child:hover:not([disabled]) *,
      .modal-popup .modal-footer button:only-child:focus:not([disabled]) *,
      .modal-popup .modal-footer button:only-child:active:not([disabled]) *,
      .modal-custom .modal-footer button:only-child:hover:not([disabled]) *,
      .modal-custom .modal-footer button:only-child:focus:not([disabled]) *,
      .modal-custom .modal-footer button:only-child:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .modal-slide .modal-footer button:only-child[disabled],
    .modal-popup .modal-footer button:only-child[disabled],
    .modal-custom .modal-footer button:only-child[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .modal-slide .modal-footer button:only-child span,
    .modal-popup .modal-footer button:only-child span,
    .modal-custom .modal-footer button:only-child span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }

.modal-slide .modal-title,
.modal-popup .modal-title,
.modal-custom .modal-title {
  font-family: "Red Hat Display", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1.8rem;
  color: #212121;
  font-weight: 700;
  text-transform: uppercase;
  margin: 1rem 0 2rem;
  padding: 2rem;
  border-bottom: 1px solid #dcdcdc;
  margin: 0; }

@media (max-width: 47.99em) {
  .modal-popup.modal-slide .modal-inner-wrap[class] {
    background-color: #ffffff; } }

@media (max-width: 39.99em) {
  .modal-slide .modal-footer {
    flex-wrap: wrap; } }

@media (max-width: 39.99em) {
  .modal-slide .modal-footer .action-primary,
  .modal-slide .modal-footer .primary {
    width: 100%; } }

@media (max-width: 39.99em) {
  .modal-slide .modal-footer .action-secondary,
  .modal-slide .modal-footer .secondary {
    width: 100%;
    margin-bottom: 1.5rem !important; } }

.ie11 .modal-popup:not(.cs-video-player__modal) .modal-content {
  max-height: calc(100vh - 33rem); }

.page-layout-checkout .modal-popup {
  pointer-events: auto; }

@media (min-width: 48em) {
  .page-layout-checkout .modal-slide {
    width: 80%;
    max-width: 65rem;
    left: 50%;
    transform: translateX(-50%); } }

/* stylelint-enable */
.fancybox-overlay {
  background-image: none;
  background-color: rgba(255, 255, 255, 0.9); }

.fancybox-desktop.fancybox-type-iframe.fancybox-opened {
  max-width: 1170px;
  width: 85vw !important; }
  @media (max-width: 40em) {
    .fancybox-desktop.fancybox-type-iframe.fancybox-opened {
      width: 95vw !important;
      left: 2.5vw !important; } }

.fancybox-desktop.fancybox-type-inline {
  max-width: 480px;
  width: 95vw !important; }
  @media (max-width: 40em) {
    .fancybox-desktop.fancybox-type-inline {
      left: 2.5vw !important; } }
  .fancybox-desktop.fancybox-type-inline .fancybox-skin {
    background: #ffffff; }
  .fancybox-desktop.fancybox-type-inline .header,
  .fancybox-desktop.fancybox-type-inline .cart-info {
    display: none; }

.fancybox-desktop .fancybox-inner {
  width: 100% !important;
  max-height: 735px !important;
  padding: 45px 0;
  background: #ffffff; }
  @media (max-width: 40em) {
    .fancybox-desktop .fancybox-inner {
      padding: 40px 0 0px; } }

.fancybox-skin .fancybox-close {
  background: none;
  left: 31px;
  right: auto;
  top: 20px;
  display: flex;
  flex-direction: row;
  border-bottom: 1px solid #000;
  width: auto;
  height: 23px; }
  @media (max-width: 48em) {
    .fancybox-skin .fancybox-close {
      left: 25px;
      top: 12px; } }
  .fancybox-skin .fancybox-close:before, .fancybox-skin .fancybox-close:after {
    text-transform: uppercase;
    display: inline-block;
    font-weight: bold;
    color: #000;
    font-size: 14px;
    line-height: 18px;
    font-family: "Red Hat Display"; }
  .fancybox-skin .fancybox-close:before {
    content: 'X';
    margin-right: 5px; }
  .fancybox-skin .fancybox-close:after {
    content: 'Close'; }

#bss_ajaxcart_popup .product-image {
  max-width: 310px;
  margin: 0 auto; }

#bss_ajaxcart_popup .message {
  margin: 0;
  padding-left: 1rem; }

#bss_ajaxcart_popup .btn-viewcart button.viewcart {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: uppercase;
  border-radius: 25px;
  font-family: "Red Hat Display";
  padding: 8px 25px;
  font-size: 1.2rem;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5;
  will-change: transform, background-color, border-color, fill, color;
  background: #000 !important; }
  #bss_ajaxcart_popup .btn-viewcart button.viewcart.medium {
    padding: 11px 25px;
    font-size: 1.4rem; }
  #bss_ajaxcart_popup .btn-viewcart button.viewcart.large {
    padding: 13px 25px;
    font-size: 1.6rem; }
  #bss_ajaxcart_popup .btn-viewcart button.viewcart::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  #bss_ajaxcart_popup .btn-viewcart button.viewcart, #bss_ajaxcart_popup .btn-viewcart button.viewcart:visited {
    cursor: pointer;
    border-radius: 25px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #000; }
    #bss_ajaxcart_popup .btn-viewcart button.viewcart *, #bss_ajaxcart_popup .btn-viewcart button.viewcart:visited * {
      color: #ffffff;
      fill: #FF4604; }
  #bss_ajaxcart_popup .btn-viewcart button.viewcart:hover:not([disabled]), #bss_ajaxcart_popup .btn-viewcart button.viewcart:focus:not([disabled]), #bss_ajaxcart_popup .btn-viewcart button.viewcart:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #3E3E3E; }
    #bss_ajaxcart_popup .btn-viewcart button.viewcart:hover:not([disabled]) *, #bss_ajaxcart_popup .btn-viewcart button.viewcart:focus:not([disabled]) *, #bss_ajaxcart_popup .btn-viewcart button.viewcart:active:not([disabled]) * {
      color: #ffffff;
      fill: #ffffff; }
  #bss_ajaxcart_popup .btn-viewcart button.viewcart[disabled] {
    opacity: 0.65;
    cursor: auto; }
  #bss_ajaxcart_popup .btn-viewcart button.viewcart:hover, #bss_ajaxcart_popup .btn-viewcart button.viewcart:focus, #bss_ajaxcart_popup .btn-viewcart button.viewcart:active {
    background: #3E3E3E !important; }

#bss_ajaxcart_popup .btn-continue button.continue {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: uppercase;
  border-radius: 25px;
  font-family: "Red Hat Display";
  padding: 8px 25px;
  font-size: 1.2rem;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5;
  will-change: transform, background-color, border-color, fill, color;
  background: #FF4604 !important; }
  #bss_ajaxcart_popup .btn-continue button.continue.medium {
    padding: 11px 25px;
    font-size: 1.4rem; }
  #bss_ajaxcart_popup .btn-continue button.continue.large {
    padding: 13px 25px;
    font-size: 1.6rem; }
  #bss_ajaxcart_popup .btn-continue button.continue::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  #bss_ajaxcart_popup .btn-continue button.continue, #bss_ajaxcart_popup .btn-continue button.continue:visited {
    cursor: pointer;
    border-radius: 25px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #FF4604; }
    #bss_ajaxcart_popup .btn-continue button.continue *, #bss_ajaxcart_popup .btn-continue button.continue:visited * {
      color: #ffffff;
      fill: #ffffff; }
  #bss_ajaxcart_popup .btn-continue button.continue:hover:not([disabled]), #bss_ajaxcart_popup .btn-continue button.continue:focus:not([disabled]), #bss_ajaxcart_popup .btn-continue button.continue:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #FF7442; }
    #bss_ajaxcart_popup .btn-continue button.continue:hover:not([disabled]) *, #bss_ajaxcart_popup .btn-continue button.continue:focus:not([disabled]) *, #bss_ajaxcart_popup .btn-continue button.continue:active:not([disabled]) * {
      color: #ffffff;
      fill: #ffffff; }
  #bss_ajaxcart_popup .btn-continue button.continue[disabled] {
    opacity: 0.65;
    cursor: auto; }
  #bss_ajaxcart_popup .btn-continue button.continue:hover, #bss_ajaxcart_popup .btn-continue button.continue:focus, #bss_ajaxcart_popup .btn-continue button.continue:active {
    background: #FF7442 !important; }

#bss_ajaxcart_popup .btn-continue .countdown {
  display: none; }

.ajaxcart-index-view #ajax-goto {
  display: none !important; }

.ajaxcart-index-view .bss-notice {
  padding: 0 30px; }

.ajaxcart-index-view .cs-container--page-pdp-top {
  padding: 0 25px; }
  @media (max-width: 48em) {
    .ajaxcart-index-view .cs-container--page-pdp-top {
      padding: 0 15px; } }

@media (min-width: 48em) {
  .ajaxcart-index-view .cs-page-product__gallery {
    width: calc(100% - 49.5%); } }

.ajaxcart-index-view .cs-buybox__section,
.ajaxcart-index-view .cs-container--page-pdp-bundle-config {
  padding: 0; }

.popup-authentication .modal-inner-wrap {
  max-width: 480px; }

.popup-authentication .action-close {
  background-image: none;
  width: auto;
  height: auto;
  margin: 22px 30px 0 0;
  padding: 1px 2px;
  border-bottom: 1px solid #000; }
  .popup-authentication .action-close:before {
    content: 'X CLOSE';
    display: block;
    color: #575757;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 12px; }

.popup-authentication .block-title {
  font-size: 22px;
  margin-bottom: 20px; }

.popup-authentication .actions-toolbar {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-top: 30px; }
  .popup-authentication .actions-toolbar .action-login {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: uppercase;
    border-radius: 25px;
    font-family: "Red Hat Display";
    padding: 8px 25px;
    font-size: 1.2rem;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    will-change: transform, background-color, border-color, fill, color;
    padding: 10px 25px;
    margin-right: 20px;
    min-width: 145px; }
    .popup-authentication .actions-toolbar .action-login.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .popup-authentication .actions-toolbar .action-login.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .popup-authentication .actions-toolbar .action-login::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .popup-authentication .actions-toolbar .action-login, .popup-authentication .actions-toolbar .action-login:visited {
      cursor: pointer;
      border-radius: 25px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF4604; }
      .popup-authentication .actions-toolbar .action-login *, .popup-authentication .actions-toolbar .action-login:visited * {
        color: #ffffff;
        fill: #ffffff; }
    .popup-authentication .actions-toolbar .action-login:hover:not([disabled]), .popup-authentication .actions-toolbar .action-login:focus:not([disabled]), .popup-authentication .actions-toolbar .action-login:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF7442; }
      .popup-authentication .actions-toolbar .action-login:hover:not([disabled]) *, .popup-authentication .actions-toolbar .action-login:focus:not([disabled]) *, .popup-authentication .actions-toolbar .action-login:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .popup-authentication .actions-toolbar .action-login[disabled] {
      opacity: 0.65;
      cursor: auto; }

.checkout-regions-popup .modal-inner-wrap,
.agreements-modal .modal-inner-wrap,
.google_popup .modal-inner-wrap {
  width: 100%;
  border-radius: 10px; }
  .checkout-regions-popup .modal-inner-wrap .modal-title,
  .agreements-modal .modal-inner-wrap .modal-title,
  .google_popup .modal-inner-wrap .modal-title {
    padding: 25px 30px;
    letter-spacing: 1px;
    border: 0;
    text-transform: capitalize;
    font-size: 40px; }
    @media (max-width: 48em) {
      .checkout-regions-popup .modal-inner-wrap .modal-title,
      .agreements-modal .modal-inner-wrap .modal-title,
      .google_popup .modal-inner-wrap .modal-title {
        font-size: 32px;
        padding: 20px 15px; } }
  .checkout-regions-popup .modal-inner-wrap .action-close,
  .agreements-modal .modal-inner-wrap .action-close,
  .google_popup .modal-inner-wrap .action-close {
    background-image: none;
    width: auto;
    height: auto;
    margin: 37px 41px 0 0;
    padding: 1px 2px;
    border-bottom: 1px solid #000; }
    @media (max-width: 48em) {
      .checkout-regions-popup .modal-inner-wrap .action-close,
      .agreements-modal .modal-inner-wrap .action-close,
      .google_popup .modal-inner-wrap .action-close {
        margin: 30px 15px 0 0; } }
    .checkout-regions-popup .modal-inner-wrap .action-close:before,
    .agreements-modal .modal-inner-wrap .action-close:before,
    .google_popup .modal-inner-wrap .action-close:before {
      content: 'X CLOSE';
      display: block;
      color: #575757;
      text-transform: uppercase;
      font-weight: bold;
      font-size: 12px; }

@media (max-width: 48em) {
  .agreements-modal .modal-inner-wrap,
  .google_popup .modal-inner-wrap {
    border-radius: 0; } }

.agreements-modal .modal-inner-wrap .action-close,
.google_popup .modal-inner-wrap .action-close {
  margin: 22px 41px 0 0; }
  @media (max-width: 48em) {
    .agreements-modal .modal-inner-wrap .action-close,
    .google_popup .modal-inner-wrap .action-close {
      margin: 22px 15px 0 0; } }

.google_popup .modal-inner-wrap {
  width: 96%;
  max-width: 640px; }

.modal_hidden {
  display: none !important; }

.modal-popup .modal_hidden {
  display: block !important; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-navigation-teaser__figure {
  display: block;
  max-height: 100%;
  overflow: hidden; }

.cs-navigation-teaser__image {
  display: block; }

.cs-navigation-teaser__content-wrapper {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 6rem 3rem; }

.cs-navigation-teaser__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  color: #212121;
  text-align: center; }

.cs-navigation-teaser__headline {
  margin: 0 0 1rem;
  font-size: 3rem;
  line-height: 1.15;
  font-weight: 700;
  color: #212121; }
  @media (min-width: 64em) {
    .cs-navigation-teaser__headline {
      font-size: 4.3rem;
      line-height: 1; } }

.cs-navigation-teaser__subheadline {
  margin: 0 0 1rem;
  font-size: 1.65rem;
  line-height: 1.15;
  font-weight: 400;
  color: #212121; }
  @media (min-width: 64em) {
    .cs-navigation-teaser__subheadline {
      font-size: 2.8rem;
      line-height: 1.25; } }

.cs-navigation-teaser__text {
  margin: 0 0 1rem;
  font-size: 1rem;
  line-height: 1.15;
  font-weight: 300;
  color: #212121; }
  @media (min-width: 64em) {
    .cs-navigation-teaser__text {
      font-size: 1.4rem; } }

.cs-navigation-teaser__cta {
  margin-top: 2rem; }

.cs-navigation-teaser__button {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: uppercase;
  border-radius: 25px;
  font-family: "Red Hat Display";
  padding: 8px 25px;
  font-size: 1.2rem;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5;
  will-change: transform, background-color, border-color, fill, color; }
  .cs-navigation-teaser__button.medium {
    padding: 11px 25px;
    font-size: 1.4rem; }
  .cs-navigation-teaser__button.large {
    padding: 13px 25px;
    font-size: 1.6rem; }
  .cs-navigation-teaser__button::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .cs-navigation-teaser__button, .cs-navigation-teaser__button:visited {
    cursor: pointer;
    border-radius: 25px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #FF4604; }
    .cs-navigation-teaser__button *, .cs-navigation-teaser__button:visited * {
      color: #ffffff;
      fill: #ffffff; }
  .cs-navigation-teaser__button:hover:not([disabled]), .cs-navigation-teaser__button:focus:not([disabled]), .cs-navigation-teaser__button:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #FF7442; }
    .cs-navigation-teaser__button:hover:not([disabled]) *, .cs-navigation-teaser__button:focus:not([disabled]) *, .cs-navigation-teaser__button:active:not([disabled]) * {
      color: #ffffff;
      fill: #ffffff; }
  .cs-navigation-teaser__button[disabled] {
    opacity: 0.65;
    cursor: auto; }

.cs-navigation-teaser__button-span {
  margin-top: 0;
  z-index: 1;
  font-weight: 700;
  vertical-align: baseline;
  display: inline-block;
  line-height: 1.275em;
  letter-spacing: normal;
  padding-right: 4em; }

.cs-navigation-teaser__button-icon {
  max-width: 1em;
  max-height: 1.4rem;
  z-index: 2;
  height: auto;
  width: 100%;
  position: absolute;
  top: 50%;
  transform: translate3d(0, -50%, 0);
  margin-right: 0;
  right: 1em; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Using psuedo elements to maintain an elements aspect ratio, even as it scales
 * It's using only for IE11 and Edge (version which doesn't support native CSS grid) browsers
 * For browsers which support native CSS grid, we are using mixins contain `reset` in mixin name
 * to override default mixins (progressive enhancement)
 * https://css-tricks.com/snippets/sass/maintain-aspect-ratio-mixin/
 * @param {number} $width: width of the element;
 * @param {number} $height: height of the element;
 * @param {string} $contentClass: class of the direct child element to be positioned absolutely;
 * @param {boolean} $autoposition: tells if item shall take 100% of parent size or if it can be wider/higher if needed;
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-container--navigation {
  background-color: #6E6E6E; }

.cs-container__navigation-inner {
  margin: 10px auto 0; }

.cs-container--navigation .cs-navigation {
  box-sizing: border-box;
  font-size: 1rem; }
  .cs-container--navigation .cs-navigation__list {
    list-style: none;
    padding: 0;
    margin: 0; }
    .cs-container--navigation .cs-navigation__list--main {
      position: relative;
      display: flex;
      flex-wrap: nowrap;
      justify-content: space-between; }
    .cs-container--navigation .cs-navigation__list--all-categories {
      width: 100%;
      -moz-columns: auto 1;
           columns: auto 1;
      -moz-column-gap: 0;
           column-gap: 0;
      flex: 1 0 auto; }
    .cs-container--navigation .cs-navigation__list--level_1 {
      width: 100%;
      -moz-columns: auto 1;
           columns: auto 1;
      -moz-column-gap: 0;
           column-gap: 0;
      flex: 1 0 auto; }
    .cs-container--navigation .cs-navigation__list--level_2 {
      flex-wrap: wrap; }
    .cs-container--navigation .cs-navigation__list--hidden {
      display: none; }
      .cs-container--navigation .cs-navigation__list--hidden + .cs-navigation__extras {
        display: none; }
    .cs-container--navigation .cs-navigation__list .cs-container--navigation .cs-navigation__item--no-children:nth-child(2) {
      padding-top: 1rem; }
    .cs-container--navigation .cs-navigation__list .cs-container--navigation .cs-navigation__item--no-children:last-of-type {
      padding-bottom: 1rem; }
  .cs-container--navigation .cs-navigation__item {
    font-size: 0.9em;
    margin: 0;
    width: 100%; }
    .cs-container--navigation .cs-navigation__item--main {
      font-size: 1.4em;
      border-left: 1px solid #575757;
      text-align: center;
      position: relative; }
      .cs-container--navigation .cs-navigation__item--main:first-of-type {
        border-left: 0; }
      .cs-container--navigation .cs-navigation__item--main:last-of-type {
        border-right: 0; }
        .cs-container--navigation .cs-navigation__item--main:last-of-type .cs-navigation__flyout {
          left: auto;
          right: 0; }
      .cs-container--navigation .cs-navigation__item--main:visited > a {
        color: #ffffff;
        background-color: #FF4604; }
      .cs-container--navigation .cs-navigation__item--main:hover > a {
        color: #ffffff;
        background-color: #FF4604; }
    .cs-container--navigation .cs-navigation__item--all-categories {
      padding: 0;
      page-break-inside: avoid;
      /* Theoretically FF 20+ */
      -moz-column-break-inside: avoid;
           break-inside: avoid-column;
      /* IE 11 */
      display: table; }
    .cs-container--navigation .cs-navigation__item--level_1 {
      padding: 0;
      page-break-inside: avoid;
      /* Theoretically FF 20+ */
      -moz-column-break-inside: avoid;
           break-inside: avoid-column;
      /* IE 11 */
      display: table; }
    .cs-container--navigation .cs-navigation__item--hidden {
      display: none; }
  .cs-container--navigation .cs-navigation__link {
    display: block;
    text-transform: uppercase;
    padding: 9px 5px;
    width: 100%;
    font-family: "PT Sans Narrow";
    letter-spacing: 1.9px; }
    .cs-container--navigation .cs-navigation__link, .cs-container--navigation .cs-navigation__link:visited, .cs-container--navigation .cs-navigation__link:visited:hover, .cs-container--navigation .cs-navigation__link:focus {
      color: #ffffff; }
    .cs-container--navigation .cs-navigation__link:hover {
      text-decoration: none;
      color: #ffffff;
      background-color: #FF4604; }
    .cs-container--navigation .cs-navigation__link--main {
      font-weight: 700;
      display: flex;
      align-items: center;
      justify-content: center;
      height: 100%; }
    .cs-container--navigation .cs-navigation__link--all-categories {
      font-weight: 700;
      margin: 0;
      border-bottom: 1px solid #dcdcdc;
      padding-bottom: 1.55em; }
    .cs-container--navigation .cs-navigation__link--level_1, .cs-container--navigation .cs-navigation__link--level_2 {
      font-weight: 700;
      margin: 0;
      border-bottom: 1px solid #dcdcdc;
      padding: 12px 15px;
      line-height: 21px;
      background: #F4F4F4; }
      .cs-container--navigation .cs-navigation__link--level_1:hover, .cs-container--navigation .cs-navigation__link--level_2:hover {
        text-decoration: none;
        color: #000;
        background-color: #e5e5e5; }
      .cs-container--navigation .cs-navigation__link--level_1, .cs-container--navigation .cs-navigation__link--level_1:visited, .cs-container--navigation .cs-navigation__link--level_1:visited:hover, .cs-container--navigation .cs-navigation__link--level_1:focus, .cs-container--navigation .cs-navigation__link--level_2, .cs-container--navigation .cs-navigation__link--level_2:visited, .cs-container--navigation .cs-navigation__link--level_2:visited:hover, .cs-container--navigation .cs-navigation__link--level_2:focus {
        color: #000; }
    .cs-container--navigation .cs-navigation__link--level_2 {
      text-transform: none;
      font-size: 1.25em; }
    .cs-container--navigation .cs-navigation__link--with-icon {
      position: relative;
      padding-left: 2.8rem; }
    .cs-container--navigation .cs-navigation__link-icon-wrapper {
      position: absolute;
      width: 2rem;
      top: 50%;
      left: 0;
      transform: translateY(-50%); }
    .cs-container--navigation .cs-navigation__link-icon {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate3d(-50%, -50%, 0);
      max-height: 1.8rem; }
      .cs-container--navigation .cs-navigation__link--category .cs-container--navigation .cs-navigation__link-icon {
        margin-top: -0.5rem; }
    .cs-container--navigation .cs-navigation__link-products-qty:before {
      content: '('; }
    .cs-container--navigation .cs-navigation__link-products-qty:after {
      content: ')'; }
  .cs-container--navigation .cs-navigation .cs-container--navigation .cs-navigation__item--no-children {
    padding: 0; }
  .cs-container--navigation .cs-navigation .cs-container--navigation .cs-navigation__item--no-children > .cs-container--navigation .cs-navigation__link--level_1 {
    text-transform: none;
    font-size: 1.12em;
    font-weight: 400;
    padding: 0.9em 1.5em;
    border: none;
    color: #ffffff; }
  .cs-container--navigation .cs-navigation__flyout > ul {
    position: relative; }
    .cs-container--navigation .cs-navigation__flyout > ul li:hover > ul {
      display: block; }
  .cs-container--navigation .cs-navigation__flyout {
    position: absolute;
    display: none;
    left: 20px;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    z-index: 1001;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.15);
    margin-top: 0;
    max-width: 215px; }
    .cs-container--navigation .cs-navigation__flyout--visible {
      display: flex; }
    .cs-container--navigation .cs-navigation__flyout svg {
      pointer-events: none; }
    @supports (-ms-ime-align: auto) {
      .cs-container--navigation .cs-navigation__flyout li {
        list-style: none;
        list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=);
        list-style-type: none; } }
    .cs-container--navigation .cs-navigation__flyout ul a {
      text-transform: uppercase;
      font-size: 14px;
      color: #000;
      letter-spacing: 1.5px;
      font-weight: bold;
      text-align: left; }
    .cs-container--navigation .cs-navigation__flyout ul ul {
      position: absolute;
      display: none;
      right: -100%;
      top: 0;
      width: 100%;
      -webkit-backface-visibility: hidden;
              backface-visibility: hidden;
      z-index: 1001;
      box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.15);
      margin-top: 0;
      max-width: 215px; }
      @supports (-ms-ime-align: auto) {
        .cs-container--navigation .cs-navigation__flyout ul ul li {
          list-style: none;
          list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=);
          list-style-type: none; } }
  .cs-container--navigation .cs-navigation__list--level_2 {
    left: auto; }
  .cs-container--navigation .cs-navigation__teaser {
    position: relative;
    max-height: 100%;
    padding: 1em 0;
    overflow: hidden;
    margin-bottom: 0 !important; }
    .cs-container--navigation .cs-navigation__teaser--hidden {
      display: none; }
    .cs-container--navigation .cs-navigation__teaser .cs-image-teaser__figure {
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%); }
  .cs-container--navigation .cs-navigation__products {
    padding: 0.5em 1em;
    min-width: 24rem; }
    .cs-container--navigation .cs-navigation__products-header {
      display: block;
      color: #ffffff;
      text-transform: uppercase;
      width: 100%;
      font-weight: 700;
      margin: 0;
      border-bottom: 1px solid #dcdcdc;
      padding: 1.1em 1.05em 1.55em;
      font-size: 0.9em; }
    .cs-container--navigation .cs-navigation__products-list {
      margin: 0;
      padding: 0;
      list-style: none; }
  .cs-container--navigation .cs-navigation__product {
    position: relative; }
    .cs-container--navigation .cs-navigation__product:before {
      display: block;
      content: '';
      width: 100%;
      padding-top: 170%; }
    .cs-container--navigation .cs-navigation__product .cs-product-tile {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }
  .cs-container--navigation .cs-navigation__overlay {
    display: none;
    position: absolute;
    z-index: 1000;
    background-color: #000;
    opacity: 0;
    left: 0;
    width: 100%;
    height: 0;
    transform: translate3d(0, 3rem, 0);
    transition: opacity 0.15s linear, transform 0.2s cubic-bezier(0, 0.97, 0.05, 0.99); }
    .cs-container--navigation .cs-navigation__overlay--visible {
      opacity: 0.8;
      transform: translate3d(0, 0, 0); }
  .page-print .cs-container--navigation .cs-navigation {
    display: none; }
  @supports (display: grid) and (grid-auto-flow: row) {
    .cs-container--navigation .cs-navigation__product {
      position: relative; }
      .cs-container--navigation .cs-navigation__product:before {
        content: none; }
      .cs-container--navigation .cs-navigation__product .cs-product-tile {
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        bottom: auto; } }

.cs-container--navigation {
  display: none; }
  @media (min-width: 64em) {
    .cs-container--navigation {
      display: block; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-newsletter {
  margin: 0;
  width: 100%; }
  .cs-newsletter__form {
    position: relative;
    display: flex;
    overflow: hidden;
    padding-right: 30px !important; }
    @media (min-width: 48em) {
      .cs-newsletter__form {
        max-width: 34rem; } }
    @media (min-width: 64em) {
      .cs-newsletter__form {
        max-width: 100%; } }
    @media (max-width: 40em) {
      .cs-newsletter__form {
        padding-right: 0 !important; } }
  .cs-newsletter__field {
    flex-basis: 100%;
    border-radius: 25px; }
    @media (max-width: 40em) {
      .cs-newsletter__field {
        margin-bottom: 15px; } }
  .cs-newsletter__input {
    margin-top: 0 !important;
    border-radius: 25px; }
    .cs-newsletter__input.input-text {
      margin: 0;
      font-size: 1.2rem;
      line-height: 1.6rem;
      border-radius: 25px;
      border-bottom-right-radius: 0;
      border-top-right-radius: 0; }
  .cs-newsletter__actions {
    display: flex;
    align-items: stretch;
    height: 4rem; }
  .cs-newsletter__button {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: uppercase;
    border-radius: 25px;
    font-family: "Red Hat Display";
    padding: 8px 25px;
    font-size: 1.2rem;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    will-change: transform, background-color, border-color, fill, color;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-top-right-radius: 25px !important;
    border-bottom-right-radius: 25px !important;
    width: 105px;
    padding-right: 25px; }
    .cs-newsletter__button.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .cs-newsletter__button.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .cs-newsletter__button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-newsletter__button, .cs-newsletter__button:visited {
      cursor: pointer;
      border-radius: 25px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF4604; }
      .cs-newsletter__button *, .cs-newsletter__button:visited * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-newsletter__button:hover:not([disabled]), .cs-newsletter__button:focus:not([disabled]), .cs-newsletter__button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF7442; }
      .cs-newsletter__button:hover:not([disabled]) *, .cs-newsletter__button:focus:not([disabled]) *, .cs-newsletter__button:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-newsletter__button[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .cs-newsletter__button-label {
      text-transform: uppercase; }
  .cs-newsletter__button-icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    margin-left: 0;
    left: 1em;
    width: 0.8em;
    height: 0.8em;
    margin-right: 0; }

.newsletter-lock__icon {
  font-size: 12px;
  font-weight: normal;
  background-image: url(../images/icons/lock24@1x.svg);
  background-repeat: no-repeat;
  background-size: 9px;
  background-position: 0px 7px;
  margin-top: 0;
  display: block;
  padding-left: 15px; }
  @media (max-width: 40em) {
    .newsletter-lock__icon {
      margin-top: 0;
      font-weight: normal; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-offcanvas-toggle {
  position: relative;
  display: flex;
  border: 0;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  align-self: stretch;
  height: 100%;
  width: 100%; }
  .cs-offcanvas-toggle, .cs-offcanvas-toggle:active, .cs-offcanvas-toggle:focus, .cs-offcanvas-toggle:hover {
    border: 0;
    background: transparent;
    box-shadow: none;
    border-radius: 0; }
  .cs-offcanvas-toggle:after {
    content: '';
    position: absolute;
    height: 2px;
    width: 100%;
    transform: scale(0);
    background: #FF4604;
    transition: transform 0.3s;
    bottom: 0;
    left: 0;
    transform-origin: left; }
  .cs-offcanvas-toggle--active, .cs-offcanvas-toggle--active:active, .cs-offcanvas-toggle--active:focus, .cs-offcanvas-toggle--active:hover {
    background: #FF4604; }
  .cs-offcanvas-toggle--active:after {
    transform: scale(1); }
  .cs-offcanvas-toggle--active .cs-offcanvas-toggle__icon {
    transform: rotate(-45deg); }
    .cs-offcanvas-toggle--active .cs-offcanvas-toggle__icon, .cs-offcanvas-toggle--active .cs-offcanvas-toggle__icon:before, .cs-offcanvas-toggle--active .cs-offcanvas-toggle__icon:after {
      background: #ffffff; }
    .cs-offcanvas-toggle--active .cs-offcanvas-toggle__icon:before, .cs-offcanvas-toggle--active .cs-offcanvas-toggle__icon:after {
      transform: rotate(90deg); }
  .cs-offcanvas-toggle__icon {
    padding: 0;
    margin: 0;
    position: relative;
    display: block;
    width: 22px;
    height: 22px; }
    .cs-offcanvas-toggle__icon:before {
      content: '';
      display: block;
      background-image: url("../images/icons/menu.svg");
      background-repeat: no-repeat;
      background-size: 21px;
      background-position: center;
      width: 100%;
      height: 100%; }
  .cs-offcanvas-toggle__text {
    position: absolute;
    bottom: 0.5rem;
    left: 0;
    width: 100%;
    text-align: center;
    font-size: 0.8rem;
    color: #212121;
    text-transform: uppercase;
    transition: color 0.3s; }
    .cs-offcanvas-toggle--active .cs-offcanvas-toggle__text {
      color: #ffffff; }
    @media (min-width: 48em) {
      .cs-offcanvas-toggle__text {
        bottom: 2rem; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-offcanvas-navigation {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #F4F4F4; }
  .cs-offcanvas-navigation .nav-logo {
    background: #3E3E3E;
    padding: 17px; }
    .cs-offcanvas-navigation .nav-logo img {
      max-width: 160px;
      display: block;
      margin: 0 auto; }
  .cs-offcanvas-navigation__list {
    position: relative;
    z-index: 1;
    width: 100%;
    min-width: 100%;
    list-style: none;
    padding: 0;
    margin: 0;
    background-color: #F4F4F4;
    overflow-y: hidden;
    overflow-x: hidden;
    height: 100%;
    -webkit-overflow-scrolling: touch; }
    .cs-offcanvas-navigation__list--current {
      overflow-y: auto; }
    .cs-offcanvas-navigation__list .cs-offcanvas-navigation__list {
      position: absolute;
      left: 105%;
      height: 100%;
      top: 0;
      transition: transform 0.1s; }
      .cs-offcanvas-navigation__list .cs-offcanvas-navigation__list--active {
        transform: translateX(-105%);
        transform: translate3d(-105%, 0, 0); }
    .cs-offcanvas-navigation__list > li:not(.cs-offcanvas-navigation__item) {
      border-top: 1px #dcdcdc solid; }
      .cs-offcanvas-navigation__list > li:not(.cs-offcanvas-navigation__item):last-of-type {
        border-bottom: 1px #dcdcdc solid; }
  .cs-offcanvas-navigation__item, .cs-offcanvas-navigation__list > li:not(.cs-offcanvas-navigation__item) {
    width: 100%;
    display: flex;
    overflow: hidden;
    margin: 0; }
    .cs-offcanvas-navigation__item + .cs-offcanvas-navigation__item, .cs-offcanvas-navigation__list > li:not(.cs-offcanvas-navigation__item) + .cs-offcanvas-navigation__item, .cs-offcanvas-navigation__list > .cs-offcanvas-navigation__item + li:not(.cs-offcanvas-navigation__item) , .cs-offcanvas-navigation__list > li:not(.cs-offcanvas-navigation__item) + li:not(.cs-offcanvas-navigation__item) {
      border-top: 1px #dcdcdc solid; }
    .cs-offcanvas-navigation__item:last-of-type, .cs-offcanvas-navigation__list > li:last-of-type:not(.cs-offcanvas-navigation__item) {
      border-bottom: 1px #dcdcdc solid; }
    .cs-offcanvas-navigation__item--with-icon .cs-offcanvas-navigation__text {
      position: relative;
      padding-left: 15px; }
  .cs-offcanvas-navigation__link, .cs-offcanvas-navigation__list > li:not(.cs-offcanvas-navigation__item) a {
    min-width: 100%;
    width: 100%;
    display: flex;
    padding: 15px;
    font-size: 1.4rem;
    align-items: center;
    text-transform: none;
    font-weight: 700;
    position: relative; }
    .cs-offcanvas-navigation__link, .cs-offcanvas-navigation__list > li:not(.cs-offcanvas-navigation__item) a, .cs-offcanvas-navigation__link:visited, .cs-offcanvas-navigation__list > li:not(.cs-offcanvas-navigation__item) a:visited {
      color: #212121; }
    .cs-offcanvas-navigation__link:hover, .cs-offcanvas-navigation__list > li:not(.cs-offcanvas-navigation__item) a:hover {
      color: #212121; }
    .cs-offcanvas-navigation__link--sign-in, .cs-offcanvas-navigation__link--sign-out {
      padding-right: 5rem; }
      .cs-offcanvas-navigation__link--sign-in, .cs-offcanvas-navigation__link--sign-in:visited, .cs-offcanvas-navigation__link--sign-out, .cs-offcanvas-navigation__link--sign-out:visited {
        color: #FF4604; }
      .cs-offcanvas-navigation__link--sign-in:hover, .cs-offcanvas-navigation__link--sign-out:hover {
        color: #FF4604; }
        .cs-offcanvas-navigation__link--sign-in:hover .cs-offcanvas-navigation__icon path, .cs-offcanvas-navigation__link--sign-out:hover .cs-offcanvas-navigation__icon path {
          fill: #FF4604; }
      .cs-offcanvas-navigation__link--sign-in .cs-offcanvas-navigation__icon, .cs-offcanvas-navigation__link--sign-out .cs-offcanvas-navigation__icon {
        width: 2.3rem;
        height: 2.7rem;
        right: 15px; }
        .cs-offcanvas-navigation__link--sign-in .cs-offcanvas-navigation__icon path, .cs-offcanvas-navigation__link--sign-out .cs-offcanvas-navigation__icon path {
          fill: #FF4604; }
    .cs-offcanvas-navigation__link--parent .cs-offcanvas-navigation__icon, .cs-offcanvas-navigation__link--return .cs-offcanvas-navigation__icon {
      width: 0.8rem;
      height: 0.8rem; }
    .cs-offcanvas-navigation__link--parent {
      padding-right: 5rem; }
      .cs-offcanvas-navigation__link--parent .cs-offcanvas-navigation__icon {
        right: 15px; }
    .cs-offcanvas-navigation__link--return {
      padding-left: 5rem; }
      .cs-offcanvas-navigation__link--return .cs-offcanvas-navigation__icon {
        left: 15px; }
    .cs-offcanvas-navigation__link--next {
      position: relative; }
      .cs-offcanvas-navigation__link--next:before, .cs-offcanvas-navigation__link--next:after {
        content: '';
        position: absolute;
        top: 50%;
        width: 0.8rem;
        height: 0.2rem;
        left: auto;
        background-color: #FF4604;
        -webkit-backface-visibility: hidden;
                backface-visibility: hidden; }
      .cs-offcanvas-navigation__link--next[aria-expanded="true"]:before, .cs-offcanvas-navigation__link--next[aria-expanded="true"]:after {
        background-color: #6E6E6E; }
      .cs-offcanvas-navigation__link--next:before {
        transform: rotate(135deg) translate3d(50%, 0, 0);
        right: 15px; }
      .cs-offcanvas-navigation__link--next:after {
        right: 15px;
        transform: rotate(-135deg) translate3d(50%, 0, 0); }
      .cs-offcanvas-navigation__link--next[aria-expanded="true"]:before {
        transform: rotate(225deg) translate3d(0, 0, 0);
        right: 0; }
      .cs-offcanvas-navigation__link--next[aria-expanded="true"]:after {
        transform: rotate(-45deg) translate3d(0, 0, 0);
        right: 15px; }
    .cs-offcanvas-navigation__link--prev {
      position: relative; }
      .cs-offcanvas-navigation__link--prev:before, .cs-offcanvas-navigation__link--prev:after {
        content: '';
        position: absolute;
        top: 50%;
        width: 0.8rem;
        height: 0.2rem;
        left: auto;
        background-color: #FF4604;
        -webkit-backface-visibility: hidden;
                backface-visibility: hidden; }
      .cs-offcanvas-navigation__link--prev[aria-expanded="true"]:before, .cs-offcanvas-navigation__link--prev[aria-expanded="true"]:after {
        background-color: #6E6E6E; }
      .cs-offcanvas-navigation__link--prev:before {
        transform: rotate(45deg) translate3d(50%, -50%, 0);
        right: 0; }
      .cs-offcanvas-navigation__link--prev:after {
        right: 0;
        transform: rotate(-45deg) translate3d(50%, 50%, 0); }
      .cs-offcanvas-navigation__link--prev[aria-expanded="true"]:before {
        transform: rotate(-45deg) translate3d(0, 0, 0);
        right: auto; }
      .cs-offcanvas-navigation__link--prev[aria-expanded="true"]:after {
        transform: rotate(-135deg) translate3d(0, 0, 0);
        right: 0; }
      .cs-offcanvas-navigation__link--prev:before, .cs-offcanvas-navigation__link--prev:after {
        left: 15px; }
  .cs-offcanvas-navigation .active > .cs-offcanvas-navigation__link, .cs-offcanvas-navigation .cs-offcanvas-navigation__list > li:not(.cs-offcanvas-navigation__item) .active > a, .cs-offcanvas-navigation__list > li:not(.cs-offcanvas-navigation__item) .cs-offcanvas-navigation .active > a {
    color: #FF4604; }
  .cs-offcanvas-navigation__icon {
    position: absolute;
    top: 50%;
    transform: translateY(-50%); }
    .cs-offcanvas-navigation__icon path {
      fill: #FF4604; }
  .cs-offcanvas-navigation__category-icon-wrapper {
    position: absolute;
    width: 2rem;
    top: 50%;
    left: 0;
    transform: translateY(-50%); }
  .cs-offcanvas-navigation__category-icon {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate3d(0, -50%, 0);
    max-height: 2rem; }
  .cs-offcanvas-navigation__product-qty {
    font-weight: 400;
    color: #696969; }
    .cs-offcanvas-navigation__product-qty:before {
      content: '('; }
    .cs-offcanvas-navigation__product-qty:after {
      content: ')'; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-offcanvas {
  position: relative;
  z-index: 300; }
  .cs-offcanvas__drawer, .cs-offcanvas__overlay {
    position: fixed;
    left: 0;
    top: 0; }
    @media (min-width: 48em) {
      .cs-offcanvas__drawer, .cs-offcanvas__overlay {
        top: 0; } }
    @media (min-width: 64em) {
      .cs-offcanvas__drawer, .cs-offcanvas__overlay {
        display: none; } }
    .cs-offcanvas--mini-cart .cs-offcanvas__drawer, .cs-offcanvas--mini-cart .cs-offcanvas__overlay {
      display: block;
      top: 0; }
  .cs-offcanvas__overlay {
    width: 100%;
    height: 100%;
    background-color: transparent;
    transition: background-color 0.3s, transform 1ms 0.3s;
    transform: scale(0);
    cursor: pointer; }
  .cs-offcanvas .overlay--visible {
    transform: scale(1);
    background: rgba(0, 0, 0, 0.7);
    transition: background-color 0.3s; }
  .cs-offcanvas__drawer {
    position: fixed;
    bottom: 0;
    background: #F4F4F4;
    transition: transform 0.3s;
    width: 72%;
    max-width: 280px; }
    .cs-offcanvas--side_left .cs-offcanvas__drawer {
      left: 0;
      right: auto;
      transform: translate3d(-105%, 0, 0); }
    .cs-offcanvas--side_right .cs-offcanvas__drawer {
      left: auto;
      right: 0;
      transform: translate3d(105%, 0, 0); }
  .cs-offcanvas .drawer--visible {
    transform: translate3d(0, 0, 0) !important; }
  .cs-offcanvas__spinner {
    position: absolute;
    width: 6rem;
    height: 6rem;
    left: 50%;
    top: 20%;
    margin-left: -3rem; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-page-teaser--container {
  position: relative; }
  .cs-page-teaser--container picture {
    top: 0;
    left: 0;
    opacity: 0; }
  .cs-page-teaser--container picture,
  .cs-page-teaser--container img {
    display: block; }
  .cs-page-teaser--container .cms-page__teaser-wrapper {
    height: 351px; }
    @media (max-width: 47.99em) {
      .cs-page-teaser--container .cms-page__teaser-wrapper {
        height: 200px !important; } }
  .cs-page-teaser--container .cms-page__teaser-image {
    position: relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 351px; }
    @media (max-width: 47.99em) {
      .cs-page-teaser--container .cms-page__teaser-image {
        min-height: 200px; } }
  .cs-page-teaser--container .cms-page__teaser > picture,
  .cs-page-teaser--container .cms-page__teaser > img {
    display: none;
    visibility: hidden; }
  .cs-page-teaser--container .page-title-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: center; }
  @media (min-width: 48em) {
    .cs-page-teaser--container .cms-page__teaser:after {
      content: '';
      display: block;
      background-image: url("../images/icons/arrow-down@1x.svg");
      background-repeat: no-repeat;
      background-size: contain;
      height: 40px;
      width: 40px;
      position: absolute;
      bottom: 20px;
      left: 50%;
      margin-left: -20px; } }
  @media (max-width: 47.99em) {
    .cs-page-teaser--container .cms-page__teaser-image {
      min-height: 200px !important; } }

.page-title {
  font-family: "Red Hat Display", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 4rem;
  color: #212121;
  font-weight: 700;
  text-transform: uppercase;
  margin: 1rem 0 2rem;
  padding-bottom: 1rem;
  text-transform: uppercase;
  font-weight: 600;
  color: #ffffff; }
  @media (max-width: 47.99em) {
    .page-title {
      font-size: 3rem;
      text-align: center; } }
  .page-title__headline {
    margin: 0;
    padding: 0;
    font-size: inherit;
    font-weight: inherit;
    font-family: inherit;
    display: inline; }
  .page-title__span {
    color: #ffffff;
    font-weight: 600;
    padding: 0; }

.cms-page-view .page-title {
  padding: 0;
  margin: 0; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@media (max-width: 64em) {
  .columns .column.main {
    padding: 0; } }

.cs-container--page-bottom {
  background: #000; }

.cs-page-bottom {
  padding: 10px 0;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media (min-width: 48em) {
    .cs-page-bottom {
      flex-wrap: wrap;
      justify-content: flex-start; } }
  @media (min-width: 64em) {
    .cs-page-bottom {
      flex-wrap: nowrap;
      justify-content: center; } }
  .page-print .cs-page-bottom {
    display: none; }
  .cs-page-bottom__image {
    height: 3rem;
    width: auto; }
    .cs-page-bottom__image--circle {
      width: 4.7rem;
      height: 4.7rem;
      min-width: 4.7rem;
      min-height: 4.7rem;
      margin-right: 1rem; }
  .cs-page-bottom__text,
  .cs-page-bottom .copyright {
    font-size: 1.2rem;
    color: #ffffff;
    margin-bottom: 0;
    margin-right: 0.6rem; }
    .cs-page-bottom__text--small,
    .cs-page-bottom .copyright--small {
      font-size: 1rem; }
  .cs-page-bottom__group {
    display: flex;
    align-items: center;
    flex-grow: 1;
    flex-shrink: 1;
    justify-content: space-between; }
    @media (min-width: 48em) {
      .cs-page-bottom__group {
        width: 100%;
        padding: 1rem 0; } }
    @media (min-width: 64em) {
      .cs-page-bottom__group {
        width: auto;
        padding: 0; } }
    .cs-page-bottom__group--info {
      display: none;
      flex-direction: row-reverse; }
      @media (min-width: 48em) {
        .cs-page-bottom__group--info {
          display: flex;
          flex-basis: 40%;
          justify-content: flex-end;
          padding-right: 1.5rem; }
          .cs-page-bottom__group--info .cs-page-bottom__text {
            max-width: 20rem; } }
      @media (min-width: 64em) {
        .cs-page-bottom__group--info {
          flex-basis: 17%;
          padding-right: 0; }
          .cs-page-bottom__group--info .cs-page-bottom__text {
            max-width: 100%; } }
    .cs-page-bottom__group--shipping {
      display: none; }
      @media (min-width: 48em) {
        .cs-page-bottom__group--shipping {
          display: flex;
          flex-basis: 55%;
          padding-left: 1.5rem; } }
      @media (min-width: 64em) {
        .cs-page-bottom__group--shipping {
          flex-basis: 33%;
          padding-left: 4rem; } }
    .cs-page-bottom__group--payment {
      flex-basis: 50%; }
      @media (max-width: 47.99em) {
        .cs-page-bottom__group--payment .cs-page-bottom__text {
          display: none; } }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-page-bottom__group--payment {
    flex-basis: 100%; } }
      @media (min-width: 64em) {
        .cs-page-bottom__group--payment {
          padding-left: 4rem; } }
    @media (min-width: 64em) {
      .cs-page-bottom__group--shipping, .cs-page-bottom__group--payment {
        position: relative; }
        .cs-page-bottom__group--shipping:before, .cs-page-bottom__group--payment:before {
          margin: 0 1rem;
          content: '';
          position: absolute;
          left: 1rem;
          top: 50%;
          width: 0.2rem;
          height: 2rem;
          background: #ffffff;
          transform: translateY(-50%); } }
  .cs-page-bottom__logo {
    display: flex;
    flex-shrink: 1;
    height: 2rem; }
    @media (max-width: 63.99em) {
      .cs-page-bottom__logo {
        width: auto; } }
    .cs-page-bottom__logo--hermes {
      width: 12.2rem; }
    .cs-page-bottom__logo--dhl {
      height: auto;
      max-height: 2rem;
      min-width: 8.6rem;
      padding-left: 10px; }
    .cs-page-bottom__logo--paypal {
      width: 6.2rem; }
    .cs-page-bottom__logo--visa {
      height: auto;
      max-height: 2rem;
      min-width: 5.5rem; }
    .cs-page-bottom__logo--mastercard {
      width: 3.3rem; }
    .cs-page-bottom__logo--klarna-sofort {
      height: auto;
      max-height: 2.5rem;
      min-height: 2.5rem; }
    .cs-page-bottom__logo--klarna {
      width: 7rem; }
    .cs-page-bottom__logo--gls {
      width: 5rem; }
    .cs-page-bottom__logo--giropay {
      width: 4.8rem; }
    .cs-page-bottom__logo--ec {
      width: 1.8rem; }
    .cs-page-bottom__logo--paydirekt {
      width: 6rem; }
    .cs-page-bottom__logo--lastschrift {
      width: 6.15rem; }
    .cs-page-bottom__logo--vorkasse {
      width: 8.3rem; }
    .cs-page-bottom__logo--rechnung {
      width: 6.15rem; }
    .cs-page-bottom__logo + .cs-page-bottom__logo {
      margin-left: 0.5rem; }

@media (max-width: 40em) {
  .cs-container--page-pdp-bottom,
  .cs-container--products-carousel {
    padding: 0; } }

.cs-container--page-bottom {
  max-width: none; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/*
 * Because price-box is used in multiple components like tile, buybox etc,
 * we need to move variables to separate file to have possibility to include them
 * in each component without generate price-box component styles multiple times
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
.price-box {
  display: inline-block; }
  .price-box .price {
    font-weight: 700;
    white-space: nowrap; }
    .price-box .price-label {
      display: none; }
  .price-box .old-price .price {
    font-size: 0.65rem;
    text-decoration: line-through; }
  .price-box .old-price.no-display {
    display: none; }
  .price-box .special-price .price {
    padding-left: 0.4em; }
  .price-box .price {
    color: #000;
    font-size: 1.4rem;
    font-weight: 400;
    margin: 0; }
    .price-box .price-label {
      color: #000;
      display: inline-block;
      font-size: 1.4rem;
      font-weight: 400;
      text-transform: none;
      margin: 0 0 0.3rem 0; }
      .price-box .price-label:after {
        content: ':'; }
      body
p
.price-box .price-label {
        border: 0;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
        white-space: nowrap;
        /* 1 */ }
    .price-box .price-msrp_price {
      margin-bottom: 5px; }
  .price-box .price-wrapper {
    display: inline-block;
    text-decoration: none; }
  .price-box .price-from,
  .price-box .price-to {
    display: inline-block;
    margin: 0;
    padding: 0; }
    .price-box .price-from > .price-container,
    .price-box .price-to > .price-container {
      margin-right: 5px;
      font-size: 1.4rem; }
    .price-box .price-from .price-label,
    .price-box .price-to .price-label {
      display: inline-block;
      padding: 0; }
  .price-box .old-price {
    text-decoration: none; }
    .price-box .old-price.map-old-price .price-wrapper {
      text-decoration: none !important; }
    .price-box .old-price .price-wrapper .price {
      text-decoration: line-through !important; }
    .price-box .old-price .price,
    .price-box .old-price .price-wrapper {
      color: #000;
      font-size: 1.4rem;
      font-weight: 400; }
  .price-box .special-price > .price-container {
    margin-right: 5px; }
  .price-box .special-price .price {
    padding-left: 0;
    color: #CC1C3A;
    font-size: 1.4rem;
    font-weight: 400; }
  .price-box .special-price.active .price {
    color: #CC1C3A; }
  .price-box .price-from {
    margin-right: 1rem; }
  .cs-price--pdp_dailydeal-countdown .price-box:not(.price-final_price_without_daily_deal) {
    display: none; }
  .price-box .regular-price-container:not(.with-special) .map-old-price {
    display: block; }

.cs-bundle-box__add .price-as-configured {
  margin: 1rem 0 0; }

.minimal-price-link {
  margin-top: 0 !important;
  margin-right: 1.5rem;
  position: relative; }
  .minimal-price-link:after {
    color: #000;
    display: block;
    content: '-';
    right: -1rem;
    top: 0;
    position: absolute; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/*
 * Because price-box is used in multiple components like tile, buybox etc,
 * we need to move variables to separate file to have possibility to include them
 * in each component without generate price-box component styles multiple times
*/
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/***
 * Using psuedo elements to maintain an elements aspect ratio, even as it scales
 * It's using only for IE11 and Edge (version which doesn't support native CSS grid) browsers
 * For browsers which support native CSS grid, we are using mixins contain `reset` in mixin name
 * to override default mixins (progressive enhancement)
 * https://css-tricks.com/snippets/sass/maintain-aspect-ratio-mixin/
 * @param {number} $width: width of the element;
 * @param {number} $height: height of the element;
 * @param {string} $contentClass: class of the direct child element to be positioned absolutely;
 * @param {boolean} $autoposition: tells if item shall take 100% of parent size or if it can be wider/higher if needed;
 */
/**
 * String to number converter
 * https://www.sassmeister.com/gist/9fa19d254864f33d4a80
 * @author Hugo Giraudel
 * @param {String | Number} $value - Value to be parsed
 * @return {Number}
 */
/***
 * Remove browser's margins, paddings and list style rules
 */
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
.cs-product-tile {
  width: 100%;
  height: 100%;
  position: relative;
  border-radius: 3px;
  background-color: #ffffff; }
  @media (min-width: 64em) {
    .cs-product-tile:hover {
      z-index: 5;
      transition: z-index 0.0001s; } }
  .cs-product-tile--clickable:hover {
    cursor: pointer; }
  .cs-product-tile--hidden .cs-product-tile__main,
  .cs-product-tile--hidden .cs-product-tile__addons {
    visibility: hidden !important; }
  .cs-product-tile--grid.cs-product-tile--static .cs-product-tile__addons {
    display: none; }
  .cs-product-tile__container {
    display: flex;
    height: 100%;
    width: 100%; }
    .cs-product-tile--grid .cs-product-tile__container {
      flex-direction: column;
      padding: 1.2rem; }
  .cs-product-tile--list .cs-product-tile__link {
    display: flex;
    width: 100%; }
  .cs-product-tile--grid .cs-product-tile__link {
    display: block;
    height: 100%; }
  .cs-product-tile__thumbnail {
    padding: 0;
    display: flex; }
  .cs-product-tile__thumbnail-link {
    display: block;
    position: relative;
    overflow: hidden; }
    .cs-product-tile--grid .cs-product-tile__thumbnail-link {
      width: 100%; }
    .cs-product-tile__thumbnail-link:hover, .cs-product-tile__thumbnail-link:visited {
      color: inherit;
      text-decoration: inherit; }
  .cs-product-tile__figure {
    margin: 0;
    padding: 0 0 15px;
    height: 100%;
    overflow: hidden; }
    .cs-product-tile--grid .cs-product-tile__figure {
      width: 100%;
      justify-content: flex-start;
      align-items: center;
      top: 0;
      position: relative; }
      .cs-product-tile--grid .cs-product-tile__figure:before {
        display: block;
        content: '';
        width: 100%;
        padding-top: 100%; }
      .cs-product-tile--grid .cs-product-tile__figure .cs-product-tile__thumbnail-link {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0; }
  .cs-product-tile__image {
    width: auto;
    height: auto;
    max-width: 100%;
    margin: auto; }
    .cs-product-tile--grid .cs-product-tile__image {
      position: absolute;
      top: 0;
      left: 0; }
    .cs-product-tile--list .cs-product-tile__image {
      max-height: 100%;
      position: relative !important;
      margin-top: 0; }
  .cs-product-tile__badges {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap; }
    .cs-product-tile--list .cs-product-tile__badges--list {
      display: none; }
    .cs-product-tile--grid .cs-product-tile__badges {
      position: absolute;
      z-index: 2;
      top: 0;
      right: 0;
      flex-direction: column; }
    .cs-product-tile--list .cs-product-tile__badges {
      margin: 0; }
  .cs-product-tile__badge {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: relative;
    transform: none;
    background-color: #FF4604;
    color: #ffffff;
    border: 0;
    border-radius: 0;
    padding: 10px 15px 10px 25px;
    font-size: 1.3rem;
    font-weight: 600;
    min-height: 2em;
    text-transform: uppercase;
    border-top-left-radius: 25px;
    border-bottom-left-radius: 25px;
    max-width: 125px; }
    @media (max-width: 47.99em) {
      .cs-product-tile__badge {
        font-size: 10px;
        max-width: 88px;
        padding: 8px 13px; } }
    @media (min-width: 48.01em) {
      .cs-product-tile__badge {
        font-size: 13px; } }
    .cs-product-tile__badge--discount {
      background-color: #FF4604;
      color: #ffffff; }
      .cs-product-tile__badge--discount .cs-product-tile__badge-text {
        line-height: normal;
        transform: none;
        text-align: right; }
        .cs-product-tile__badge--discount .cs-product-tile__badge-text + .cs-product-tile__badge--discount .cs-product-tile__badge-text {
          margin-left: 0.5rem; }
    .cs-product-tile__badge--sale {
      background-color: #CC1C3A;
      color: #ffffff; }
      .cs-product-tile__badge--sale .cs-product-tile__badge-text {
        line-height: normal;
        transform: none;
        text-align: right; }
        .cs-product-tile__badge--sale .cs-product-tile__badge-text + .cs-product-tile__badge--sale .cs-product-tile__badge-text {
          margin-left: 0.5rem; }
    .cs-product-tile__badge--new {
      background-color: #A9C546;
      color: #ffffff; }
      .cs-product-tile__badge--new .cs-product-tile__badge-text {
        line-height: normal;
        transform: none;
        text-align: right; }
        .cs-product-tile__badge--new .cs-product-tile__badge-text + .cs-product-tile__badge--new .cs-product-tile__badge-text {
          margin-left: 0.5rem; }
    .cs-product-tile__badge--free-shipping {
      background-color: #A9C546;
      color: #ffffff; }
      .cs-product-tile__badge--free-shipping .cs-product-tile__badge-text {
        line-height: normal;
        transform: none;
        text-align: right; }
        .cs-product-tile__badge--free-shipping .cs-product-tile__badge-text + .cs-product-tile__badge--free-shipping .cs-product-tile__badge-text {
          margin-left: 0.5rem; }
    .cs-product-tile__badge--popular {
      background-color: #A9C546;
      color: #ffffff; }
      .cs-product-tile__badge--popular .cs-product-tile__badge-text {
        line-height: normal;
        transform: none;
        text-align: right; }
        .cs-product-tile__badge--popular .cs-product-tile__badge-text + .cs-product-tile__badge--popular .cs-product-tile__badge-text {
          margin-left: 0.5rem; }
    .cs-product-tile__badge--dailydeal {
      background-color: #CC1C3A;
      color: #ffffff; }
      .cs-product-tile__badge--dailydeal .cs-product-tile__badge-text {
        line-height: normal;
        transform: none;
        text-align: right; }
        .cs-product-tile__badge--dailydeal .cs-product-tile__badge-text + .cs-product-tile__badge--dailydeal .cs-product-tile__badge-text {
          margin-left: 0.5rem; }
  .cs-product-tile__badge-item {
    display: flex;
    flex-direction: row;
    justify-content: flex-end; }
    .cs-product-tile--grid .cs-product-tile__badge-item {
      margin: 0 0 0.5rem;
      width: 100%; }
    .cs-product-tile--list .cs-product-tile__badge-item {
      margin: 0 0 0.3rem 0; }
    .cs-product-tile__badge-item:empty {
      display: none; }
  .cs-product-tile__badge-text {
    line-height: normal;
    transform: none;
    text-align: right; }
    .cs-product-tile__badge-text + .cs-product-tile__badge-text {
      margin-left: 0.5rem; }
  .cs-product-tile--list .cs-product-tile__gallery {
    display: none !important; }
  .cs-product-tile__content {
    padding: 0;
    display: flex;
    align-items: stretch;
    border-top: 1px solid #EFEFF0; }
    .cs-product-tile--grid .cs-product-tile__content {
      flex-direction: column;
      flex: 1 1; }
  .cs-product-tile--grid .cs-product-tile__addons {
    display: none; }
  .cs-product-tile__addons-top {
    width: 100%; }
  .cs-product-tile__addons-sides {
    display: flex;
    width: 100%; }
  .ie11 .cs-product-tile__addons-right {
    width: 30%; }
  .cs-product-tile--grid .cs-product-tile__addons-right {
    align-items: flex-end; }
  .cs-product-tile__addons-bottom {
    width: 100%; }
  .cs-product-tile__addons-left {
    padding-right: 1rem;
    flex: 1 1 auto;
    display: flex;
    justify-content: flex-end;
    flex-direction: column; }
    .ie11 .cs-product-tile__addons-left {
      width: 70%; }
    .cs-product-tile--grid .cs-product-tile__addons-left {
      align-items: flex-start; }
  .cs-product-tile__review--grid {
    margin: 1rem 0 0; }
  .cs-product-tile__review:empty {
    margin: 0 !important; }
  .cs-product-tile--grid .cs-product-tile__review,
  .cs-product-tile--list .cs-product-tile__review {
    display: none; }
  .cs-product-tile__stock {
    display: flex;
    align-items: center;
    border-radius: 25px;
    padding: 0 10px;
    margin-right: 2px;
    color: #ffffff;
    font-size: 1.2rem;
    line-height: 2.4rem; }
    .cs-product-tile__stock--in {
      background-color: #A9C546; }
      .cs-product-tile__stock--in:before {
        content: '';
        display: inline-block;
        width: 12px;
        height: 10px;
        background: url("../images/icons/tick-white.svg");
        background-repeat: no-repeat;
        background-size: contain;
        margin-right: 2px; }
    .cs-product-tile__stock--out {
      background-color: #800000; }
      .cs-product-tile__stock--out:before {
        content: '';
        display: inline-block;
        width: 12px;
        height: 10px;
        background: url("../images/icons/out.svg");
        background-repeat: no-repeat;
        background-size: contain;
        margin-right: 2px; }
    .cs-product-tile--grid .cs-product-tile__stock {
      margin: 0; }
  .cs-product-tile--list .cs-product-tile__dailydeal--grid {
    display: none !important; }
  .cs-product-tile--grid .cs-product-tile__dailydeal {
    margin: 0; }
  .cs-product-tile--list .cs-product-tile__dailydeal {
    margin: 1rem 0 0 0; }
  .cs-product-tile__qty {
    margin-bottom: 1rem;
    width: 11rem;
    margin-left: auto; }
  .cs-product-tile__main {
    position: relative;
    display: flex;
    align-items: stretch; }
    .cs-product-tile--grid .cs-product-tile__main {
      flex-direction: column;
      height: 100%;
      justify-content: flex-start; }
      @media (min-width: 40.01em) {
        .cs-product-tile--grid .cs-product-tile__main {
          padding: 0 15px; } }
      @media (max-width: 40em) {
        .cs-product-tile--grid .cs-product-tile__main {
          justify-content: flex-start;
          padding: 0 5px; } }
  .cs-product-tile__details {
    flex-shrink: 0; }
  .cs-product-tile__swatches {
    display: flex; }
    .cs-product-tile--grid .cs-product-tile__swatches {
      margin: 1.5rem 0 1rem;
      min-height: 2.6rem; }
      .cs-product-tile--grid .cs-product-tile__swatches,
      .cs-product-tile--grid .cs-product-tile__swatches .swatch-attribute-options {
        justify-content: flex-start; }
    .cs-product-tile__swatches--list:empty {
      margin: 0 !important; }
    .ie11 .cs-product-tile__swatches {
      width: 100%; }
  .cs-product-tile__brand {
    height: 2rem;
    margin-top: 1.2rem;
    text-align: center; }
    .cs-product-tile__brand--empty {
      height: 0; }
  .cs-product-tile__brand-text {
    font-size: 1.2rem;
    color: #3E3E3E; }
  .cs-product-tile__name {
    line-height: 2.5rem;
    font-weight: 600;
    font-size: 1.4rem;
    margin-bottom: 5px;
    overflow: hidden;
    width: 100%; }
    @media (max-width: 40em) {
      .cs-product-tile__name {
        font-size: 13px;
        line-height: 18px; } }
    .cs-product-tile--grid .cs-product-tile__name {
      margin: 0;
      text-align: left; }
    .cs-product-tile--grid .cs-product-tile__details > .cs-product-tile__name {
      margin-top: 1.2rem; }
      @media (max-width: 40em) {
        .cs-product-tile--grid .cs-product-tile__details > .cs-product-tile__name {
          margin-top: 5px;
          margin-bottom: 10px; } }
    .cs-product-tile--grid .cs-product-tile__details > .cs-product-tile__brand + .cs-product-tile__name {
      margin-top: 0; }
    .cs-product-tile--grid .cs-product-tile__details > .cs-product-tile__brand--empty + .cs-product-tile__name {
      height: 7.2rem; }
  .cs-product-tile__name-link {
    color: #212121;
    transition: color 0.15s linear;
    /* disabled because autoprefixer can't build this */
    /* stylelint-disable value-no-vendor-prefix */
    /* stylelint-disable property-no-vendor-prefix */
    /* autoprefixer: ignore next */
    display: -webkit-box;
    /* autoprefixer: ignore next */
    -webkit-box-orient: vertical;
    /* autoprefixer: ignore next */
    -webkit-line-clamp: 2;
    /* autoprefixer: ignore next */
    line-clamp: 2;
    max-width: 100%;
    /* stylelint-enable value-no-vendor-prefix */
    /* stylelint-enable property-no-vendor-prefix */ }
    .cs-product-tile__name-link:visited {
      color: #212121; }
    .cs-product-tile__name-link:hover {
      color: #FF7442;
      text-decoration: none; }
  .cs-product-tile__description {
    display: none;
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.4;
    color: #696969;
    margin: 0 0 1rem; }
    .cs-product-tile--grid .cs-product-tile__description {
      display: none; }
    .cs-product-tile__description:empty {
      margin: 0 !important; }
  .cs-product-tile__additional--list {
    margin: auto 0 0 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%; }
    @media (min-width: 48em) {
      .cs-product-tile__additional--list {
        flex-direction: row;
        align-items: flex-end;
        justify-content: space-between; } }
    .cs-products-list--with-sidebar .cs-product-tile__additional--list {
      flex-direction: column;
      align-items: flex-start; }
      @media (min-width: 64em) {
        .cs-products-list--with-sidebar .cs-product-tile__additional--list {
          flex-direction: row;
          align-items: flex-end;
          justify-content: space-between; } }
  .ie11 .cs-product-tile__addto {
    width: 100%; }
  .cs-product-tile--grid .cs-product-tile__addto--grid {
    display: none; }
  .cs-product-tile--list .cs-product-tile__addto--grid {
    display: none; }
  .cs-product-tile--list .cs-product-tile__addto--list {
    display: none; }
  .cs-product-tile--grid .cs-product-tile__addto--list {
    display: none; }
  .cs-product-tile--grid .cs-product-tile__addto {
    margin: 1rem 0 0; }
  .cs-product-tile--list .cs-product-tile__addto {
    margin: 1rem 0 0; }
  .cs-product-tile__addto .cs-links-block-addto__link {
    font-size: 1.3rem; }
  .cs-dashboard__bottom-wishlist .cs-product-tile__addto,
  .cs-dashboard__wishlist-products-grid .cs-product-tile__addto {
    display: none; }
  .cs-product-tile__addto:empty {
    margin: 0 !important; }
  .ie11 .cs-product-tile__addto .cs-links-block-addto__item--wishlist {
    width: 100%; }
  .ie11 .cs-product-tile__addto .cs-links-block-addto--grid {
    width: 100%; }
  .cs-product-tile--grid .cs-product-tile__addtocart {
    margin: 1rem 0 0; }
  .cs-product-tile--list .cs-product-tile__addtocart {
    margin: 0.5rem 0 0; }
  .cs-product-tile__addtocart-button {
    width: 100%; }
  .cs-product-tile__wishlist-remove-icon {
    position: absolute;
    top: 0;
    right: 0;
    background: #ffffff;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1.2rem; }
    @media (pointer: fine) {
      .cs-product-tile__wishlist-remove-icon {
        display: none; } }
  .cs-product-tile__wishlist-remove-icon-image {
    width: 1.2rem;
    height: 1.2rem;
    fill: #6E6E6E; }
  .cs-product-tile__wishlist-comment {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }
    .cs-product-tile--list .cs-product-tile__wishlist-comment {
      border: 0;
      clip: rect(0 0 0 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px;
      white-space: nowrap;
      /* 1 */ }
  .cs-product-tile__wishlist-actions {
    margin: 1rem 0 0;
    display: flex;
    justify-content: space-between; }
  .cs-product-tile__price {
    line-height: 1.2; }
    @media (max-width: 40em) {
      .cs-product-tile__price {
        font-size: 13px; } }
    .cs-product-tile--grid .cs-product-tile__price--grid {
      display: block; }
    .cs-product-tile--list .cs-product-tile__price--list {
      display: none; }
    .cs-product-tile__price .price-box {
      display: flex;
      flex-direction: column; }
      .cs-product-tile__price .price-box .price-label {
        margin: 0 3px 0 0; }
      .cs-product-tile__price .price-box .price {
        font-size: 1.4rem;
        font-weight: 400;
        color: #000; }
        @media (max-width: 40em) {
          .cs-product-tile__price .price-box .price {
            font-size: 13px;
            letter-spacing: 0.5px; } }
      .cs-product-tile__price .price-box .map-old-price .price {
        font-size: 1.4rem; }
      .cs-product-tile__price .price-box .old-price .price {
        font-size: 1.4rem;
        font-weight: 400;
        color: #000;
        text-decoration: none; }
        @media (max-width: 40em) {
          .cs-product-tile__price .price-box .old-price .price {
            font-size: 13px;
            letter-spacing: 0.5px; } }
      .cs-product-tile__price .price-box .with-special-price {
        margin-right: 4px; }
      .cs-product-tile__price .price-box .special-price,
      .cs-product-tile__price .price-box .with-special-price {
        margin-right: 5px; }
        .cs-product-tile__price .price-box .special-price .price,
        .cs-product-tile__price .price-box .special-price .price-label,
        .cs-product-tile__price .price-box .with-special-price .price,
        .cs-product-tile__price .price-box .with-special-price .price-label {
          font-size: 1.4rem;
          font-weight: 400;
          color: #CC1C3A; }
          @media (max-width: 40em) {
            .cs-product-tile__price .price-box .special-price .price,
            .cs-product-tile__price .price-box .special-price .price-label,
            .cs-product-tile__price .price-box .with-special-price .price,
            .cs-product-tile__price .price-box .with-special-price .price-label {
              font-size: 13px;
              letter-spacing: 0.5px; } }
      .cs-product-tile__price .price-box .minimal-price {
        margin: 0;
        display: flex; }
      .cs-product-tile--grid .cs-product-tile__price .price-box {
        margin: 0;
        align-items: flex-start;
        justify-content: flex-start; }
        .cs-product-tile--grid .cs-product-tile__price .price-box .minimal-price {
          align-items: flex-end; }
        .cs-product-tile--grid .cs-product-tile__price .price-box .old-price .price {
          margin-right: 1rem; }
    .cs-product-tile__price--dailydeal-countdown .price-box:not(.price-final_price_without_daily_deal) {
      display: none; }
    .cs-product-tile__price--dailydeal-countdown .price-box.price-box--visible {
      display: flex; }

@media (max-width: 40em) {
  .cs-container--products-carousel .cs-product-tile__container {
    padding: 1.5rem 3rem; } }

@media (max-width: 40em) {
  .cs-container--products-carousel .cs-products-carousel__nav--prev {
    left: -14px; } }

@media (max-width: 40em) {
  .cs-container--products-carousel .cs-products-carousel__nav--next {
    right: -14px; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-pwa-notification-panel {
  display: none; }
  @media (min-width: 48em) {
    .cs-pwa-notification-panel {
      flex-wrap: nowrap; } }
  .cs-pwa-notification-panel--request .cs-pwa-notification-panel__icon--request {
    display: block; }
  .cs-pwa-notification-panel--request .cs-pwa-notification-panel__message--request {
    display: flex; }
  .cs-pwa-notification-panel--request .cs-pwa-notification-panel__action--request {
    display: block; }
  .cs-pwa-notification-panel--browser .cs-pwa-notification-panel__icon--browser {
    display: block; }
  .cs-pwa-notification-panel--browser .cs-pwa-notification-panel__message--browser {
    display: flex; }
  .cs-pwa-notification-panel--browser .cs-pwa-notification-panel__action--browser {
    display: block; }
  .cs-pwa-notification-panel--enabled .cs-pwa-notification-panel__icon--enabled {
    display: block; }
  .cs-pwa-notification-panel--enabled .cs-pwa-notification-panel__message--enabled {
    display: flex; }
  .cs-pwa-notification-panel__wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    position: relative;
    background: #ffffff;
    padding: 2rem 1.5rem;
    border: none;
    border-radius: 3px;
    box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.1), -2px -2px 3px rgba(0, 0, 0, 0.1);
    margin: 1.5rem 0; }
  .cs-pwa-notification-panel__icon-wrapper {
    margin: 0 1.5rem; }
    @media (max-width: 39.99em) {
      .cs-pwa-notification-panel__icon-wrapper {
        display: none; } }
  .cs-pwa-notification-panel__icon {
    display: none;
    width: 3.5rem;
    height: 3.5rem; }
    .cs-pwa-notification-panel__icon--animate {
      -webkit-animation: ringing 6s infinite;
              animation: ringing 6s infinite; }
  .cs-pwa-notification-panel__message-wrapper {
    margin: 0 1.5rem;
    flex: 1 1; }
    @media (max-width: 47.99em) {
      .cs-pwa-notification-panel__message-wrapper {
        padding-right: 3rem; } }
  .cs-pwa-notification-panel__message {
    display: none;
    flex-direction: column; }
    .cs-pwa-notification-panel__message--request .cs-pwa-notification-panel__message-title {
      color: #000; }
    .cs-pwa-notification-panel__message--browser .cs-pwa-notification-panel__message-title {
      color: #000; }
    .cs-pwa-notification-panel__message--enabled .cs-pwa-notification-panel__message-title {
      color: #A9C546; }
    .cs-pwa-notification-panel__message-title {
      font-size: 2rem;
      font-weight: 700; }
    .cs-pwa-notification-panel__message-description {
      font-size: 1.4rem;
      font-weight: 400;
      color: #3E3E3E; }
  .cs-pwa-notification-panel__actions {
    margin: 0 1.5rem; }
    @media (max-width: 47.99em) {
      .cs-pwa-notification-panel__actions {
        display: flex;
        justify-content: center;
        flex: 1 1 100%;
        margin-top: 2rem; } }
  .cs-pwa-notification-panel__action {
    display: none; }
    .cs-pwa-notification-panel__action--browser {
      width: 30rem; }
      @media (max-width: 47.99em) {
        .cs-pwa-notification-panel__action--browser {
          width: 100%;
          max-width: 30rem; } }
  @media (max-width: 39.99em) {
    .cs-pwa-notification-panel__button {
      width: 100%; } }
  .cs-pwa-notification-panel__button:first-of-type {
    margin: 0 0 0.5rem; }
    @media (min-width: 40em) {
      .cs-pwa-notification-panel__button:first-of-type {
        margin: 0 1.5rem 0; } }
  .cs-pwa-notification-panel__button--accept {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: uppercase;
    border-radius: 25px;
    font-family: "Red Hat Display";
    padding: 8px 25px;
    font-size: 1.2rem;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    will-change: transform, background-color, border-color, fill, color; }
    .cs-pwa-notification-panel__button--accept.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .cs-pwa-notification-panel__button--accept.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .cs-pwa-notification-panel__button--accept::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-pwa-notification-panel__button--accept, .cs-pwa-notification-panel__button--accept:visited {
      cursor: pointer;
      border-radius: 25px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF4604; }
      .cs-pwa-notification-panel__button--accept *, .cs-pwa-notification-panel__button--accept:visited * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-pwa-notification-panel__button--accept:hover:not([disabled]), .cs-pwa-notification-panel__button--accept:focus:not([disabled]), .cs-pwa-notification-panel__button--accept:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF7442; }
      .cs-pwa-notification-panel__button--accept:hover:not([disabled]) *, .cs-pwa-notification-panel__button--accept:focus:not([disabled]) *, .cs-pwa-notification-panel__button--accept:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-pwa-notification-panel__button--accept[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .cs-pwa-notification-panel__button--accept .cs-pwa-notification-panel__button-span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }
    .cs-pwa-notification-panel__button--accept .cs-pwa-notification-panel__button-icon {
      max-width: 1em;
      max-height: 1.4rem;
      z-index: 2;
      height: auto;
      width: 100%;
      display: none; }
  .cs-pwa-notification-panel__button--decline {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: uppercase;
    border-radius: 25px;
    font-family: "Red Hat Display";
    padding: 8px 25px;
    font-size: 1.2rem;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    will-change: transform, background-color, border-color, fill, color; }
    .cs-pwa-notification-panel__button--decline.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .cs-pwa-notification-panel__button--decline.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .cs-pwa-notification-panel__button--decline::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-pwa-notification-panel__button--decline, .cs-pwa-notification-panel__button--decline:visited {
      cursor: pointer;
      border-radius: 25px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #000; }
      .cs-pwa-notification-panel__button--decline *, .cs-pwa-notification-panel__button--decline:visited * {
        color: #ffffff;
        fill: #FF4604; }
    .cs-pwa-notification-panel__button--decline:hover:not([disabled]), .cs-pwa-notification-panel__button--decline:focus:not([disabled]), .cs-pwa-notification-panel__button--decline:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #3E3E3E; }
      .cs-pwa-notification-panel__button--decline:hover:not([disabled]) *, .cs-pwa-notification-panel__button--decline:focus:not([disabled]) *, .cs-pwa-notification-panel__button--decline:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-pwa-notification-panel__button--decline[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .cs-pwa-notification-panel__button--decline .cs-pwa-notification-panel__button-span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }
    .cs-pwa-notification-panel__button--decline .cs-pwa-notification-panel__button-icon {
      max-width: 1em;
      max-height: 1.4rem;
      z-index: 2;
      height: auto;
      width: 100%;
      display: none; }
  .cs-pwa-notification-panel__permission {
    display: flex;
    flex-direction: column;
    border: none;
    border-radius: 3px;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1), -2px -2px 5px rgba(0, 0, 0, 0.1);
    font-size: 1.2rem;
    color: #3E3E3E;
    padding: 1rem 2rem; }
    .cs-pwa-notification-panel__permission-icon {
      width: 1.2rem;
      height: 1.2rem;
      margin-right: 0.5rem; }
    .cs-pwa-notification-panel__permission-button-wrapper {
      display: flex;
      justify-content: flex-end;
      margin-top: 1rem; }
    .cs-pwa-notification-panel__permission-button {
      padding: 0.2rem 2rem;
      margin: 0 0.2rem;
      border: 1px solid #000;
      color: #000;
      font-size: 1.1rem; }
      .cs-pwa-notification-panel__permission-button--block {
        opacity: 0.3; }
  .cs-pwa-notification-panel__close {
    margin: 0 1.5rem; }
    @media (max-width: 47.99em) {
      .cs-pwa-notification-panel__close {
        position: absolute;
        top: 2rem;
        right: 1.5rem; } }
    .cs-pwa-notification-panel__close-icon {
      display: block;
      width: 1.5rem;
      height: 1.5rem;
      fill: #3E3E3E; }
    .cs-pwa-notification-panel__close:hover .cs-pwa-notification-panel__close-icon {
      fill: #000; }

@-webkit-keyframes ringing {
  0%,
  12% {
    transform: scale(1) rotate(0deg); }
  3%,
  7% {
    transform: scale(1.3) rotate(27deg); }
  5%,
  9% {
    transform: scale(1.3) rotate(-27deg); } }

@keyframes ringing {
  0%,
  12% {
    transform: scale(1) rotate(0deg); }
  3%,
  7% {
    transform: scale(1.3) rotate(27deg); }
  5%,
  9% {
    transform: scale(1.3) rotate(-27deg); } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
.cs-qty-increment {
  position: relative;
  display: flex;
  flex-wrap: wrap; }
  .cs-qty-increment--wishlist {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }
  .cs-qty-increment__input {
    font-size: 1.3rem;
    line-height: 1.275em;
    padding: 11px 10px;
    color: #212121;
    background: #ffffff;
    border-radius: 3px;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    transition: border-color 0.5s;
    margin: 0 0 0.2em;
    width: 100%;
    max-height: 40px;
    background-clip: padding-box;
    font-family: inherit;
    font-size: inherit;
    text-align: center;
    margin: 0;
    padding: 6px 5px;
    font-size: 1.6rem;
    border-radius: 3px;
    width: 0;
    min-width: 2ch;
    flex: 1 1;
    order: 2; }
    .cs-qty-increment__input:hover:not([disabled]), .cs-qty-increment__input:focus:not([disabled]) {
      border: 1px solid #FF4604;
      box-shadow: none; }
    .cs-qty-increment__input::-moz-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .cs-qty-increment__input:-ms-input-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .cs-qty-increment__input::-ms-input-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .cs-qty-increment__input::placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .cs-qty-increment__input[disabled] {
      opacity: 0.65; }
    .ie11 .cs-qty-increment__input {
      flex-basis: auto; }
    .cs-qty-increment__input, .cs-qty-increment__input:hover:not([disabled]), .cs-qty-increment__input:focus:not([disabled]) {
      border-color: #dcdcdc; }
    .cs-qty-increment__input.mage-error {
      border-color: #CC1C3A !important; }
      .cs-qty-increment__input.mage-error ~ .cs-qty-increment__button {
        border-color: #CC1C3A !important; }
    .cs-qty-increment__input + .mage-error {
      order: 3;
      width: 100%; }
  .cs-qty-increment__button {
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s;
    will-change: transform, background-color, border-color, fill;
    max-width: 3rem;
    background-color: #ffffff;
    flex: 1 1 2rem;
    position: relative;
    padding-left: 0.5em;
    padding-right: 0.5em;
    border-radius: 3px;
    min-width: 34px; }
    .cs-qty-increment__button, .cs-qty-increment__button:visited, .cs-qty-increment__button:focus {
      background-color: #ffffff;
      border: 1px solid #dcdcdc; }
      .cs-qty-increment__button *, .cs-qty-increment__button:visited *, .cs-qty-increment__button:focus * {
        fill: #000; }
    .cs-qty-increment__button:hover, .cs-qty-increment__button:active {
      background-color: #ffffff;
      border: 1px solid #FF4604;
      cursor: pointer; }
      .cs-qty-increment__button:hover *, .cs-qty-increment__button:active * {
        fill: #000; }
    .cs-qty-increment__button--decrement {
      order: 1;
      margin-right: 13px; }
      @media (max-width: 48em) {
        .cs-qty-increment__button--decrement {
          margin-right: 6px; } }
    .cs-qty-increment__button--increment {
      order: 2;
      margin-left: 13px; }
      @media (max-width: 48em) {
        .cs-qty-increment__button--increment {
          margin-left: 6px; } }
  .cs-qty-increment__icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
    .cs-qty-increment__icon--decrement {
      width: auto;
      height: auto; }
    .cs-qty-increment__icon--increment {
      width: auto;
      height: auto; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.ui-slider-horizontal {
  background: #dcdcdc;
  height: 1rem;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  position: relative;
  border-radius: 1rem; }
  .ui-slider-horizontal .ui-slider-handle {
    width: 1rem;
    height: 1rem;
    background: #FF4604;
    transition: transform 0.3s, background 0.3s;
    cursor: pointer;
    position: absolute;
    border-radius: 50%;
    margin-left: -0.5rem; }
    .ui-slider-horizontal .ui-slider-handle.ui-state-hover, .ui-slider-horizontal .ui-slider-handle.ui-state-active, .ui-slider-horizontal .ui-slider-handle.ui-state-focus {
      transform: scale(1.5);
      background: #FF7442; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
.cs-social-media-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  padding: 1.5rem 0 1.5rem;
  justify-content: center;
  align-items: center; }
  @media (min-width: 48em) {
    .cs-social-media-list {
      justify-content: flex-start; } }
  @media (min-width: 48em) {
    .cs-social-media-list {
      padding-bottom: 0;
      padding-top: 0; } }
  .cs-social-media-list__item {
    margin: 0 0.4em;
    padding: 0; }
  .cs-social-media-list__link {
    display: flex;
    position: relative;
    height: 3.5em;
    min-width: 4em;
    background: #212121;
    color: inherit;
    border-radius: 3px;
    transform: skew(-18deg);
    transition: background-color 0.15s linear; }
    .cs-social-media-list__link:hover {
      background: #FF7442; }
  .cs-social-media-list__icon {
    position: absolute;
    fill: #ffffff;
    transform: translate3d(-55%, -55%, 0) skew(18deg);
    transition: fill 0.15s linear;
    top: 50%;
    left: 55%; }
    .cs-social-media-list__item--fb .cs-social-media-list__icon {
      width: 0.9em;
      height: 1.8em; }
    .cs-social-media-list__item--tw .cs-social-media-list__icon {
      width: 2.5em;
      height: 2em; }
    .cs-social-media-list__item--yt .cs-social-media-list__icon {
      width: 1.8em;
      height: 2.1em; }
    .cs-social-media-list__item--gp .cs-social-media-list__icon {
      width: 2em;
      height: 2em;
      margin-top: 0.1em; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-star-rating {
  display: flex;
  align-items: center; }
  .cs-star-rating__stars {
    display: inline-flex;
    padding: 0;
    width: 7.2rem;
    justify-content: space-between; }
    .cs-star-rating--summary .cs-star-rating__stars {
      width: 10rem;
      padding: 0; }
    .cs-star-rating--review .cs-star-rating__stars {
      width: 7.2rem;
      padding: 0; }
  .cs-star-rating__star {
    display: flex;
    width: 1.5rem;
    height: 100%;
    fill: #6E6E6E; }
    .cs-star-rating__star--active {
      fill: #fcb739; }
    .cs-star-rating__star--half-active .star-left {
      fill: #fcb739; }
    .cs-star-rating__star--half-active .star-rigth {
      fill: #6E6E6E; }
    .cs-star-rating--summary .cs-star-rating__star {
      width: 2rem; }
      .ie11 .cs-star-rating--summary .cs-star-rating__star {
        height: calc( 2rem / 1.05); }
    .cs-star-rating--review .cs-star-rating__star {
      width: 1.5rem; }
      .ie11 .cs-star-rating--review .cs-star-rating__star {
        height: calc( 1.5rem / 1.05); }
    .cs-star-rating__star path {
      fill-opacity: 1;
      fill: inherit; }
    .ie11 .cs-star-rating__star {
      height: calc( 1.5rem / 1.05); }
  .cs-star-rating img {
    width: 1.5rem;
    height: 100%; }
  .cs-star-rating__form-stars {
    display: inline-flex;
    padding: 0; }
  .cs-star-rating__form-star {
    opacity: 1;
    fill: #6E6E6E;
    width: 100%; }
    .cs-star-rating__form-star--active {
      fill: #fcb739; }
    .cs-star-rating__form-star path {
      fill-opacity: 1;
      fill: inherit; }
    .cs-star-rating__form-star:nth-last-of-type() {
      padding-right: 0; }
    .cs-star-rating__form-stars:hover .cs-star-rating__form-star {
      fill: #fcb739; }
    .cs-star-rating__form-stars label:hover ~ label .cs-star-rating__form-star {
      fill: #6E6E6E; }
    .ie11 .cs-star-rating__form-star {
      height: calc( 2rem / 1.05); }
  .cs-star-rating__text {
    display: inline-block;
    color: #696969;
    padding-left: 0.5em;
    line-height: 1;
    padding-top: calc(1.5rem * 0.1); }
    .cs-star-rating__text--count:before {
      content: '('; }
    .cs-star-rating__text--count:after {
      content: ')'; }
  .cs-star-rating__text-annotation {
    display: inline;
    line-height: 1; }
    .cs-product-tile .cs-star-rating__text-annotation {
      display: none; }
  .cs-star-rating__label {
    color: #212121;
    font-size: 0.75em;
    font-weight: 700;
    text-transform: uppercase;
    padding-top: calc(1.5rem * 0.2); }

.review-control-vote .rating-1:before {
  content: none; }

.review-control-vote .rating-2:before {
  content: none; }

.review-control-vote .rating-3:before {
  content: none; }

.review-control-vote .rating-4:before {
  content: none; }

.review-control-vote .rating-5:before {
  content: none; }

.review-control-vote:before {
  content: none; }

.review-control-vote label {
  position: static;
  width: 3rem;
  padding-right: 1rem;
  line-height: 0; }
  @media (min-width: 48em) {
    .review-control-vote label {
      width: 2.6rem;
      padding-right: 0.6rem; } }
  .review-control-vote label:last-child {
    width: 2rem;
    padding-right: 0; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
[class^='swatch-opt-'] {
  font-size: 0.45em;
  min-height: calc( 1 * (2.8em + 8px));
  opacity: 1;
  transition: opacity 0.3s;
  pointer-events: none; }
  @media (min-width: 48.01em) {
    [class^='swatch-opt-'] {
      pointer-events: auto; } }
  [class^='swatch-opt-']:empty {
    opacity: 0; }
  .ie11 [class^='swatch-opt-'] {
    width: 100%; }

.swatch-opt {
  font-size: 0.9em; }
  .swatch-opt .mage-error {
    font-size: 1em;
    width: 100%;
    margin-left: calc(10rem + 1.5rem); }
    @media (min-width: 64em) {
      .swatch-opt .mage-error {
        margin-left: calc( 11rem + 1.5rem); } }

.swatch-attribute {
  display: flex;
  width: 100%;
  overflow: hidden;
  align-items: center !important;
  flex-wrap: wrap; }
  .swatch-attribute.swatch-layered {
    font-size: 0.8em; }
  .swatch-attribute + .swatch-attribute {
    margin-top: 0.8em; }

.swatch-attribute-label {
  text-transform: uppercase;
  line-height: calc( 2.8em - 6px + 0.1em);
  font-weight: 700;
  font-size: 1.1em;
  width: 10rem;
  margin-right: 1.5rem; }
  @media (min-width: 64em) {
    .swatch-attribute-label {
      width: 11rem; } }
  .swatch-attribute-label:after {
    content: ': ';
    line-height: calc( 2.8em - 6px + 0.1em); }

.swatch-attribute-selected-option {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
  /* 1 */ }

.swatch-attribute-options {
  display: flex;
  flex-wrap: wrap;
  margin-left: -0.2em;
  margin-bottom: -0.4em;
  min-width: 100%;
  justify-content: center; }
  .swatch-attribute-options:focus {
    box-shadow: none; }
  .swatch-opt .swatch-attribute-options {
    min-width: 0;
    justify-content: flex-start;
    max-width: calc( 100% - 1.5rem - 10rem); }
    @media (min-width: 64em) {
      .swatch-opt .swatch-attribute-options {
        max-width: calc( 100% - 1.5rem - 11rem); } }

.swatch-option-link-layered {
  font-size: 1em; }
  .swatch-option-link-layered:hover {
    text-decoration: none; }

.swatch-option {
  font-weight: normal;
  position: relative;
  min-width: 3.2em;
  height: 2.8em;
  padding: 0 0.35em;
  margin: 1px calc( 1px + 0.2em) calc(1px + 0.4em);
  border-radius: 3px;
  background-color: #f0f0f0;
  border: 3px solid #f0f0f0;
  color: #696969;
  cursor: pointer;
  line-height: calc( 2.8em - 6px + 0.1em);
  text-align: center;
  transition: background-color 0.3s, border-color 0.3s, opacity 0.3s, color 0.3s;
  display: block !important; }
  .swatch-option:before {
    content: '';
    position: absolute;
    top: -4px;
    left: -4px;
    right: -4px;
    bottom: -4px;
    border: 1px solid #dcdcdc;
    border-radius: 3px;
    transition: border-color 0.3s; }
  .swatch-option:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    border-radius: 50%;
    background: url(../images/icons/swatches/disabled.svg) rgba(220, 220, 220, 0.5) center no-repeat;
    transform: translate(-50%, -50%);
    width: calc(2.8em - 1.4em);
    height: calc(2.8em - 1.4em);
    background-size: 0.6em;
    transition: opacity 0.3s;
    opacity: 0; }
  .swatch-option:not(.disabled):not(.selected):not([disabled]):hover {
    border: 3px solid #ffffff;
    background: #ffffff; }
    .swatch-option:not(.disabled):not(.selected):not([disabled]):hover:before {
      border: 1px solid #FF4604; }
  .swatch-option.selected {
    border: 3px solid #ffffff;
    background: #ffffff; }
    .swatch-option.selected:before {
      border: 1px solid #FF7442; }
  .swatch-option.disabled, .swatch-option[disabled] {
    cursor: not-allowed; }
    .swatch-option.disabled.text, .swatch-option[disabled].text {
      opacity: 0.65;
      color: #3E3E3E;
      background: #ffffff; }
      .swatch-option.disabled.text:before, .swatch-option[disabled].text:before {
        border: 1px solid #dcdcdc; }
    .swatch-option.disabled.image:after, .swatch-option.disabled.color:after, .swatch-option[disabled].image:after, .swatch-option[disabled].color:after {
      opacity: 1; }

.swatch-input {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
  /* 1 */
  left: -1000px;
  position: absolute;
  visibility: hidden; }

.swatch-more {
  display: none; }

.swatch-option-tooltip,
.swatch-option-tooltip-layered {
  display: none;
  position: absolute;
  margin: 0;
  z-index: 999;
  background: #ffffff;
  border-radius: 0.5rem;
  color: #3E3E3E;
  font-size: 1.3rem;
  font-weight: 400;
  padding: 0.5rem;
  text-align: center;
  min-width: 2rem;
  border: 0.1rem solid #dcdcdc; }
  .swatch-option-tooltip .image,
  .swatch-option-tooltip-layered .image {
    display: block;
    margin: 0 auto;
    width: 110px;
    height: 110px; }
  .swatch-option-tooltip .corner:after,
  .swatch-option-tooltip-layered .corner:after {
    content: '';
    position: absolute;
    top: 100%;
    display: block;
    width: 1rem;
    height: 1rem;
    background-color: #ffffff;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
    border-bottom: 0.1rem solid #dcdcdc;
    border-right: 0.1rem solid #dcdcdc;
    margin-top: calc( -0.5rem + 0.1rem); }

.swatch-option-tooltip {
  pointer-events: none; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
.cs-tile-gallery {
  margin: 0;
  padding: 0;
  list-style: none;
  display: none;
  position: absolute;
  z-index: 4;
  left: 0;
  right: auto;
  top: auto;
  bottom: 0;
  opacity: 0;
  transition: opacity 0.15s linear; }
  @media (min-width: 64em) {
    .cs-tile-gallery {
      display: flex; } }
  .touch-device .cs-tile-gallery {
    display: none !important; }
  @media (min-width: 64em) {
    .cs-product-tile:hover .cs-tile-gallery.active {
      opacity: 1; } }
  .cs-tile-gallery__item {
    margin: 0 0.3rem 0 0;
    padding: 0;
    cursor: pointer; }
  .cs-tile-gallery__thumbnail {
    display: block;
    width: 4rem;
    height: 4rem;
    border: 1px solid #6E6E6E;
    transition: border-color 0.15s linear;
    overflow: hidden;
    position: relative;
    background-image: url("../images/icons/tile-gallery/tile-gallery-spinner.svg");
    background-size: 50%;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-color: #ffffff; }
    .cs-tile-gallery__item--active .cs-tile-gallery__thumbnail {
      border-color: #FF7442; }
    .cs-tile-gallery__thumbnail > source,
    .cs-tile-gallery__thumbnail > img {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }

.cs-product-tile__image--animatable {
  opacity: 0;
  transform: scale(2.5);
  transition: transform 0.5s cubic-bezier(0, 0.66, 0.32, 0.99), opacity 0.45s linear; }

.cs-product-tile__image--animate {
  opacity: 1;
  transform: scale(1); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-topbar {
  background: transparent;
  display: flex;
  width: 100%;
  font-size: 1.4rem;
  transform: translateY(0);
  transition: transform 0.3s;
  z-index: 302; }
  .cs-topbar--hidden {
    transform: translateY(-105%); }
  .page-print .cs-topbar {
    display: none; }
  .cs-topbar__wrapper {
    display: flex;
    flex-wrap: nowrap;
    flex-grow: 1;
    align-items: center;
    justify-content: space-between; }
    @media (min-width: 64em) {
      .cs-topbar__wrapper {
        justify-content: flex-end; } }
    @media (min-width: 64em) {
      .cs-topbar__wrapper {
        padding-right: 18px;
        padding-top: 5px; } }
    @media (max-width: 63.99em) {
      .cs-topbar__wrapper {
        padding: 0 25px; } }
    @media (max-width: 47.99em) {
      .cs-topbar__wrapper {
        padding: 0 15px; } }
  .cs-topbar__item {
    color: #ffffff;
    display: flex;
    flex: 0 0 auto;
    white-space: nowrap;
    height: 100%; }
    .cs-topbar__item--hotline {
      align-items: center; }
      .cs-topbar__item--hotline ul {
        list-style: none;
        display: flex;
        flex-direction: row;
        padding: 0;
        margin: 0; }
        .cs-topbar__item--hotline ul li {
          display: inline-block;
          margin: 0; }
          @media (max-width: 48em) {
            .cs-topbar__item--hotline ul li:not(:last-child) {
              display: none; } }
      .cs-topbar__item--hotline a {
        padding: 8px 0 0;
        display: block; }
        .cs-topbar__item--hotline a {
          color: #ffffff; }
          .cs-topbar__item--hotline a:visited {
            color: #ffffff; }
          .cs-topbar__item--hotline a:hover {
            color: #ffffff; }
          .cs-topbar__item--hotline a:active, .cs-topbar__item--hotline a:focus {
            color: #ffffff; }
        .cs-topbar__item--hotline a:hover {
          color: #FF4604; }
        @media (min-width: 48em) {
          .cs-topbar__item--hotline a {
            padding: 8px 15px 0 0; } }
        @media (min-width: 48em) {
          .cs-topbar__item--hotline a {
            padding: 0 15px 0 0; } }
        @media (min-width: 64em) {
          .cs-topbar__item--hotline a {
            padding: 15px 30px 0; } }
      @media (max-width: 64em) {
        .cs-topbar__item--hotline {
          width: initial; } }
      @media (min-width: 64em) {
        .cs-topbar__item--hotline {
          flex: 1 1;
          justify-content: flex-end; } }
    .cs-topbar__item--authorization {
      margin-left: 30px; }
  .cs-topbar__phone-number {
    color: #000;
    font-weight: 700;
    margin-right: 0.9rem; }
    .cs-topbar__phone-number:hover {
      color: #FF4604; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
h1 {
  font-family: "Red Hat Display", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 3.2rem;
  color: #212121;
  font-weight: 700;
  text-transform: uppercase;
  margin: 1rem 0 2rem; }

h2 {
  font-family: "Red Hat Display", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 2.8rem;
  color: #212121;
  font-weight: 700;
  text-transform: uppercase;
  margin: 1rem 0 2rem; }

h3 {
  font-family: "Red Hat Display", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1.8rem;
  color: #212121;
  font-weight: 700;
  text-transform: uppercase;
  margin: 1rem 0 2rem; }

h4 {
  font-family: "Red Hat Display", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1.6rem;
  color: #212121;
  font-weight: 700;
  text-transform: uppercase;
  margin: 1rem 0 2rem; }

h5 {
  font-family: "Red Hat Display", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1.3rem;
  color: #212121;
  font-weight: 700;
  text-transform: uppercase;
  margin: 1rem 0 2rem; }

h6 {
  font-family: "Red Hat Display", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1.2rem;
  color: #212121;
  font-weight: 700;
  text-transform: uppercase;
  margin: 1rem 0 2rem; }

a, a:visited {
  color: #FF7442;
  text-decoration: none; }

a:hover, a:focus, a:visited:hover, a:visited:focus {
  color: #FF7442;
  text-decoration: none; }

ul,
ol {
  margin: 0 0 2.5rem;
  padding: 0 0 0 4rem; }
  ul > li,
  ol > li {
    margin: 0 0 1rem; }

.hidden-title {
  visibility: hidden;
  width: 0;
  font-size: 0; }

.text-normal {
  font-weight: normal; }

.text-bold {
  font-weight: bold; }

.text-upper {
  text-transform: uppercase; }

/**
 * USPs component customization.
 * @see /MageSuite_ContentConstructorFrontend for layout, templates and images.
 * USPs component is based on Image Teaser.
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-image-teaser--usps .cs-image-teaser__slides {
  align-items: flex-start; }

.cs-image-teaser--usps .cs-image-teaser__slide {
  margin: 0; }

.cs-image-teaser--usps:not(.cs-image-teaser--slider) .cs-image-teaser__slides {
  flex-wrap: nowrap; }

.cs-image-teaser--usps .cs-image-teaser__image {
  max-width: 80%;
  max-height: 6.5rem;
  margin: 0 auto 1rem; }
  .ie11 .cs-image-teaser--usps .cs-image-teaser__image {
    height: 100%; }

.cs-image-teaser--usps .cs-image-teaser__text {
  display: block; }

.cs-image-teaser--usps .cs-image-teaser__nav {
  display: none !important; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
.cs-visually-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
  /* 1 */ }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
/***
 * Remove browser's margins, paddings and list style rules
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-select {
  min-width: 0.5px;
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  height: 100%;
  padding: 0;
  opacity: 0;
  border: none; }
  .cs-select--mobile {
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    z-index: 4; }

.cs-html-select {
  position: relative;
  display: block;
  min-width: 15rem;
  box-sizing: border-box;
  z-index: 2; }
  @media (max-width: 29.99em) {
    .cs-html-select {
      min-width: 12rem; } }
  .cs-html-select.open {
    z-index: 99; }
  .cs-html-select__trigger {
    display: flex;
    align-items: center;
    position: relative;
    cursor: pointer;
    width: 100%;
    min-width: 13rem;
    text-align: left;
    z-index: 3;
    overflow: hidden;
    box-sizing: border-box;
    background: #ffffff;
    border: 1px solid #dcdcdc;
    padding: 11px 10px;
    padding-right: 2.3em;
    border-radius: 3px;
    box-shadow: none;
    font-size: 1.2rem;
    max-height: 4rem;
    margin-top: 0;
    margin-bottom: 0; }
    .cs-html-select__trigger--disabled {
      opacity: 0.65;
      cursor: not-allowed; }
    .cs-html-select--error .cs-html-select__trigger {
      border-color: #f46667;
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0; }
    .cs-html-select--open .cs-html-select__trigger,
    .cs-html-select.open .cs-html-select__trigger {
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
      border: 1px solid #FF4604;
      border-bottom: 1px solid #dcdcdc; }
  .cs-html-select__trigger-text {
    color: #212121;
    line-height: 1.275em;
    font-weight: 400;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 1.2rem;
    margin-right: 2rem; }
  .cs-html-select__trigger-caret {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%); }
  .cs-html-select__trigger-caret-arrow {
    display: block;
    position: relative; }
    .cs-html-select__trigger-caret-arrow:before, .cs-html-select__trigger-caret-arrow:after {
      content: '';
      position: absolute;
      top: 50%;
      width: 0.7rem;
      height: 1px;
      left: auto;
      background-color: #dcdcdc;
      transition: transform 0.15s linear, right 0.15s linear, background-color 0.15s linear;
      -webkit-backface-visibility: hidden;
              backface-visibility: hidden; }
    .cs-html-select__trigger-caret-arrow:hover:before, .cs-html-select__trigger-caret-arrow:hover:after {
      background-color: #6E6E6E; }
    .cs-html-select--open .cs-html-select__trigger-caret-arrow:before, .cs-html-select--open .cs-html-select__trigger-caret-arrow:after {
      background-color: #FF4604; }
    .cs-html-select__trigger-caret-arrow:before {
      transform: rotate(45deg) translate3d(0, 0, 0);
      right: 1.7rem; }
    .cs-html-select__trigger-caret-arrow:after {
      transform: rotate(-45deg) translate3d(0, 0, 0);
      right: 1.2rem; }
    .cs-html-select--open .cs-html-select__trigger-caret-arrow:before {
      transform: rotate(-45deg); }
    .cs-html-select--open .cs-html-select__trigger-caret-arrow:after {
      transform: rotate(45deg); }
  .cs-html-select__menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 5;
    display: none;
    border: 1px solid #FF4604;
    border-top: 1px solid #dcdcdc;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
    background-color: #ffffff;
    box-shadow: 0 1px 5px 0 rgba(100, 100, 100, 0.2);
    margin-top: -1px;
    min-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
    transform: translate3d(0, 0, 0); }
    .cs-html-select--open .cs-html-select__menu {
      display: block;
      opacity: 1; }
    .cs-html-select--autosuggest:not(.cs-html-select--open) .cs-html-select__menu {
      padding: 0;
      border: none; }
  .cs-html-select__menu-list {
    margin: 0;
    padding: 0;
    list-style: none; }
  .cs-html-select__menu-item {
    margin: 0;
    padding: 0;
    border-top: none; }
    .cs-html-select__menu-item--hidden {
      display: none; }
  .cs-html-select__menu-link {
    position: relative;
    display: flex;
    align-items: center;
    padding: 0 1em;
    height: 2.8em;
    color: #212121;
    background-color: #ffffff;
    cursor: pointer;
    transition: background-color 0.15s linear, color 0.15s linear; }
    .cs-html-select__menu-item--selected .cs-html-select__menu-link {
      color: #ffffff;
      background-color: #FF4604; }
    .cs-html-select__menu-link:hover, .cs-html-select__menu-link:focus,
    .cs-html-select__menu-item--focused .cs-html-select__menu-link {
      background-color: #FF4604;
      color: #ffffff;
      text-decoration: none;
      outline: none; }
  .cs-html-select__menu-item-text {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }
  .cs-html-select__text-image-wrapper {
    display: flex;
    align-items: center; }
  .cs-html-select__thumbnail {
    width: 2.5rem;
    height: 2.5rem;
    display: block;
    margin-right: 1rem; }
  .cs-html-select--autosuggest {
    padding: 0; }
    .cs-html-select--autosuggest .cs-html-select__menu {
      overflow-y: hidden;
      max-height: 220px; }
    .cs-html-select--autosuggest .cs-html-select__menu-list {
      max-height: 220px; }
    .cs-html-select--autosuggest:not(.cs-html-select--animate) .cs-html-select__menu {
      padding: 0;
      border: none; }

select,
.super-attribute-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  height: 40px;
  width: 100%;
  font-size: 1.2rem;
  border: 1px solid #B6BEC5;
  background-color: #ffffff;
  background-image: url("../images/icons/select-icon.svg");
  background-repeat: no-repeat;
  background-position: right top;
  color: #6E6E6E;
  background-size: contain;
  border-radius: 3px;
  padding: 10px 50px 10px 12px; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
.cs-ie11-modal.modal-slide {
  left: 0;
  width: 100%; }
  .cs-ie11-modal.modal-slide .modal-inner-wrap {
    top: 50%;
    transform: translate3d(0, -50%, 0);
    width: 100%;
    max-width: 78rem;
    background-color: #ffffff;
    margin: auto; }
    .cs-ie11-modal.modal-slide .modal-inner-wrap .modal-content {
      padding: 0; }
  .cs-ie11-modal.modal-slide .action-close {
    background-size: 1.8rem 1.8rem;
    margin: 2.5rem; }
  .cs-ie11-modal.modal-slide .modal-footer {
    padding: 2rem 0;
    margin: 0 3rem;
    border-top: 0;
    display: flex;
    justify-content: center; }

.cs-ie11-modal._show .cs-ie11-modal__inner {
  display: flex; }

.cs-ie11-modal__inner {
  display: none;
  padding: 0 3rem;
  font-size: 1.4rem;
  color: #212121;
  height: 100%; }

.cs-ie11-modal__header, .cs-ie11-modal__body {
  padding: 2rem 0; }

.cs-ie11-modal__header {
  display: flex;
  flex-direction: column;
  align-items: center; }

.cs-ie11-modal__header-icon {
  width: 7rem;
  height: 7rem;
  margin-bottom: 2rem; }

.cs-ie11-modal__header-title {
  font-size: 3.5rem;
  font-weight: 700;
  text-align: center;
  line-height: 100%;
  max-width: 100%; }

.cs-ie11-modal__body {
  border-top: 1px solid #dcdcdc;
  border-bottom: 1px solid #dcdcdc; }

.cs-ie11-modal__paragraph {
  text-align: center;
  margin-bottom: 2rem; }
  .cs-ie11-modal__paragraph--title {
    font-size: 2rem;
    font-weight: 700; }

.cs-ie11-modal__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: space-around; }

.cs-ie11-modal__list-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 130%;
  margin: 0; }

.cs-ie11-modal__item-logo {
  width: 3.8rem;
  height: 3.8rem;
  margin-bottom: 1rem;
  border: 0; }
  .ie11 .cs-ie11-modal__item-logo {
    width: 4rem;
    height: 4rem; }

.cs-ie11-modal__item-name {
  font-weight: 700; }

.ie11 .modal-popup:not(.cs-vide-player__modal) .modal-content {
  max-height: 100%; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-pwa-notification._show {
  position: fixed;
  bottom: 0;
  top: auto;
  height: 15rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow-y: visible; }
  .cs-pwa-notification._show .modal-inner-wrap {
    width: 100%;
    margin: 0;
    background: #ffffff;
    box-shadow: 0 -0.3rem 0.5rem 0 rgba(0, 0, 0, 0.15); }

.cs-pwa-notification__title {
  margin: 0;
  padding: 2rem;
  font-size: 1.8rem; }

.cs-pwa-notification__content {
  padding: 0.5rem 2rem 1rem; }

.cs-pwa-notification__footer {
  padding: 0.5rem 2rem 2rem;
  display: flex;
  justify-content: flex-end; }

.cs-pwa-notification__button {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: uppercase;
  border-radius: 25px;
  font-family: "Red Hat Display";
  padding: 8px 25px;
  font-size: 1.2rem;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5;
  will-change: transform, background-color, border-color, fill, color; }
  .cs-pwa-notification__button.medium {
    padding: 11px 25px;
    font-size: 1.4rem; }
  .cs-pwa-notification__button.large {
    padding: 13px 25px;
    font-size: 1.6rem; }
  .cs-pwa-notification__button::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .cs-pwa-notification__button, .cs-pwa-notification__button:visited {
    cursor: pointer;
    border-radius: 25px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #FF4604; }
    .cs-pwa-notification__button *, .cs-pwa-notification__button:visited * {
      color: #ffffff;
      fill: #ffffff; }
  .cs-pwa-notification__button:hover:not([disabled]), .cs-pwa-notification__button:focus:not([disabled]), .cs-pwa-notification__button:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #FF7442; }
    .cs-pwa-notification__button:hover:not([disabled]) *, .cs-pwa-notification__button:focus:not([disabled]) *, .cs-pwa-notification__button:active:not([disabled]) * {
      color: #ffffff;
      fill: #ffffff; }
  .cs-pwa-notification__button[disabled] {
    opacity: 0.65;
    cursor: auto; }
  .cs-pwa-notification__button span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal; }

.cs-pwa-notification + .modals-overlay {
  display: none; }

.loading-mask[data-role='main-css-loader'] {
  display: none !important; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Swiper 4.4.6
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * http://www.idangero.us/swiper/
 *
 * Copyright 2014-2018 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: December 19, 2018
 */
.swiper-container, .cs-image-teaser__wrapper {
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1; }

.swiper-container-no-flexbox .swiper-slide, .swiper-container-no-flexbox .cs-image-teaser__slide {
  float: left; }

.swiper-container-vertical > .swiper-wrapper, .swiper-container-vertical > .cs-image-teaser__slides {
  flex-direction: column; }

.swiper-wrapper, .cs-image-teaser__slides {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box; }

.swiper-container-android .swiper-slide, .swiper-container-android .cs-image-teaser__slide, .swiper-wrapper, .cs-image-teaser__slides {
  transform: translate3d(0px, 0, 0); }

.swiper-container-multirow > .swiper-wrapper, .swiper-container-multirow > .cs-image-teaser__slides {
  flex-wrap: wrap; }

.swiper-container-free-mode > .swiper-wrapper, .swiper-container-free-mode > .cs-image-teaser__slides {
  transition-timing-function: ease-out;
  margin: 0 auto; }

.swiper-slide, .cs-image-teaser__slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform; }

.swiper-slide-invisible-blank {
  visibility: hidden; }

/* Auto Height */
.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide,
.swiper-container-autoheight .cs-image-teaser__slide {
  height: auto; }

.swiper-container-autoheight .swiper-wrapper, .swiper-container-autoheight .cs-image-teaser__slides {
  align-items: flex-start;
  transition-property: transform, height; }

/* 3D Effects */
.swiper-container-3d {
  perspective: 1200px; }

.swiper-container-3d .swiper-wrapper, .swiper-container-3d .cs-image-teaser__slides,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .cs-image-teaser__slide,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-cube-shadow {
  transform-style: preserve-3d; }

.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10; }

.swiper-container-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

/* IE10 Windows Phone 8 Fixes */
.swiper-container-wp8-horizontal,
.swiper-container-wp8-horizontal > .swiper-wrapper,
.swiper-container-wp8-horizontal > .cs-image-teaser__slides {
  touch-action: pan-y; }

.swiper-container-wp8-vertical,
.swiper-container-wp8-vertical > .swiper-wrapper,
.swiper-container-wp8-vertical > .cs-image-teaser__slides {
  touch-action: pan-x; }

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 50%;
  width: 27px;
  height: 44px;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  background-size: 27px 44px;
  background-position: center;
  background-repeat: no-repeat; }

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none; }

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  left: 10px;
  right: auto; }

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  right: 10px;
  left: auto; }

.swiper-button-prev.swiper-button-white,
.swiper-container-rtl .swiper-button-next.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-next.swiper-button-white,
.swiper-container-rtl .swiper-button-prev.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-prev.swiper-button-black,
.swiper-container-rtl .swiper-button-next.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-next.swiper-button-black,
.swiper-container-rtl .swiper-button-prev.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-lock {
  display: none; }

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10; }

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0; }

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: 10px;
  left: 0;
  width: 100%; }

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0; }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative; }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33); }

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #000;
  opacity: 0.2; }

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer; }

.swiper-pagination-bullet-active {
  opacity: 1;
  background: #007aff; }

.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  transform: translate3d(0px, -50%, 0); }

.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  display: block; }

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px; }

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 200ms transform, 200ms top; }

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px; }

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap; }

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms left; }

.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right; }

/* Progress */
.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute; }

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: #007aff;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top; }

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top; }

.swiper-container-horizontal > .swiper-pagination-progressbar,
.swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0; }

.swiper-container-vertical > .swiper-pagination-progressbar,
.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0; }

.swiper-pagination-white .swiper-pagination-bullet-active {
  background: #ffffff; }

.swiper-pagination-progressbar.swiper-pagination-white {
  background: rgba(255, 255, 255, 0.25); }

.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill {
  background: #ffffff; }

.swiper-pagination-black .swiper-pagination-bullet-active {
  background: #000000; }

.swiper-pagination-progressbar.swiper-pagination-black {
  background: rgba(0, 0, 0, 0.25); }

.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill {
  background: #000000; }

.swiper-pagination-lock {
  display: none; }

/* Scrollbar */
.swiper-scrollbar, .cs-image-teaser__scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1); }

.swiper-container-horizontal > .swiper-scrollbar, .swiper-container-horizontal > .cs-image-teaser__scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%; }

.swiper-container-vertical > .swiper-scrollbar, .swiper-container-vertical > .cs-image-teaser__scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%; }

.swiper-scrollbar-drag, .cs-image-teaser__scrollbar--drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0; }

.swiper-scrollbar-cursor-drag {
  cursor: move; }

.swiper-scrollbar-lock {
  display: none; }

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center; }

.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
  object-fit: contain; }

.swiper-slide-zoomed {
  cursor: move; }

/* Preloader */
.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
  animation: swiper-preloader-spin 1s steps(12, end) infinite; }

.swiper-lazy-preloader:after {
  display: block;
  content: '';
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-position: 50%;
  background-size: 100%;
  background-repeat: no-repeat; }

.swiper-lazy-preloader-white:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); }

@-webkit-keyframes swiper-preloader-spin {
  100% {
    transform: rotate(360deg); } }

@keyframes swiper-preloader-spin {
  100% {
    transform: rotate(360deg); } }

/* a11y */
.swiper-container .swiper-notification, .cs-image-teaser__wrapper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000; }

.swiper-container-fade.swiper-container-free-mode .swiper-slide, .swiper-container-fade.swiper-container-free-mode .cs-image-teaser__slide {
  transition-timing-function: ease-out; }

.swiper-container-fade .swiper-slide, .swiper-container-fade .cs-image-teaser__slide {
  pointer-events: none;
  transition-property: opacity; }

.swiper-container-fade .swiper-slide .swiper-slide, .swiper-container-fade .cs-image-teaser__slide .swiper-slide, .swiper-container-fade .swiper-slide .cs-image-teaser__slide, .swiper-container-fade .cs-image-teaser__slide .cs-image-teaser__slide {
  pointer-events: none; }

.swiper-container-fade .swiper-slide-active,
.swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-cube {
  overflow: visible; }

.swiper-container-cube .swiper-slide, .swiper-container-cube .cs-image-teaser__slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%; }

.swiper-container-cube .swiper-slide .swiper-slide, .swiper-container-cube .cs-image-teaser__slide .swiper-slide, .swiper-container-cube .swiper-slide .cs-image-teaser__slide, .swiper-container-cube .cs-image-teaser__slide .cs-image-teaser__slide {
  pointer-events: none; }

.swiper-container-cube.swiper-container-rtl .swiper-slide, .swiper-container-cube.swiper-container-rtl .cs-image-teaser__slide {
  transform-origin: 100% 0; }

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-next,
.swiper-container-cube .swiper-slide-prev,
.swiper-container-cube .swiper-slide-next + .swiper-slide,
.swiper-container-cube .swiper-slide-next + .cs-image-teaser__slide {
  pointer-events: auto;
  visibility: visible; }

.swiper-container-cube .swiper-slide-shadow-top,
.swiper-container-cube .swiper-slide-shadow-bottom,
.swiper-container-cube .swiper-slide-shadow-left,
.swiper-container-cube .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.6;
  -webkit-filter: blur(50px);
  filter: blur(50px);
  z-index: 0; }

.swiper-container-flip {
  overflow: visible; }

.swiper-container-flip .swiper-slide, .swiper-container-flip .cs-image-teaser__slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1; }

.swiper-container-flip .swiper-slide .swiper-slide, .swiper-container-flip .cs-image-teaser__slide .swiper-slide, .swiper-container-flip .swiper-slide .cs-image-teaser__slide, .swiper-container-flip .cs-image-teaser__slide .cs-image-teaser__slide {
  pointer-events: none; }

.swiper-container-flip .swiper-slide-active,
.swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-flip .swiper-slide-shadow-top,
.swiper-container-flip .swiper-slide-shadow-bottom,
.swiper-container-flip .swiper-slide-shadow-left,
.swiper-container-flip .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.swiper-container-coverflow .swiper-wrapper, .swiper-container-coverflow .cs-image-teaser__slides {
  /* Windows 8 IE 10 fix */
  -ms-perspective: 1200px; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
/* stylelint-disable block-no-empty */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-image-teaser {
  position: relative;
  margin: 0 0 3rem; }
  .cs-image-teaser__slides {
    align-items: stretch;
    margin: 0;
    padding: 0;
    box-sizing: inherit; }
  .cs-image-teaser__slide {
    margin: 0;
    padding: 0;
    list-style: none;
    height: auto;
    display: flex;
    justify-content: center; }
  .cs-image-teaser__figure {
    width: 100%;
    margin: 0;
    padding: 0; }
  .cs-image-teaser__image {
    display: block;
    width: 100%; }
  .cs-image-teaser__nav {
    display: none;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    transition: all 0.15s linear;
    z-index: 201;
    width: 5.5rem;
    height: 5.5rem;
    border: 0;
    border-radius: 6px;
    background: transparent;
    box-shadow: none;
    padding: 0;
    cursor: pointer;
    outline: none; }

@media (max-width: 63.99em) and (pointer: fine) {
  .cs-image-teaser__nav {
    opacity: 1; }
    .cs-image-teaser:hover .cs-image-teaser__nav {
      opacity: 1; } }
    .cs-image-teaser__nav--hidden {
      display: none; }
    .cs-image-teaser__nav--disabled {
      cursor: default;
      display: none;
      opacity: 1; }
    .cs-image-teaser__nav--prev {
      left: 0; }
      @media (min-width: 80em) {
        .cs-image-teaser:not(.cs-image-teaser--full-width-slider) .cs-image-teaser__nav--prev {
          left: -2.75rem;
          opacity: 1; } }
    .cs-image-teaser__nav--next {
      right: 0; }
      @media (min-width: 80em) {
        .cs-image-teaser:not(.cs-image-teaser--full-width-slider) .cs-image-teaser__nav--next {
          right: -2.75rem;
          opacity: 1; } }
    .cs-image-teaser--ready .cs-image-teaser__nav:not(.cs-image-teaser__nav--disabled) {
      display: block; }
    .cs-image-teaser__nav:hover, .cs-image-teaser__nav:active, .cs-image-teaser__nav:focus {
      background: transparent;
      border: 0;
      box-shadow: none; }
    @media (max-width: 47.99em) {
      .cs-image-teaser__nav {
        display: none !important; } }
  .cs-image-teaser__nav-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%, -50%, 0);
    width: 2.4rem;
    height: 3.7rem;
    fill: #FF4604; }
  .cs-image-teaser__pagination {
    margin: 0;
    padding: 0;
    list-style: none;
    margin: 0;
    padding: 0.5rem 0 0;
    min-height: 3rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    color: #696969;
    z-index: 200; }
    .cs-image-teaser__pagination--hidden {
      display: none; }
  .cs-image-teaser__pagination-item {
    position: relative;
    margin: 0.4rem;
    border-radius: 2px;
    background: #f0f0f0;
    width: 2.2rem;
    height: 0.9rem;
    transform: skew(-18deg);
    border: none;
    transition: all 0.15s; }
    .cs-image-teaser__pagination-item:hover {
      background: #dcdcdc; }
    .cs-image-teaser__pagination-item--active, .cs-image-teaser__pagination-item--active:hover {
      background: #fed400; }
  .cs-image-teaser__pagination-button {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 0;
    opacity: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    margin: 0;
    cursor: pointer; }
  .cs-image-teaser__number {
    font-weight: 700; }
    .cs-image-teaser__number--current {
      color: #FF4604; }
  @media (min-width: 48em) {
    .cs-image-teaser {
      margin: 0 0 4rem; } }
  .cs-image-teaser--skip-spacing {
    margin: 0; }
  .cs-image-teaser--window-width {
    overflow: hidden; }
  .cs-image-teaser:not(.cs-image-teaser--slider) .cs-image-teaser__nav,
  .cs-image-teaser:not(.cs-image-teaser--slider) .cs-image-teaser__pagination {
    display: none; }
  .cs-image-teaser:not(.cs-image-teaser--slider) .cs-image-teaser__slides {
    flex-wrap: wrap; }
    .cs-image-teaser--items-in-row-mobile-1 .cs-image-teaser:not(.cs-image-teaser--slider) .cs-image-teaser__slides {
      display: block; }
  .cs-image-teaser__carousel {
    position: relative; }
    .cs-image-teaser--grid-teaser .cs-image-teaser__carousel {
      height: 100%; }
  .cs-image-teaser__wrapper {
    margin: -0.4rem;
    width: calc(100% + 0.8rem); }
    .cs-image-teaser__wrapper--content-under .cs-image-teaser__slide {
      display: block; }
      .cs-image-teaser__wrapper--content-under .cs-image-teaser__slide--scheme-light .cs-image-teaser__content {
        background: #212121; }
      .cs-image-teaser__wrapper--content-under .cs-image-teaser__slide--scheme-dark .cs-image-teaser__content {
        background: #ffffff; }
    .cs-image-teaser__wrapper--content-under .cs-image-teaser__slide-wrapper {
      display: flex;
      flex-direction: column;
      height: 100%;
      overflow: initial; }
    .cs-image-teaser__wrapper--content-under .cs-image-teaser__content-wrapper {
      position: relative;
      height: 100%;
      justify-content: center;
      align-items: stretch;
      text-align: center;
      padding: 2rem 2rem 0; }
    .cs-image-teaser__wrapper--content-under .cs-image-teaser__content {
      display: flex;
      flex-direction: column;
      width: 100%;
      margin: -3rem 0 0;
      padding: 2rem; }
    @media (min-width: 48em) {
      .cs-image-teaser--items-in-row-2 .cs-image-teaser__wrapper--content-under .cs-image-teaser__slogan {
        font-size: 1.95em; }
      .cs-image-teaser--items-in-row-2 .cs-image-teaser__wrapper--content-under .cs-image-teaser__description {
        font-size: 1.2em; } }
    .cs-image-teaser--grid-teaser .cs-image-teaser__wrapper {
      height: 100%;
      margin: 0; }
  @media (min-width: 48em) {
    .cs-image-teaser__slides--mosaic-scenario-1 .cs-image-teaser__slide:first-child {
      width: calc((100% / 3) * 2); }
      .cs-image-teaser__slides--mosaic-scenario-1 .cs-image-teaser__slide:first-child .cs-image-teaser__slogan {
        font-size: 30px; }
      .cs-image-teaser__slides--mosaic-scenario-1 .cs-image-teaser__slide:first-child .cs-image-teaser__description {
        font-size: 1.2rem; }
    .cs-image-teaser__slides--mosaic-scenario-1 .cs-image-teaser__slide:last-child {
      width: calc(100% / 3); }
      .cs-image-teaser__slides--mosaic-scenario-1 .cs-image-teaser__slide:last-child .cs-image-teaser__slogan {
        font-size: 60px; }
      .cs-image-teaser__slides--mosaic-scenario-1 .cs-image-teaser__slide:last-child .cs-image-teaser__description {
        font-size: 2.4rem; }
    .cs-image-teaser__slides--mosaic-scenario-2 .cs-image-teaser__slide:first-child {
      width: calc(100% / 3); }
      .cs-image-teaser__slides--mosaic-scenario-2 .cs-image-teaser__slide:first-child .cs-image-teaser__slogan {
        font-size: 60px; }
      .cs-image-teaser__slides--mosaic-scenario-2 .cs-image-teaser__slide:first-child .cs-image-teaser__description {
        font-size: 2.4rem; }
    .cs-image-teaser__slides--mosaic-scenario-2 .cs-image-teaser__slide:last-child {
      width: calc((100% / 3) * 2); }
      .cs-image-teaser__slides--mosaic-scenario-2 .cs-image-teaser__slide:last-child .cs-image-teaser__slogan {
        font-size: 30px; }
      .cs-image-teaser__slides--mosaic-scenario-2 .cs-image-teaser__slide:last-child .cs-image-teaser__description {
        font-size: 1.2rem; } }
  .cs-image-teaser__slide {
    padding: 0.4rem;
    transition: opacity 0.3s; }
    .cs-image-teaser--items-in-row-mobile-2 .cs-image-teaser__slide {
      width: 50%; }
    .cs-image-teaser--teaser-and-text .cs-image-teaser__slide {
      order: 2; }
      .cs-image-teaser--teaser-and-text .cs-image-teaser__slide:not(.cs-image-teaser__slide--image-uploaded) > .cs-image-teaser__slide-wrapper {
        width: 100%; }
      @media (max-width: 47.99em) {
        .cs-image-teaser--teaser-and-text .cs-image-teaser__slide:not(.cs-image-teaser__slide--image-uploaded) .cs-image-teaser__content-wrapper {
          position: static;
          height: auto; } }
    @media (max-width: 47.99em) {
      .cs-image-teaser__slides--mobile-text-image .cs-image-teaser__slide--image-uploaded {
        order: 3; } }
    @media (max-width: 47.99em) {
      .cs-image-teaser__slides--mobile-image-text .cs-image-teaser__slide--image-uploaded {
        order: 1; } }
    @media (min-width: 48em) {
      .cs-image-teaser--items-in-row-2 .cs-image-teaser__slide {
        width: 50%; } }
    @media (min-width: 48em) {
      .cs-image-teaser--items-in-row-3 .cs-image-teaser__slide {
        width: 33.33333%; } }
    @media (min-width: 48em) {
      .cs-image-teaser--items-in-row-4 .cs-image-teaser__slide {
        width: 25%; } }
    @media (min-width: 48em) {
      .cs-image-teaser--items-in-row-5 .cs-image-teaser__slide {
        width: 20%; } }
    @media (min-width: 48em) {
      .cs-image-teaser--items-in-row-6 .cs-image-teaser__slide {
        width: 16.66667%; } }
    @media (min-width: 48em) {
      .cs-image-teaser--items-in-row-7 .cs-image-teaser__slide {
        width: 14.28571%; } }
    @media (min-width: 48em) {
      .cs-image-teaser--items-in-row-8 .cs-image-teaser__slide {
        width: 12.5%; } }
    .cs-image-teaser--grid-teaser .cs-image-teaser__slide {
      height: 100%;
      padding: 0; }
    .cs-image-teaser--cms-teaser .cs-image-teaser__slide:not(.cs-image-teaser__slide--image-uploaded) > .cs-image-teaser__slide-wrapper {
      background-color: #f0f0f0; }
    .cs-image-teaser--backlink .cs-image-teaser__slide:not(.cs-image-teaser__slide--image-uploaded) > .cs-image-teaser__slide-wrapper {
      background-color: #f0f0f0; }
    .cs-image-teaser__slide:not(.ready) .cs-image-teaser__content-wrapper {
      opacity: 0; }
  .cs-image-teaser__slide-wrapper {
    display: block;
    overflow: hidden; }
    .cs-image-teaser__slide-wrapper, .cs-image-teaser__slide-wrapper:hover, .cs-image-teaser__slide-wrapper:focus {
      color: inherit; }
    .cs-image-teaser--instagram-feed .cs-image-teaser__slide-wrapper {
      position: relative;
      width: 100%; }
      .cs-image-teaser--instagram-feed .cs-image-teaser__slide-wrapper:before {
        content: '';
        display: block;
        width: 100%;
        padding-top: 100%; }
    .cs-image-teaser__slide--scheme-light:not(.cs-image-teaser__slide--image-uploaded) .cs-image-teaser__slide-wrapper {
      background: #212121; }
    .cs-image-teaser__slide--scheme-dark:not(.cs-image-teaser__slide--image-uploaded) .cs-image-teaser__slide-wrapper {
      background: #ffffff; }
  .cs-image-teaser--instagram-feed .cs-image-teaser__figure {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
  .cs-image-teaser--grid-teaser .cs-image-teaser__figure {
    height: 100%; }
    .cs-image-teaser--grid-teaser .cs-image-teaser__figure img {
      height: 100%; }
  .cs-image-teaser__aspect-ratio {
    width: 100%; }
    .cs-image-teaser__aspect-ratio ~ .cs-image-teaser__slide-wrapper,
    .cs-image-teaser__aspect-ratio ~ .cs-image-teaser__figure {
      position: absolute;
      top: 0.4rem;
      left: 0.4rem;
      width: calc(100% - 0.8rem); }
      .cs-image-teaser__wrapper:not(.cs-image-teaser__wrapper--content-under) .cs-image-teaser__aspect-ratio ~ .cs-image-teaser__slide-wrapper, .cs-image-teaser__wrapper:not(.cs-image-teaser__wrapper--content-under)
      .cs-image-teaser__aspect-ratio ~ .cs-image-teaser__figure {
        height: calc(100% - 0.8rem); }
        .cs-image-teaser--grid-teaser .cs-image-teaser__wrapper:not(.cs-image-teaser__wrapper--content-under) .cs-image-teaser__aspect-ratio ~ .cs-image-teaser__slide-wrapper, .cs-image-teaser--grid-teaser .cs-image-teaser__wrapper:not(.cs-image-teaser__wrapper--content-under)
        .cs-image-teaser__aspect-ratio ~ .cs-image-teaser__figure {
          height: 100%; }
      .cs-image-teaser--grid-teaser .cs-image-teaser__aspect-ratio ~ .cs-image-teaser__slide-wrapper, .cs-image-teaser--grid-teaser
      .cs-image-teaser__aspect-ratio ~ .cs-image-teaser__figure {
        top: 0;
        left: 0; }
  .cs-image-teaser__content {
    max-width: 380px; }
  .cs-image-teaser__content-wrapper {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    opacity: 1; }
    .cs-image-teaser__wrapper--content-over .cs-image-teaser__content-wrapper {
      padding: 3% 6%; }
      @media (max-width: 48em) {
        .cs-image-teaser__wrapper--content-over .cs-image-teaser__content-wrapper {
          padding: 9% 10%; } }
      @media (min-width: 48em) {
        .cs-image-teaser--items-in-row-3 .cs-image-teaser__wrapper--content-over .cs-image-teaser__content-wrapper {
          padding: 5.64%; } }
      @media (min-width: 64em) {
        .cs-image-teaser--items-in-row-4 .cs-image-teaser__wrapper--content-over .cs-image-teaser__content-wrapper {
          padding: 7.52%; } }
    .cs-image-teaser__content-wrapper--content-align-x-2 {
      justify-content: center;
      text-align: center; }
    .cs-image-teaser__content-wrapper--content-align-x-3 {
      justify-content: flex-end;
      text-align: right; }
    .cs-image-teaser__content-wrapper--content-align-y-2 {
      align-items: center; }
    .cs-image-teaser__content-wrapper--content-align-y-3 {
      align-items: flex-end; }
  .cs-image-teaser__content--container {
    position: relative;
    padding: inherit; }
  .cs-image-teaser__text-content {
    font-size: 1.4rem;
    color: #ffffff; }
    .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content {
      color: #212121; }
  .cs-image-teaser__slogan {
    font-family: "Red Hat Display", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 2.8rem;
    color: #212121;
    font-weight: 700;
    text-transform: uppercase;
    margin: 1rem 0 2rem;
    margin: 0;
    font-size: 40px;
    font-weight: 900;
    text-transform: uppercase;
    line-height: 47px;
    color: #ffffff; }
    .cs-image-teaser__slide--scheme-dark .cs-image-teaser__slogan {
      color: inherit; }
    @media (max-width: 48em) {
      .cs-image-teaser__slogan {
        font-size: 3rem;
        font-weight: 900;
        text-transform: uppercase;
        line-height: 34px; } }
  .cs-image-teaser__description {
    margin: 0;
    font-size: 1.6rem;
    font-weight: 300;
    line-height: 1.2;
    text-transform: uppercase;
    color: inherit; }
    * + .cs-image-teaser__description {
      margin-top: 0.5em; }
    .cs-image-teaser__slide--scheme-dark .cs-image-teaser__description {
      color: inherit; }

@media (min-width: 64em) and (max-width: 79.99em) {
  .cs-image-teaser--items-in-row-4 .cs-image-teaser__description {
    font-size: 1.75em; } }
  * + .cs-image-teaser__cta {
    margin-top: 25px; }
    @media (max-width: 64em) {
      * + .cs-image-teaser__cta {
        margin-top: 15px; } }
  .cs-image-teaser__cta-button {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: uppercase;
    border-radius: 25px;
    font-family: "Red Hat Display";
    padding: 8px 25px;
    font-size: 1.2rem;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    will-change: transform, background-color, border-color, fill, color;
    text-transform: uppercase;
    border-radius: 25px !important;
    font-size: 1.2rem;
    min-width: 132px; }
    .cs-image-teaser__cta-button.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .cs-image-teaser__cta-button.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .cs-image-teaser__cta-button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-image-teaser__cta-button, .cs-image-teaser__cta-button:visited {
      cursor: pointer;
      border-radius: 25px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #000; }
      .cs-image-teaser__cta-button *, .cs-image-teaser__cta-button:visited * {
        color: #ffffff;
        fill: #FF4604; }
    .cs-image-teaser__cta-button:hover:not([disabled]), .cs-image-teaser__cta-button:focus:not([disabled]), .cs-image-teaser__cta-button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #3E3E3E; }
      .cs-image-teaser__cta-button:hover:not([disabled]) *, .cs-image-teaser__cta-button:focus:not([disabled]) *, .cs-image-teaser__cta-button:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-image-teaser__cta-button[disabled] {
      opacity: 0.65;
      cursor: auto; }
    @media (max-width: 64em) {
      .cs-image-teaser__cta-button {
        padding: 11px 15px; } }
    @media (min-width: 64em) {
      .cs-image-teaser__cta-button {
        font-size: 1.2rem;
        min-width: 140px; } }
    @media (min-width: 80em) {
      .cs-image-teaser__cta-button {
        font-size: 1.4rem; } }
    @media (min-width: 120em) {
      .cs-image-teaser__cta-button {
        font-size: 1.6rem; } }
  .cs-image-teaser__cta-button-span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal; }
  .cs-image-teaser__cta-button-icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    display: none; }
  .cs-image-teaser__badge {
    font-size: 1.1em;
    position: absolute;
    top: 0.7em;
    left: 0.7em;
    color: #ffffff;
    background: #FF4604;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    padding: 0.9em;
    text-align: center;
    z-index: 3; }
    .cs-image-teaser__badge:before {
      content: '';
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding-top: 100%;
      height: 0; }
    .cs-image-teaser__badge--align-x-2 {
      left: 50%;
      transform: translateX(-50%); }
    .cs-image-teaser__badge--align-x-3 {
      left: auto;
      right: 0.7em; }
    .cs-image-teaser__badge--align-y-2 {
      top: 50%;
      transform: translateY(-50%); }
      .cs-image-teaser__badge--align-y-2.cs-image-teaser__badge--align-x-2 {
        transform: translate(-50%, -50%); }
    .cs-image-teaser__badge--align-y-3 {
      top: auto;
      bottom: 0.7em; }
    .cs-image-teaser__badge small {
      font-size: 75%;
      line-height: 75%; }
    .cs-image-teaser__badge small,
    .cs-image-teaser__badge big {
      padding-bottom: 0.2rem;
      display: inline-block; }
      .cs-image-teaser__badge small:last-child,
      .cs-image-teaser__badge big:last-child {
        padding-bottom: 0; }
  .cs-image-teaser__badge-span {
    text-align: center; }
  .cs-image-teaser__overlay, .cs-image-teaser__gradient {
    position: absolute;
    top: -1%;
    left: -1%;
    width: 102%;
    height: 102%; }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__overlay {
    background: #212121; }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__overlay {
    background: #ffffff; }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__gradient--direction-x-1.cs-image-teaser__gradient--direction-y-1 {
    background: linear-gradient(135deg, #212121 0%, rgba(33, 33, 33, 0) 85%); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__gradient--direction-x-1.cs-image-teaser__gradient--direction-y-1 {
    background: linear-gradient(135deg, #ffffff 0%, rgba(255, 255, 255, 0) 85%); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__gradient--direction-x-1.cs-image-teaser__gradient--direction-y-2 {
    background: linear-gradient(90deg, #212121 0%, rgba(33, 33, 33, 0) 85%); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__gradient--direction-x-1.cs-image-teaser__gradient--direction-y-2 {
    background: linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0) 85%); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__gradient--direction-x-1.cs-image-teaser__gradient--direction-y-3 {
    background: linear-gradient(45deg, #212121 0%, rgba(33, 33, 33, 0) 85%); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__gradient--direction-x-1.cs-image-teaser__gradient--direction-y-3 {
    background: linear-gradient(45deg, #ffffff 0%, rgba(255, 255, 255, 0) 85%); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__gradient--direction-x-2.cs-image-teaser__gradient--direction-y-1 {
    background: linear-gradient(180deg, #212121 0%, rgba(33, 33, 33, 0) 85%); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__gradient--direction-x-2.cs-image-teaser__gradient--direction-y-1 {
    background: linear-gradient(180deg, #ffffff 0%, rgba(255, 255, 255, 0) 85%); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__gradient--direction-x-2.cs-image-teaser__gradient--direction-y-2 {
    background: linear-gradient(90deg, #212121 0%, rgba(33, 33, 33, 0) 85%); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__gradient--direction-x-2.cs-image-teaser__gradient--direction-y-2 {
    background: linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0) 85%); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__gradient--direction-x-2.cs-image-teaser__gradient--direction-y-3 {
    background: linear-gradient(0deg, #212121 0%, rgba(33, 33, 33, 0) 85%); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__gradient--direction-x-2.cs-image-teaser__gradient--direction-y-3 {
    background: linear-gradient(0deg, #ffffff 0%, rgba(255, 255, 255, 0) 85%); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__gradient--direction-x-3.cs-image-teaser__gradient--direction-y-1 {
    background: linear-gradient(-135deg, #212121 0%, rgba(33, 33, 33, 0) 85%); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__gradient--direction-x-3.cs-image-teaser__gradient--direction-y-1 {
    background: linear-gradient(-135deg, #ffffff 0%, rgba(255, 255, 255, 0) 85%); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__gradient--direction-x-3.cs-image-teaser__gradient--direction-y-2 {
    background: linear-gradient(-90deg, #212121 0%, rgba(33, 33, 33, 0) 85%); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__gradient--direction-x-3.cs-image-teaser__gradient--direction-y-2 {
    background: linear-gradient(-90deg, #ffffff 0%, rgba(255, 255, 255, 0) 85%); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__gradient--direction-x-3.cs-image-teaser__gradient--direction-y-3 {
    background: linear-gradient(-45deg, #212121 0%, rgba(33, 33, 33, 0) 85%); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__gradient--direction-x-3.cs-image-teaser__gradient--direction-y-3 {
    background: linear-gradient(-45deg, #ffffff 0%, rgba(255, 255, 255, 0) 85%); }
  .cs-image-teaser__image {
    /* stylelint-disable */
    font: 0/0 a;
    /* stylelint-enable */
    text-shadow: none;
    color: transparent; }
    .cs-image-teaser__image--mirror {
      transform: scaleX(-1); }
  .cs-image-teaser__optimizer-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1; }
    .cs-image-teaser__slide--scheme-dark .cs-image-teaser__optimizer-container {
      background-color: #ffffff; }
    .cs-image-teaser__slide--scheme-light .cs-image-teaser__optimizer-container {
      background-color: #212121; }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-0 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-5 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.05); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-10 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.1); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-15 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.15); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-20 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.2); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-25 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.25); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-30 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.3); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-35 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.35); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-40 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.4); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-45 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.45); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-50 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.5); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-55 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.55); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-60 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.6); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-65 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.65); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-70 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.7); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-75 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.75); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-80 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.8); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-85 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.85); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-90 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.9); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-95 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.95); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-100 {
    text-shadow: 0 0 2.5rem white; }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-0 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-5 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.05); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-10 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.1); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-15 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.15); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-20 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.2); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-25 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.25); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-30 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.3); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-35 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.35); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-40 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.4); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-45 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.45); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-50 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.5); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-55 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.55); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-60 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.6); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-65 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.65); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-70 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.7); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-75 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.75); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-80 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.8); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-85 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.85); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-90 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.9); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-95 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.95); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-100 {
    text-shadow: 0 0 2.5rem #212121; }
  .cs-image-teaser--grid-teaser {
    height: 100%;
    margin: 0; }
  @media (min-width: 48em) {
    .cs-image-teaser--hero-teaser {
      padding: 0; } }
  @media (min-width: 48em) {
    .cs-image-teaser--hero-teaser .cs-image-teaser__wrapper {
      overflow: visible; } }
  .cs-image-teaser--hero-teaser .cs-image-teaser__carousel {
    position: static; }
  @media (max-width: 47.99em) {
    .cs-image-teaser--hero-teaser.cs-image-teaser--as-list-mobile .cs-image-teaser__slides {
      flex-wrap: wrap; }
    .cs-image-teaser--hero-teaser.cs-image-teaser--as-list-mobile .cs-image-teaser__pagination {
      display: none; } }

.cs-container--image-teaser-window-width {
  max-width: none;
  padding-left: 0;
  padding-right: 0; }
  .cs-container--image-teaser-window-width .cs-image-teaser__slide {
    margin-left: 0;
    margin-right: 0; }

.cs-container--hero-teaser .cs-image-teaser {
  margin-bottom: 0 !important; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Swiper 4.4.6
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * http://www.idangero.us/swiper/
 *
 * Copyright 2014-2018 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: December 19, 2018
 */
.swiper-container, .cs-image-teaser-legacy__wrapper {
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1; }

.swiper-container-no-flexbox .swiper-slide, .swiper-container-no-flexbox .cs-image-teaser-legacy__slide {
  float: left; }

.swiper-container-vertical > .swiper-wrapper, .swiper-container-vertical > .cs-image-teaser-legacy__slides {
  flex-direction: column; }

.swiper-wrapper, .cs-image-teaser-legacy__slides {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box; }

.swiper-container-android .swiper-slide, .swiper-container-android .cs-image-teaser-legacy__slide, .swiper-wrapper, .cs-image-teaser-legacy__slides {
  transform: translate3d(0px, 0, 0); }

.swiper-container-multirow > .swiper-wrapper, .swiper-container-multirow > .cs-image-teaser-legacy__slides {
  flex-wrap: wrap; }

.swiper-container-free-mode > .swiper-wrapper, .swiper-container-free-mode > .cs-image-teaser-legacy__slides {
  transition-timing-function: ease-out;
  margin: 0 auto; }

.swiper-slide, .cs-image-teaser-legacy__slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform; }

.swiper-slide-invisible-blank {
  visibility: hidden; }

/* Auto Height */
.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide,
.swiper-container-autoheight .cs-image-teaser-legacy__slide {
  height: auto; }

.swiper-container-autoheight .swiper-wrapper, .swiper-container-autoheight .cs-image-teaser-legacy__slides {
  align-items: flex-start;
  transition-property: transform, height; }

/* 3D Effects */
.swiper-container-3d {
  perspective: 1200px; }

.swiper-container-3d .swiper-wrapper, .swiper-container-3d .cs-image-teaser-legacy__slides,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .cs-image-teaser-legacy__slide,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-cube-shadow {
  transform-style: preserve-3d; }

.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10; }

.swiper-container-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

/* IE10 Windows Phone 8 Fixes */
.swiper-container-wp8-horizontal,
.swiper-container-wp8-horizontal > .swiper-wrapper,
.swiper-container-wp8-horizontal > .cs-image-teaser-legacy__slides {
  touch-action: pan-y; }

.swiper-container-wp8-vertical,
.swiper-container-wp8-vertical > .swiper-wrapper,
.swiper-container-wp8-vertical > .cs-image-teaser-legacy__slides {
  touch-action: pan-x; }

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 50%;
  width: 27px;
  height: 44px;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  background-size: 27px 44px;
  background-position: center;
  background-repeat: no-repeat; }

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none; }

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  left: 10px;
  right: auto; }

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  right: 10px;
  left: auto; }

.swiper-button-prev.swiper-button-white,
.swiper-container-rtl .swiper-button-next.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-next.swiper-button-white,
.swiper-container-rtl .swiper-button-prev.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-prev.swiper-button-black,
.swiper-container-rtl .swiper-button-next.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-next.swiper-button-black,
.swiper-container-rtl .swiper-button-prev.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-lock {
  display: none; }

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10; }

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0; }

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: 10px;
  left: 0;
  width: 100%; }

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0; }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative; }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33); }

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #000;
  opacity: 0.2; }

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer; }

.swiper-pagination-bullet-active {
  opacity: 1;
  background: #007aff; }

.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  transform: translate3d(0px, -50%, 0); }

.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  display: block; }

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px; }

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 200ms transform, 200ms top; }

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px; }

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap; }

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms left; }

.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right; }

/* Progress */
.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute; }

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: #007aff;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top; }

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top; }

.swiper-container-horizontal > .swiper-pagination-progressbar,
.swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0; }

.swiper-container-vertical > .swiper-pagination-progressbar,
.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0; }

.swiper-pagination-white .swiper-pagination-bullet-active {
  background: #ffffff; }

.swiper-pagination-progressbar.swiper-pagination-white {
  background: rgba(255, 255, 255, 0.25); }

.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill {
  background: #ffffff; }

.swiper-pagination-black .swiper-pagination-bullet-active {
  background: #000000; }

.swiper-pagination-progressbar.swiper-pagination-black {
  background: rgba(0, 0, 0, 0.25); }

.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill {
  background: #000000; }

.swiper-pagination-lock {
  display: none; }

/* Scrollbar */
.swiper-scrollbar, .cs-image-teaser-legacy__scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1); }

.swiper-container-horizontal > .swiper-scrollbar, .swiper-container-horizontal > .cs-image-teaser-legacy__scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%; }

.swiper-container-vertical > .swiper-scrollbar, .swiper-container-vertical > .cs-image-teaser-legacy__scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%; }

.swiper-scrollbar-drag, .cs-image-teaser-legacy__scrollbar--drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0; }

.swiper-scrollbar-cursor-drag {
  cursor: move; }

.swiper-scrollbar-lock {
  display: none; }

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center; }

.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
  object-fit: contain; }

.swiper-slide-zoomed {
  cursor: move; }

/* Preloader */
.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
  animation: swiper-preloader-spin 1s steps(12, end) infinite; }

.swiper-lazy-preloader:after {
  display: block;
  content: '';
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-position: 50%;
  background-size: 100%;
  background-repeat: no-repeat; }

.swiper-lazy-preloader-white:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); }

@-webkit-keyframes swiper-preloader-spin {
  100% {
    transform: rotate(360deg); } }

@keyframes swiper-preloader-spin {
  100% {
    transform: rotate(360deg); } }

/* a11y */
.swiper-container .swiper-notification, .cs-image-teaser-legacy__wrapper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000; }

.swiper-container-fade.swiper-container-free-mode .swiper-slide, .swiper-container-fade.swiper-container-free-mode .cs-image-teaser-legacy__slide {
  transition-timing-function: ease-out; }

.swiper-container-fade .swiper-slide, .swiper-container-fade .cs-image-teaser-legacy__slide {
  pointer-events: none;
  transition-property: opacity; }

.swiper-container-fade .swiper-slide .swiper-slide, .swiper-container-fade .cs-image-teaser-legacy__slide .swiper-slide, .swiper-container-fade .swiper-slide .cs-image-teaser-legacy__slide, .swiper-container-fade .cs-image-teaser-legacy__slide .cs-image-teaser-legacy__slide {
  pointer-events: none; }

.swiper-container-fade .swiper-slide-active,
.swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-cube {
  overflow: visible; }

.swiper-container-cube .swiper-slide, .swiper-container-cube .cs-image-teaser-legacy__slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%; }

.swiper-container-cube .swiper-slide .swiper-slide, .swiper-container-cube .cs-image-teaser-legacy__slide .swiper-slide, .swiper-container-cube .swiper-slide .cs-image-teaser-legacy__slide, .swiper-container-cube .cs-image-teaser-legacy__slide .cs-image-teaser-legacy__slide {
  pointer-events: none; }

.swiper-container-cube.swiper-container-rtl .swiper-slide, .swiper-container-cube.swiper-container-rtl .cs-image-teaser-legacy__slide {
  transform-origin: 100% 0; }

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-next,
.swiper-container-cube .swiper-slide-prev,
.swiper-container-cube .swiper-slide-next + .swiper-slide,
.swiper-container-cube .swiper-slide-next + .cs-image-teaser-legacy__slide {
  pointer-events: auto;
  visibility: visible; }

.swiper-container-cube .swiper-slide-shadow-top,
.swiper-container-cube .swiper-slide-shadow-bottom,
.swiper-container-cube .swiper-slide-shadow-left,
.swiper-container-cube .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.6;
  -webkit-filter: blur(50px);
  filter: blur(50px);
  z-index: 0; }

.swiper-container-flip {
  overflow: visible; }

.swiper-container-flip .swiper-slide, .swiper-container-flip .cs-image-teaser-legacy__slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1; }

.swiper-container-flip .swiper-slide .swiper-slide, .swiper-container-flip .cs-image-teaser-legacy__slide .swiper-slide, .swiper-container-flip .swiper-slide .cs-image-teaser-legacy__slide, .swiper-container-flip .cs-image-teaser-legacy__slide .cs-image-teaser-legacy__slide {
  pointer-events: none; }

.swiper-container-flip .swiper-slide-active,
.swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-flip .swiper-slide-shadow-top,
.swiper-container-flip .swiper-slide-shadow-bottom,
.swiper-container-flip .swiper-slide-shadow-left,
.swiper-container-flip .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.swiper-container-coverflow .swiper-wrapper, .swiper-container-coverflow .cs-image-teaser-legacy__slides {
  /* Windows 8 IE 10 fix */
  -ms-perspective: 1200px; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
/* stylelint-disable block-no-empty */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-image-teaser-legacy {
  position: relative;
  margin: 0 0 3rem;
  margin-bottom: 3rem; }
  .cs-image-teaser-legacy__slides {
    align-items: stretch;
    margin: 0;
    padding: 0;
    box-sizing: inherit; }
  .cs-image-teaser-legacy__slide {
    margin: 0;
    padding: 0;
    list-style: none;
    height: auto;
    display: flex;
    justify-content: center; }
  .cs-image-teaser-legacy__figure {
    width: 100%;
    margin: 0;
    padding: 0; }
  .cs-image-teaser-legacy__image {
    display: block;
    width: 100%; }
  .cs-image-teaser-legacy__nav {
    display: none;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    transition: all 0.15s linear;
    z-index: 201;
    width: 5.5rem;
    height: 5.5rem;
    border: 0;
    border-radius: 6px;
    background: transparent;
    box-shadow: none;
    padding: 0;
    cursor: pointer;
    outline: none; }

@media (max-width: 63.99em) and (pointer: fine) {
  .cs-image-teaser-legacy__nav {
    opacity: 1; }
    .cs-image-teaser-legacy:hover .cs-image-teaser-legacy__nav {
      opacity: 1; } }
    .cs-image-teaser-legacy__nav--hidden {
      display: none; }
    .cs-image-teaser-legacy__nav--disabled {
      cursor: default;
      display: none;
      opacity: 1; }
    .cs-image-teaser-legacy__nav--prev {
      left: 0; }
      @media (min-width: 80em) {
        .cs-image-teaser-legacy:not(.cs-image-teaser-legacy--full-width-slider) .cs-image-teaser-legacy__nav--prev {
          left: -2.75rem;
          opacity: 1; } }
    .cs-image-teaser-legacy__nav--next {
      right: 0; }
      @media (min-width: 80em) {
        .cs-image-teaser-legacy:not(.cs-image-teaser-legacy--full-width-slider) .cs-image-teaser-legacy__nav--next {
          right: -2.75rem;
          opacity: 1; } }
    .cs-image-teaser-legacy--ready .cs-image-teaser-legacy__nav:not(.cs-image-teaser-legacy__nav--disabled) {
      display: block; }
    .cs-image-teaser-legacy__nav:hover, .cs-image-teaser-legacy__nav:active, .cs-image-teaser-legacy__nav:focus {
      background: transparent;
      border: 0;
      box-shadow: none; }
    @media (max-width: 47.99em) {
      .cs-image-teaser-legacy__nav {
        display: none !important; } }
  .cs-image-teaser-legacy__nav-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%, -50%, 0);
    width: 2.4rem;
    height: 3.7rem;
    fill: #FF4604; }
  .cs-image-teaser-legacy__pagination {
    margin: 0;
    padding: 0;
    list-style: none;
    margin: 0;
    padding: 0.5rem 0 0;
    min-height: 3rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    color: #696969;
    z-index: 200; }
    .cs-image-teaser-legacy__pagination--hidden {
      display: none; }
  .cs-image-teaser-legacy__pagination-item {
    position: relative;
    margin: 0.4rem;
    border-radius: 2px;
    background: #f0f0f0;
    width: 2.2rem;
    height: 0.9rem;
    transform: skew(-18deg);
    border: none;
    transition: all 0.15s; }
    .cs-image-teaser-legacy__pagination-item:hover {
      background: #dcdcdc; }
    .cs-image-teaser-legacy__pagination-item--active, .cs-image-teaser-legacy__pagination-item--active:hover {
      background: #fed400; }
  .cs-image-teaser-legacy__pagination-button {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 0;
    opacity: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    margin: 0;
    cursor: pointer; }
  .cs-image-teaser-legacy__number {
    font-weight: 700; }
    .cs-image-teaser-legacy__number--current {
      color: #FF4604; }
  @media (min-width: 48em) {
    .cs-image-teaser-legacy {
      margin: 0 0 4rem; } }
  .cs-image-teaser-legacy--skip-spacing {
    margin: 0; }
  .cs-image-teaser-legacy:not(.cs-image-teaser-legacy--slider) .cs-image-teaser-legacy__nav,
  .cs-image-teaser-legacy:not(.cs-image-teaser-legacy--slider) .cs-image-teaser-legacy__pagination {
    display: none; }
  .cs-image-teaser-legacy:not(.cs-image-teaser-legacy--slider) .cs-image-teaser-legacy__slides {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
  .cs-image-teaser-legacy:not(.cs-image-teaser-legacy--slider) .cs-image-teaser-legacy__slide {
    width: 100%; }
  .cs-image-teaser-legacy:not(.cs-image-teaser-legacy--slider) .cs-image-teaser-legacy__figure {
    margin: 0;
    line-height: 1; }
  .cs-image-teaser-legacy:not(.cs-image-teaser-legacy--slider) .cs-image-teaser-legacy__image {
    max-width: 100%;
    width: 100%;
    vertical-align: bottom; }
  .cs-image-teaser-legacy.cs-image-teaser-legacy--slider .cs-image-teaser-legacy__image[src^='data:image/'] {
    height: 0; }
  .cs-image-teaser-legacy__wrapper {
    position: static; }
  .cs-image-teaser-legacy__slide {
    text-align: center;
    position: relative; }
    .cs-image-teaser-legacy__wrapper--content-display-outside .cs-image-teaser-legacy__slide {
      flex-wrap: wrap; }
  .cs-image-teaser-legacy__wrapper--content-display-outside .cs-image-teaser-legacy__figure {
    width: 100%; }
  .cs-image-teaser-legacy__content-wrapper {
    line-height: 1.15em;
    color: #dd2e2e; }
    .cs-image-teaser-legacy__wrapper--content-display-outside .cs-image-teaser-legacy__content-wrapper {
      width: 100%;
      padding: 1em 0.65em;
      background-color: #f1f1f1;
      text-align: center; }
    .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper {
      position: absolute;
      top: 0;
      left: 0;
      width: 90%;
      height: 100%;
      display: flex;
      box-sizing: border-box;
      padding: 3% 5%; }
      @media (min-width: 40em) {
        .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper .cs-image-teaser-legacy--items-in-row-2.cs-image-teaser-legacy--slider,
        .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper .cs-image-teaser-legacy--items-in-row-3.cs-image-teaser-legacy--slider,
        .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper .cs-image-teaser-legacy--items-in-row-4.cs-image-teaser-legacy--slider,
        .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper .cs-image-teaser-legacy--items-in-row-5.cs-image-teaser-legacy--slider,
        .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper .cs-image-teaser-legacy--items-in-row-6.cs-image-teaser-legacy--slider {
          width: 80%; } }
      @media (min-width: 48em) {
        .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper .cs-image-teaser-legacy--items-in-row-2 .cs-image-teaser-legacy--items-in-row-3.cs-image-teaser-legacy--slider,
        .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper .cs-image-teaser-legacy--items-in-row-4.cs-image-teaser-legacy--slider,
        .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper .cs-image-teaser-legacy--items-in-row-5.cs-image-teaser-legacy--slider,
        .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper .cs-image-teaser-legacy--items-in-row-6.cs-image-teaser-legacy--slider {
          width: 70%; } }
    .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper--content-display-scenario-1 {
      align-items: center;
      text-align: left; }
    .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper--content-display-scenario-2 {
      align-items: flex-end;
      text-align: left; }
    .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper--content-display-scenario-3 {
      left: 50%;
      transform: translateX(-50%);
      justify-content: center;
      align-items: center; }
    .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper--content-display-scenario-4 {
      left: 50%;
      transform: translateX(-50%);
      justify-content: center;
      align-items: flex-end; }
  .cs-image-teaser-legacy__headline {
    margin: 0;
    font-size: 1.5rem;
    line-height: 1;
    text-transform: uppercase; }
    @media (min-width: 30em) {
      .cs-image-teaser-legacy__headline {
        font-size: 2rem; }
        .cs-image-teaser-legacy--items-in-row-1 .cs-image-teaser-legacy__headline {
          font-size: 2rem; } }
    @media (min-width: 40em) {
      .cs-image-teaser-legacy__headline {
        font-size: 2.39rem; }
        .cs-image-teaser-legacy--items-in-row-1 .cs-image-teaser-legacy__headline {
          font-size: 3.75vw; } }
    @media (min-width: 48em) {
      .cs-image-teaser-legacy--items-in-row-1 .cs-image-teaser-legacy__headline {
        font-size: 4vw; }
      .cs-image-teaser-legacy--items-in-row-2 .cs-image-teaser-legacy__headline {
        font-size: 2.45vw; }
      .cs-image-teaser-legacy--items-in-row-3 .cs-image-teaser-legacy__headline {
        font-size: 2.25vw; }
      .cs-image-teaser-legacy--items-in-row-3.cs-image-teaser-legacy--slider .cs-image-teaser-legacy__headline {
        font-size: 2.05vw; }
      .cs-image-teaser-legacy--items-in-row-4 .cs-image-teaser-legacy__headline {
        font-size: 2vw; }
      .cs-image-teaser-legacy--items-in-row-4.cs-image-teaser-legacy--slider .cs-image-teaser-legacy__headline {
        font-size: 1.9vw; }
      .cs-image-teaser-legacy--items-in-row-6 .cs-image-teaser-legacy__headline {
        font-size: 1.5vw; }
      .cs-image-teaser-legacy--items-in-row-8 .cs-image-teaser-legacy__headline {
        font-size: 1.35vw; } }
    @media (min-width: 64em) {
      .cs-image-teaser-legacy--items-in-row-1 .cs-image-teaser-legacy__headline {
        font-size: 3.5vw; }
      .cs-image-teaser-legacy--items-in-row-2 .cs-image-teaser-legacy__headline {
        font-size: 2.35vw; }
      .cs-image-teaser-legacy--items-in-row-3 .cs-image-teaser-legacy__headline {
        font-size: 1.9vw; }
      .cs-image-teaser-legacy--items-in-row-4 .cs-image-teaser-legacy__headline {
        font-size: 1.6vw; }
      .cs-image-teaser-legacy--items-in-row-6 .cs-image-teaser-legacy__headline {
        font-size: 1.35vw; }
      .cs-image-teaser-legacy--items-in-row-8 .cs-image-teaser-legacy__headline {
        font-size: 1.2vw; } }
    @media (min-width: 80em) {
      .cs-image-teaser-legacy--items-in-row-1 .cs-image-teaser-legacy__headline {
        font-size: 4.65rem; }
      .cs-image-teaser-legacy--items-in-row-2 .cs-image-teaser-legacy__headline {
        font-size: 2.9rem; }
      .cs-image-teaser-legacy--items-in-row-3 .cs-image-teaser-legacy__headline,
      .cs-image-teaser-legacy--items-in-row-4 .cs-image-teaser-legacy__headline {
        font-size: 2.7rem; }
      .cs-image-teaser-legacy--items-in-row-3.cs-image-teaser-legacy--slider .cs-image-teaser-legacy__headline {
        font-size: 2.5rem; }
      .cs-image-teaser-legacy--items-in-row-4.cs-image-teaser-legacy--slider .cs-image-teaser-legacy__headline {
        font-size: 2.3rem; }
      .cs-image-teaser-legacy--items-in-row-6 .cs-image-teaser-legacy__headline {
        font-size: 1.7rem; }
      .cs-image-teaser-legacy--items-in-row-8 .cs-image-teaser-legacy__headline {
        font-size: 1.5rem; } }
    @media (max-width: 47.99em) {
      .cs-image-teaser-legacy--items-in-row-mobile-2 .cs-image-teaser-legacy__headline {
        font-size: 3.5vw; } }
    @media (max-width: 29.99em) {
      .cs-image-teaser-legacy--items-in-row-mobile-2 .cs-image-teaser-legacy__headline {
        font-size: 3.8vw; } }
    .cs-image-teaser-legacy__headline + .cs-image-teaser-legacy__subheadline {
      margin: 0.25em 0 0; }
  .cs-image-teaser-legacy__subheadline {
    margin: 0;
    font-size: 1.2rem;
    line-height: 1;
    font-weight: 300; }
    @media (min-width: 30em) {
      .cs-image-teaser-legacy__subheadline {
        font-size: 1.4rem; } }
    @media (min-width: 40em) {
      .cs-image-teaser-legacy__subheadline {
        font-size: 1.69rem; } }
    @media (min-width: 48em) {
      .cs-image-teaser-legacy--items-in-row-1 .cs-image-teaser-legacy__subheadline {
        font-size: 2.55vw; }
      .cs-image-teaser-legacy--items-in-row-2 .cs-image-teaser-legacy__subheadline {
        font-size: 2vw; }
      .cs-image-teaser-legacy--items-in-row-3 .cs-image-teaser-legacy__subheadline {
        font-size: 1.78vw; }
      .cs-image-teaser-legacy--items-in-row-3.cs-image-teaser-legacy--slider .cs-image-teaser-legacy__subheadline {
        font-size: 1.5vw; }
      .cs-image-teaser-legacy--items-in-row-4 .cs-image-teaser-legacy__subheadline {
        font-size: 1.5vw; }
      .cs-image-teaser-legacy--items-in-row-4.cs-image-teaser-legacy--slider .cs-image-teaser-legacy__subheadline {
        font-size: 1.4vw; }
      .cs-image-teaser-legacy--items-in-row-6 .cs-image-teaser-legacy__subheadline {
        font-size: 1.2vw; }
      .cs-image-teaser-legacy--items-in-row-8 .cs-image-teaser-legacy__subheadline {
        font-size: 1.1vw; } }
    @media (min-width: 64em) {
      .cs-image-teaser-legacy--items-in-row-1 .cs-image-teaser-legacy__subheadline {
        font-size: 2.25vw; }
      .cs-image-teaser-legacy--items-in-row-2 .cs-image-teaser-legacy__subheadline {
        font-size: 1.85vw; }
      .cs-image-teaser-legacy--items-in-row-3 .cs-image-teaser-legacy__subheadline {
        font-size: 1.5vw; }
      .cs-image-teaser-legacy--items-in-row-4 .cs-image-teaser-legacy__subheadline {
        font-size: 1.35vw; }
      .cs-image-teaser-legacy--items-in-row-6 .cs-image-teaser-legacy__subheadline {
        font-size: 1.3vw; }
      .cs-image-teaser-legacy--items-in-row-8 .cs-image-teaser-legacy__subheadline {
        font-size: 1.2vw; } }
    @media (min-width: 80em) {
      .cs-image-teaser-legacy--items-in-row-1 .cs-image-teaser-legacy__subheadline {
        font-size: 2.85rem; }
      .cs-image-teaser-legacy--items-in-row-2 .cs-image-teaser-legacy__subheadline {
        font-size: 2.2rem; }
      .cs-image-teaser-legacy--items-in-row-3 .cs-image-teaser-legacy__subheadline,
      .cs-image-teaser-legacy--items-in-row-4 .cs-image-teaser-legacy__subheadline {
        font-size: 2rem; }
      .cs-image-teaser-legacy--items-in-row-3.cs-image-teaser-legacy--slider .cs-image-teaser-legacy__subheadline {
        font-size: 1.8rem; }
      .cs-image-teaser-legacy--items-in-row-4.cs-image-teaser-legacy--slider .cs-image-teaser-legacy__subheadline {
        font-size: 1.6rem; }
      .cs-image-teaser-legacy--items-in-row-6 .cs-image-teaser-legacy__subheadline {
        font-size: 1.2rem; }
      .cs-image-teaser-legacy--items-in-row-6 .cs-image-teaser-legacy__wrapper--content-display-outside .cs-image-teaser-legacy__subheadline {
        font-size: 1.6rem; }
      .cs-image-teaser-legacy--items-in-row-8 .cs-image-teaser-legacy__wrapper--content-display-outside .cs-image-teaser-legacy__subheadline {
        font-size: 1.5rem; } }
    @media (max-width: 47.99em) {
      .cs-image-teaser-legacy--items-in-row-mobile-2 .cs-image-teaser-legacy__subheadline {
        font-size: 2.5vw; } }
    @media (max-width: 29.99em) {
      .cs-image-teaser-legacy--items-in-row-mobile-2 .cs-image-teaser-legacy__subheadline {
        font-size: 3vw; } }
  .cs-image-teaser-legacy__text {
    line-height: 1.18;
    display: none; }
    @media (min-width: 48em) {
      .cs-image-teaser-legacy__text {
        font-size: 1.4rem; }
        .cs-image-teaser-legacy__wrapper--content-display-outside .cs-image-teaser-legacy__text,
        .cs-image-teaser-legacy--items-in-row-1 .cs-image-teaser-legacy__text {
          display: block; } }
    @media (min-width: 80em) {
      .cs-image-teaser-legacy--items-in-row-2 .cs-image-teaser-legacy__text {
        display: block; } }
  .cs-image-teaser-legacy__cta {
    display: none; }
    @media (min-width: 48em) {
      .cs-image-teaser-legacy__cta {
        display: block;
        margin-top: 0.7rem; }
        .cs-image-teaser-legacy--items-in-row-2:not(.cs-image-teaser-legacy--slider) .cs-image-teaser-legacy__cta {
          padding: 1em 2.5em; }
        .cs-image-teaser-legacy--items-in-row-3 .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__cta,
        .cs-image-teaser-legacy--items-in-row-4 .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__cta,
        .cs-image-teaser-legacy--items-in-row-6 .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__cta,
        .cs-image-teaser-legacy--items-in-row-6 .cs-image-teaser-legacy__wrapper--content-display-outside .cs-image-teaser-legacy__cta {
          display: none; }
        .cs-image-teaser-legacy--items-in-row-8 .cs-image-teaser-legacy__cta {
          display: none; } }
    @media (min-width: 64em) {
      .cs-image-teaser-legacy--items-in-row-3:not(.cs-image-teaser-legacy--slider) .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__cta {
        display: block; }
      .cs-image-teaser-legacy--items-in-row-6:not(.cs-image-teaser-legacy--slider) .cs-image-teaser-legacy__cta {
        padding: 0.65em 1.25em; } }
  .cs-image-teaser-legacy__pagination {
    text-align: center; }
  .cs-image-teaser-legacy--items-in-row-mobile-2:not(.cs-image-teaser-legacy--slider) .cs-image-teaser-legacy__slide {
    width: calc(50% - 0.25em);
    text-align: center; }
  .cs-image-teaser-legacy--mobile-cfg-big-small-small:not(.cs-image-teaser-legacy--slider) .cs-image-teaser-legacy__slide {
    width: calc( 50% - 0.25em); }
    .cs-image-teaser-legacy--mobile-cfg-big-small-small:not(.cs-image-teaser-legacy--slider) .cs-image-teaser-legacy__slide:first-child {
      line-height: 1;
      width: 100%; }
      .cs-image-teaser-legacy--mobile-cfg-big-small-small:not(.cs-image-teaser-legacy--slider) .cs-image-teaser-legacy__slide:first-child .cs-image-teaser-legacy__image {
        width: 100%;
        vertical-align: bottom; }
  .cs-image-teaser-legacy--mobile-cfg-big-small-small-big:not(.cs-image-teaser-legacy--slider) .cs-image-teaser-legacy__slide {
    width: calc( 50% - 0.25em); }
    .cs-image-teaser-legacy--mobile-cfg-big-small-small-big:not(.cs-image-teaser-legacy--slider) .cs-image-teaser-legacy__slide:first-child, .cs-image-teaser-legacy--mobile-cfg-big-small-small-big:not(.cs-image-teaser-legacy--slider) .cs-image-teaser-legacy__slide:last-child {
      line-height: 1;
      width: 100%; }
      .cs-image-teaser-legacy--mobile-cfg-big-small-small-big:not(.cs-image-teaser-legacy--slider) .cs-image-teaser-legacy__slide:first-child .cs-image-teaser-legacy__image, .cs-image-teaser-legacy--mobile-cfg-big-small-small-big:not(.cs-image-teaser-legacy--slider) .cs-image-teaser-legacy__slide:last-child .cs-image-teaser-legacy__image {
        width: 100%;
        vertical-align: bottom; }
  .cs-image-teaser-legacy--full-width {
    margin: 0 calc(((100vw - 100%) / 2) * -1); }
  @media (min-width: 48em) {
    .cs-image-teaser-legacy--items-in-row-2:not(.cs-image-teaser-legacy--slider) .cs-image-teaser-legacy__slide, .cs-image-teaser-legacy--items-in-row-3:not(.cs-image-teaser-legacy--slider) .cs-image-teaser-legacy__slide, .cs-image-teaser-legacy--items-in-row-4:not(.cs-image-teaser-legacy--slider) .cs-image-teaser-legacy__slide, .cs-image-teaser-legacy--items-in-row-5:not(.cs-image-teaser-legacy--slider) .cs-image-teaser-legacy__slide, .cs-image-teaser-legacy--items-in-row-6:not(.cs-image-teaser-legacy--slider) .cs-image-teaser-legacy__slide, .cs-image-teaser-legacy--items-in-row-8:not(.cs-image-teaser-legacy--slider) .cs-image-teaser-legacy__slide {
      text-align: center; }
    .cs-image-teaser-legacy--items-in-row-2:not(.cs-image-teaser-legacy--slider) .cs-image-teaser-legacy__slide {
      width: calc(50% - 0.25em); }
    .cs-image-teaser-legacy--items-in-row-3:not(.cs-image-teaser-legacy--slider) .cs-image-teaser-legacy__slide {
      width: calc(100% / 3 - 0.3333em); }
    .cs-image-teaser-legacy--items-in-row-4:not(.cs-image-teaser-legacy--slider) .cs-image-teaser-legacy__slide {
      width: calc(100% / 4 - 0.375em); }
    .cs-image-teaser-legacy--items-in-row-6:not(.cs-image-teaser-legacy--slider) .cs-image-teaser-legacy__slide {
      width: calc(100% / 6 - 0.8333em); }
    .cs-image-teaser-legacy--items-in-row-8:not(.cs-image-teaser-legacy--slider) .cs-image-teaser-legacy__slide {
      width: calc(100% / 8 - 0.875em); }
    .cs-image-teaser-legacy--mobile-cfg-big-small-small:not(.cs-image-teaser-legacy--slider) .cs-image-teaser-legacy__slide:first-child {
      width: calc(100% / 3 - 0.3333em); }
    .cs-image-teaser-legacy--mobile-cfg-big-small-small-big:not(.cs-image-teaser-legacy--slider) .cs-image-teaser-legacy__slide:first-child, .cs-image-teaser-legacy--mobile-cfg-big-small-small-big:not(.cs-image-teaser-legacy--slider) .cs-image-teaser-legacy__slide:last-child {
      width: calc(100% / 4 - 0.5em); } }
  .cs-image-teaser-legacy--cms-pages .cs-image-teaser-legacy__slides {
    justify-content: flex-start !important; }
  .cs-image-teaser-legacy:not(.cs-image-teaser-legacy--slider) .cs-image-teaser-legacy__slide {
    height: auto; }
  .cs-image-teaser-legacy--slider .cs-image-teaser-legacy__slide {
    margin-bottom: 0; }
  .cs-image-teaser-legacy__slide--scheme-light:not(.cs-image-teaser-legacy__slide--image-uploaded) {
    background-color: #212121; }
  .cs-image-teaser-legacy__slide-link {
    display: flex;
    width: 100%; }
    .cs-image-teaser-legacy__slide-link:hover {
      text-decoration: none; }
    .cs-image-teaser-legacy__wrapper--content-display-outside .cs-image-teaser-legacy__slide-link {
      flex-wrap: wrap; }
  .cs-image-teaser-legacy__content-wrapper {
    color: #212121; }
    .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper {
      padding: 2rem 1rem; }
      @media (min-width: 64em) {
        .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper {
          padding: 2rem; } }
    @media (min-width: 64em) {
      .cs-image-teaser-legacy--items-in-row-1 .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper {
        padding: 2rem 3rem; } }
    .cs-image-teaser-legacy__wrapper--content-display-outside .cs-image-teaser-legacy__content-wrapper {
      background-color: transparent; }
    .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper--content-display-scenario-1 .cs-image-teaser-legacy__subheadline,
    .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper--content-display-scenario-1 .cs-image-teaser-legacy__text,
    .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper--content-display-scenario-1 .cs-image-teaser-legacy__cta,
    .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper--content-display-scenario-2 .cs-image-teaser-legacy__subheadline,
    .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper--content-display-scenario-2 .cs-image-teaser-legacy__text,
    .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper--content-display-scenario-2 .cs-image-teaser-legacy__cta {
      padding-left: 1rem; }
      @media (min-width: 64em) {
        .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper--content-display-scenario-1 .cs-image-teaser-legacy__subheadline,
        .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper--content-display-scenario-1 .cs-image-teaser-legacy__text,
        .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper--content-display-scenario-1 .cs-image-teaser-legacy__cta,
        .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper--content-display-scenario-2 .cs-image-teaser-legacy__subheadline,
        .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper--content-display-scenario-2 .cs-image-teaser-legacy__text,
        .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper--content-display-scenario-2 .cs-image-teaser-legacy__cta {
          padding-left: 0; } }
    .cs-image-teaser-legacy__content-wrapper--content-display-scenario-4 {
      padding-top: 1rem;
      padding-bottom: 1rem; }
  .cs-image-teaser-legacy__slide--scheme-light .cs-image-teaser-legacy__headline {
    color: #ffffff; }
  .cs-image-teaser-legacy:not(.cs-image-teaser-legacy--items-in-row-1) .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper--content-display-scenario-1 .cs-image-teaser-legacy__headline,
  .cs-image-teaser-legacy:not(.cs-image-teaser-legacy--items-in-row-1) .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper--content-display-scenario-2 .cs-image-teaser-legacy__headline {
    max-width: 70%;
    margin-left: -1rem;
    padding: 0.5rem 1.5rem 0.5rem 2rem;
    background-color: #fed400; }
    @media (min-width: 64em) {
      .cs-image-teaser-legacy:not(.cs-image-teaser-legacy--items-in-row-1) .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper--content-display-scenario-1 .cs-image-teaser-legacy__headline,
      .cs-image-teaser-legacy:not(.cs-image-teaser-legacy--items-in-row-1) .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper--content-display-scenario-2 .cs-image-teaser-legacy__headline {
        margin-left: -2rem; } }
    .cs-image-teaser-legacy:not(.cs-image-teaser-legacy--items-in-row-1) .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper--content-display-scenario-1 .cs-image-teaser-legacy__headline:after,
    .cs-image-teaser-legacy:not(.cs-image-teaser-legacy--items-in-row-1) .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper--content-display-scenario-2 .cs-image-teaser-legacy__headline:after {
      display: block;
      content: '';
      position: absolute;
      right: -2rem;
      top: 0;
      z-index: -1;
      background: #fed400;
      height: 100%;
      width: 4.5rem;
      transform: skew(-18deg); }
  .cs-image-teaser-legacy--items-in-row-2 .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper--content-display-scenario-1 .cs-image-teaser-legacy__headline,
  .cs-image-teaser-legacy--items-in-row-2 .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper--content-display-scenario-2 .cs-image-teaser-legacy__headline {
    max-width: 50% !important; }
  .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__headline {
    width: auto;
    position: relative;
    z-index: 3;
    font-weight: 700;
    text-transform: none; }
  .cs-image-teaser-legacy__wrapper--content-display-outside .cs-image-teaser-legacy__headline {
    margin-bottom: 0.5rem;
    font-weight: 700; }
    @media (min-width: 64em) {
      .cs-image-teaser-legacy--items-in-row-2 .cs-image-teaser-legacy__wrapper--content-display-outside .cs-image-teaser-legacy__headline {
        font-size: 2.43rem; }
      .cs-image-teaser-legacy--items-in-row-3 .cs-image-teaser-legacy__wrapper--content-display-outside .cs-image-teaser-legacy__headline {
        font-size: 2.1rem; }
      .cs-image-teaser-legacy--items-in-row-4 .cs-image-teaser-legacy__wrapper--content-display-outside .cs-image-teaser-legacy__headline {
        font-size: 1.95rem; }
      .cs-image-teaser-legacy--items-in-row-6 .cs-image-teaser-legacy__wrapper--content-display-outside .cs-image-teaser-legacy__headline {
        font-size: 1.74rem; } }
  .cs-image-teaser-legacy__headline + .cs-image-teaser-legacy__subheadline {
    margin: 0.25rem 0 0; }
  .cs-image-teaser-legacy__headline + .cs-image-teaser-legacy__text {
    margin: 0.25rem 0 0; }
  .cs-image-teaser-legacy__subheadline {
    margin-bottom: 1rem; }
    .cs-image-teaser-legacy__slide--scheme-light .cs-image-teaser-legacy__subheadline {
      color: #ffffff; }
    .cs-image-teaser-legacy__subheadline + .cs-image-teaser-legacy__text {
      margin: 0.25rem 0 0; }
  .cs-image-teaser-legacy__text {
    line-height: 1.18;
    color: #696969;
    font-weight: 400;
    display: none; }
    .cs-image-teaser-legacy__slide--scheme-light .cs-image-teaser-legacy__text {
      color: #ffffff; }
    @media (max-width: 63.99em) {
      .cs-image-teaser-legacy__text {
        font-size: 1.45rem; } }
    @media (min-width: 64em) {
      .cs-image-teaser-legacy__text {
        display: block; } }
  .cs-image-teaser-legacy__cta {
    white-space: nowrap; }
    .cs-image-teaser-legacy__cta-button {
      display: inline-block;
      font-size: 1.4rem;
      font-weight: 700;
      text-align: center;
      position: relative;
      line-height: 1.275em;
      margin: 0;
      text-transform: uppercase;
      border-radius: 25px;
      font-family: "Red Hat Display";
      padding: 8px 25px;
      font-size: 1.2rem;
      box-sizing: border-box;
      transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
      vertical-align: middle;
      z-index: 5;
      will-change: transform, background-color, border-color, fill, color; }
      .cs-image-teaser-legacy__cta-button.medium {
        padding: 11px 25px;
        font-size: 1.4rem; }
      .cs-image-teaser-legacy__cta-button.large {
        padding: 13px 25px;
        font-size: 1.6rem; }
      .cs-image-teaser-legacy__cta-button::-moz-focus-inner {
        border: 0;
        padding: 0;
        margin: 0; }
      .cs-image-teaser-legacy__cta-button, .cs-image-teaser-legacy__cta-button:visited {
        cursor: pointer;
        border-radius: 25px;
        outline-offset: 1px;
        text-decoration: none;
        box-shadow: none;
        border: 1px solid transparent;
        color: #ffffff;
        background-color: #FF4604; }
        .cs-image-teaser-legacy__cta-button *, .cs-image-teaser-legacy__cta-button:visited * {
          color: #ffffff;
          fill: #ffffff; }
      .cs-image-teaser-legacy__cta-button:hover:not([disabled]), .cs-image-teaser-legacy__cta-button:focus:not([disabled]), .cs-image-teaser-legacy__cta-button:active:not([disabled]) {
        box-shadow: none;
        outline: none;
        text-decoration: none;
        border: 1px solid transparent;
        color: #ffffff;
        background-color: #FF7442; }
        .cs-image-teaser-legacy__cta-button:hover:not([disabled]) *, .cs-image-teaser-legacy__cta-button:focus:not([disabled]) *, .cs-image-teaser-legacy__cta-button:active:not([disabled]) * {
          color: #ffffff;
          fill: #ffffff; }
      .cs-image-teaser-legacy__cta-button[disabled] {
        opacity: 0.65;
        cursor: auto; }
      .cs-image-teaser-legacy__cta-button-span {
        margin-top: 0;
        z-index: 1;
        font-weight: 700;
        vertical-align: baseline;
        display: inline-block;
        line-height: 1.275em;
        letter-spacing: normal;
        padding-right: 4em; }
      .cs-image-teaser-legacy__cta-button-icon {
        max-width: 1em;
        max-height: 1.4rem;
        z-index: 2;
        height: auto;
        width: 100%;
        position: absolute;
        top: 50%;
        transform: translate3d(0, -50%, 0);
        margin-right: 0;
        right: 1em; }
  .cs-image-teaser-legacy__pagination {
    position: static;
    transform: none; }
  .cs-image-teaser-legacy__nav {
    z-index: 3;
    background-color: #ffffff; }
    @media (max-width: 47.99em) {
      .cs-image-teaser-legacy__nav {
        display: none; } }
    .cs-image-teaser-legacy__nav--disabled {
      opacity: 0.5;
      cursor: initial !important; }
      .cs-image-teaser-legacy__nav--disabled:hover {
        transform: translateY(-50%) !important; }
    .cs-image-teaser-legacy__nav--prev {
      left: 1.5rem; }
    .cs-image-teaser-legacy__nav--next {
      right: 1.5rem; }
  .cs-image-teaser-legacy__nav-icon {
    fill: #324dcf; }
    @media (max-width: 47.99em) {
      .cs-image-teaser-legacy__nav-icon {
        height: calc(5.5rem * 0.75); } }
  .cs-image-teaser-legacy--full-width-slider {
    width: 100%;
    padding: 0;
    margin: 0 auto;
    margin-right: auto;
    margin-left: auto; }
  .cs-image-teaser-legacy__number--current {
    color: #fed400; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-products-grid {
  margin: 0 0 3rem; }
  @media (min-width: 48em) {
    .cs-products-grid {
      margin: 0 0 4rem; } }
  .cs-products-grid--skip-spacing {
    margin: 0; }
  .cs-products-grid .cs-addtocart .cs-qty-increment {
    display: none; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-products-list {
  margin: 0;
  padding: 0;
  list-style: none; }
  .cs-products-list__item {
    margin: 0;
    border-top: 1px solid #F0F0F0; }
    @media (max-width: 63.99em) {
      .cs-products-list__item .cs-addtocart__button {
        padding: 7px 5px;
        min-width: 165px; }
        .cs-products-list__item .cs-addtocart__button .cs-addtocart__button-label {
          font-size: 14px;
          padding: 0; }
        .cs-products-list__item .cs-addtocart__button svg.cs-addtocart__button-icon {
          position: relative;
          left: -7px;
          top: 11px;
          width: 18px;
          height: 15px; } }

@media (min-width: 48.01em) and (max-width: 63.99em) {
  .cs-products-list__item .cs-addtocart__button .cs-addtocart__button-label {
    font-size: 12px;
    padding: 0;
    letter-spacing: 1px; } }
    @media (max-width: 39.99em) {
      .cs-products-list__item .cs-addtocart__button .cs-addtocart__button-label {
        font-size: 12px;
        padding: 0;
        letter-spacing: 1px; } }
    .cs-products-list__item .cs-product-tile__stock {
      text-transform: capitalize; }
      @media (max-width: 39.99em) {
        .cs-products-list__item .cs-product-tile__stock {
          padding: 0 9px;
          font-size: 1.4rem;
          line-height: 2.0rem; }
          .cs-products-list__item .cs-product-tile__stock:before {
            width: 10px;
            height: 10px; } }
    .cs-products-list__item .cs-product-tile__badges {
      position: absolute;
      right: 0;
      justify-content: flex-end;
      z-index: 1; }
      .cs-products-list__item .cs-product-tile__badges .cs-product-tile__badge-item {
        padding-right: 0; }
      .cs-products-list__item .cs-product-tile__badges .cs-product-tile__badge {
        font-size: 9px;
        padding: 5px 6px 5px 13px;
        max-width: 80px; }
  .cs-products-list .cs-product-tile__container {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; }
  .cs-products-list .cs-product-tile__thumbnail {
    width: 135px;
    padding: 10px;
    box-sizing: border-box; }
    @media (max-width: 48em) {
      .cs-products-list .cs-product-tile__thumbnail {
        min-width: 71px;
        padding: 14px 0px;
        width: 71px; } }
    .cs-products-list .cs-product-tile__thumbnail .cs-product-tile__figure {
      padding-bottom: 0; }
  .cs-products-list .cs-product-tile__content {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    border-top: 0;
    padding-left: 35px;
    position: relative; }
    @media (max-width: 29.99em) {
      .cs-products-list .cs-product-tile__content {
        flex-direction: column;
        padding-left: 20px;
        position: initial; } }
    @media (max-width: 48em) {
      .cs-products-list .cs-product-tile__content .cs-product-tile__details {
        margin-bottom: 8px;
        flex-shrink: initial; } }
    .cs-products-list .cs-product-tile__content .cs-product-tile__addons {
      display: flex;
      align-items: center;
      flex: 1 1; }

@media (max-width: 63.99em) and (min-width: 30.01em) {
  .cs-products-list .cs-product-tile__content .cs-product-tile__addons {
    align-items: flex-start; } }
      @media (max-width: 30em) {
        .cs-products-list .cs-product-tile__content .cs-product-tile__addons {
          position: absolute;
          left: 0;
          bottom: 0;
          width: 100%; } }
    .cs-products-list .cs-product-tile__content .cs-product-tile__addons-sides {
      position: absolute;
      left: 0;
      bottom: 10px;
      text-align: left;
      padding-left: 35px; }
      @media (max-width: 48em) {
        .cs-products-list .cs-product-tile__content .cs-product-tile__addons-sides {
          left: 0;
          bottom: 15px;
          width: auto; } }
      @media (max-width: 30em) {
        .cs-products-list .cs-product-tile__content .cs-product-tile__addons-sides {
          left: 53px;
          bottom: 60px; } }
    .cs-products-list .cs-product-tile__content .cs-product-tile__addons-left {
      display: none; }
    .cs-products-list .cs-product-tile__content .cs-product-tile__addons-top {
      display: none; }
  .cs-products-list .cs-product-tile__main {
    padding-bottom: 40px;
    padding-right: 15px;
    width: 22vw; }
    @media (max-width: 48em) {
      .cs-products-list .cs-product-tile__main {
        padding-bottom: 35px;
        width: 100%;
        padding-right: 0; } }
    @media (max-width: 30em) {
      .cs-products-list .cs-product-tile__main {
        padding-bottom: 85px; } }
  .cs-products-list .cs-buybox__qty-wrapper {
    display: flex; }
    @media (min-width: 48em) {
      .cs-products-list .cs-buybox__qty-wrapper {
        flex-direction: column;
        align-items: flex-start; } }
    .cs-products-list .cs-buybox__qty-wrapper .cs-buybox__qty-label {
      font-size: 1.2rem;
      font-weight: bold;
      margin-right: 7px; }
      @media (min-width: 64em) {
        .cs-products-list .cs-buybox__qty-wrapper .cs-buybox__qty-label {
          margin-top: -13px; } }
    @media (max-width: 48em) {
      .cs-products-list .cs-buybox__qty-wrapper {
        flex-direction: row;
        flex-wrap: wrap; }
        .cs-products-list .cs-buybox__qty-wrapper .cs-buybox__qty-increment {
          flex: 1 1;
          min-width: 95px; } }
  .cs-products-list .cs-addtocart {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end; }

@media (max-width: 63.99em) and (min-width: 48.01em) {
  .cs-products-list .cs-addtocart {
    flex-direction: column;
    margin: 13px 0 0;
    align-items: flex-end; } }

@media (max-width: 48em) and (min-width: 30.01em) {
  .cs-products-list .cs-addtocart {
    flex-direction: column;
    margin: 18px 0 0; } }
    @media (max-width: 48em) {
      .cs-products-list .cs-addtocart {
        justify-content: space-between; }
        .cs-products-list .cs-addtocart.config-box {
          justify-content: flex-end; } }
    .cs-products-list .cs-addtocart .cs-qty-increment,
    .cs-products-list .cs-addtocart .cs-addtocart__wrapper {
      margin: 0; }
    .cs-products-list .cs-addtocart .cs-qty-increment {
      width: 140px; }
      @media (max-width: 48em) {
        .cs-products-list .cs-addtocart .cs-qty-increment {
          width: auto; } }
      .cs-products-list .cs-addtocart .cs-qty-increment .cs-qty-increment__button {
        min-width: 30px;
        width: 34px;
        max-width: 34px; }
        @media (max-width: 48em) {
          .cs-products-list .cs-addtocart .cs-qty-increment .cs-qty-increment__button {
            width: 28px;
            height: 28px;
            max-width: 28px; }
            .cs-products-list .cs-addtocart .cs-qty-increment .cs-qty-increment__button svg {
              width: 10px; } }
      @media (max-width: 48em) {
        .cs-products-list .cs-addtocart .cs-qty-increment .cs-qty-increment__input {
          width: 30px;
          max-width: 30px;
          min-width: 30px;
          height: 28px;
          font-size: 1.4rem; } }
    .cs-products-list .cs-addtocart .cs-addtocart__wrapper {
      flex: 1 1;
      max-width: 220px;
      margin-left: 50px; }

@media (max-width: 63.99em) and (min-width: 48.01em) {
  .cs-products-list .cs-addtocart .cs-addtocart__wrapper {
    margin-top: 15px;
    margin-bottom: 10px; } }

@media (max-width: 48em) and (min-width: 30.01em) {
  .cs-products-list .cs-addtocart .cs-addtocart__wrapper {
    margin-top: 35px; } }
      @media (max-width: 48em) {
        .cs-products-list .cs-addtocart .cs-addtocart__wrapper {
          max-width: 165px;
          margin-left: 10px; } }
  .cs-products-list .cs-product-tile__name {
    margin-top: 15px; }
    .cs-products-list .cs-product-tile__name a {
      width: 22vw; }
      @media (max-width: 48em) {
        .cs-products-list .cs-product-tile__name a {
          display: block;
          width: 100%; } }
  .cs-products-list:not(.cs-products-list--carousel) .cs-products-list__item {
    padding: 0; }
    .cs-products-list:not(.cs-products-list--carousel) .cs-products-list__item:last-child {
      border-bottom: 0; }
  @media (min-width: 48em) {
    .cs-products-list--carousel .cs-products-list__item {
      border-bottom: 1px solid #f0f0f0;
      padding: 0; }
      .cs-products-list--carousel .cs-products-list__item:last-child {
        border-bottom: 0; } }

.products-crosssell {
  padding-top: 60px; }
  @media (max-width: 64em) {
    .products-crosssell .cs-headline {
      margin-bottom: 0; } }
  .products-crosssell .cs-headline__title {
    text-align: center;
    font-size: 28px;
    letter-spacing: 1px;
    justify-content: center; }
    @media (max-width: 64em) {
      .products-crosssell .cs-headline__title {
        font-size: 18px; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-dailydeal {
  display: none; }
  .cs-dailydeal__header {
    display: flex;
    width: 100%;
    margin: 0 0 0.5rem;
    font-size: 1.2rem;
    justify-content: space-between;
    align-items: flex-start; }
  .cs-dailydeal__title {
    margin: 0;
    text-transform: uppercase;
    font-weight: 600; }
  .cs-dailydeal__items-amount {
    font-weight: 600; }
  .cs-dailydeal__countdown {
    display: flex;
    margin: 0;
    justify-content: stretch;
    align-items: stretch; }
  .cs-dailydeal__countdown-element {
    position: relative;
    z-index: 3;
    width: 100%;
    padding: 0.3rem 0.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1;
    background: none;
    border-radius: 3px;
    margin-left: 3px;
    margin-right: 3px; }
    .cs-dailydeal__countdown-element:before {
      content: ' ';
      position: absolute;
      display: block;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      z-index: -1;
      background: #f0f0f0;
      border-radius: inherit;
      transform: skew(-12deg); }
    .cs-dailydeal__countdown-element:first-child {
      margin-left: 0;
      background: #f0f0f0;
      margin-right: 6px; }
      .cs-dailydeal__countdown-element:first-child:before {
        transform-origin: bottom left; }
    .cs-dailydeal__countdown-element:last-child:not(:only-child) {
      margin-right: 0;
      background: #f0f0f0;
      margin-left: 6px; }
      .cs-dailydeal__countdown-element:last-child:not(:only-child):before {
        left: auto;
        right: 0;
        transform-origin: top right; }
    .cs-dailydeal__countdown-element--special {
      width: 50%;
      background: #e41f12;
      z-index: 5; }
      .cs-dailydeal__countdown-element--special:first-child, .cs-dailydeal__countdown-element--special:first-child:before {
        background: #e41f12; }
    .cs-dailydeal--tile .cs-dailydeal__countdown-element {
      margin-left: 1px;
      margin-right: 1px; }
      .cs-dailydeal--tile .cs-dailydeal__countdown-element:first-child {
        margin-right: 5px; }
      .cs-dailydeal--tile .cs-dailydeal__countdown-element:last-child:not(:only-child) {
        margin-left: 5px; }
    .cs-dailydeal--teaser .cs-dailydeal__countdown-element {
      min-height: 4rem; }
  .cs-dailydeal__countdown-icon {
    width: 1.9rem;
    height: 2.4rem;
    fill: #ffffff; }
  .cs-dailydeal__countdown-value {
    display: block;
    font-size: 1.5rem;
    font-weight: 600;
    color: #e41f12;
    padding: 2px 0 0; }
  .cs-dailydeal__countdown-label {
    display: block;
    font-size: 1.1rem;
    font-weight: inherit;
    color: #6E6E6E;
    padding: 2px 0 0; }
  .cs-dailydeal--tile {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 3; }
    .cs-dailydeal--tile .cs-dailydeal__availability {
      position: relative;
      background: #6E6E6E;
      font-size: 1rem;
      color: #ffffff;
      padding: 2px 4px;
      z-index: 4;
      font-weight: 300;
      border-radius: 3px; }
      .cs-dailydeal--tile .cs-dailydeal__availability:before {
        content: ' ';
        position: absolute;
        display: block;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        z-index: -1;
        background: #6E6E6E;
        border-radius: inherit;
        transform: skew(-12deg); }
      .cs-dailydeal--tile .cs-dailydeal__availability:first-child {
        margin-left: 0;
        background: #6E6E6E; }
        .cs-dailydeal--tile .cs-dailydeal__availability:first-child:before {
          transform-origin: bottom left; }
      .cs-dailydeal--tile .cs-dailydeal__availability:last-child:not(:only-child) {
        margin-right: 0;
        background: #6E6E6E; }
        .cs-dailydeal--tile .cs-dailydeal__availability:last-child:not(:only-child):before {
          left: auto;
          right: 0;
          transform-origin: top right; }

@media (min-width: 30em) and (max-width: 599px) {
  .cs-dailydeal--tile .cs-dailydeal__countdown-element {
    margin-left: 0;
    margin-right: 0; }
    .cs-dailydeal--tile .cs-dailydeal__countdown-element:last-child:not(:only-child) {
      margin-left: 0; }
    .cs-dailydeal--tile .cs-dailydeal__countdown-element:last-child .cs-dailydeal__countdown-value:after {
      content: none; }
    .cs-dailydeal--tile .cs-dailydeal__countdown-element--special {
      width: auto; }
    .cs-dailydeal--tile .cs-dailydeal__countdown-element:not(.cs-dailydeal__countdown-element--special) {
      border-radius: 0;
      width: auto;
      padding: 0; }
      .cs-dailydeal--tile .cs-dailydeal__countdown-element:not(.cs-dailydeal__countdown-element--special):before {
        transform: none; }
      .cs-dailydeal--tile .cs-dailydeal__countdown-element:not(.cs-dailydeal__countdown-element--special):nth-child(2) {
        padding-left: 1.8rem;
        margin-left: -1rem !important; }
      .cs-dailydeal--tile .cs-dailydeal__countdown-element:not(.cs-dailydeal__countdown-element--special):last-child {
        padding-right: 0.8rem;
        border-radius: 0 3px 3px 0; }
  .cs-dailydeal--tile .cs-dailydeal__countdown-value {
    font-size: 1.3rem; }
    .cs-dailydeal--tile .cs-dailydeal__countdown-value:after {
      content: ':'; }
  .cs-dailydeal--tile .cs-dailydeal__countdown-label {
    display: none; } }
  .cs-dailydeal__badge-pdp-icon {
    width: 1.5rem;
    height: 1.5rem;
    z-index: 10;
    fill: #ffffff; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.ui-datepicker {
  display: none;
  z-index: 999999 !important;
  border: none;
  border-radius: 3px;
  padding: 0;
  width: auto;
  min-width: 25rem;
  box-shadow: 1px 3px 3rem 0 rgba(33, 33, 33, 0.28);
  background: #f0f0f0; }

.ui-datepicker-header {
  position: relative;
  background: #e5e5e5;
  padding: 1.2rem 2rem;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px; }

.ui-datepicker-prev,
.ui-datepicker-next {
  position: absolute;
  top: 2rem;
  width: 1.8em;
  height: 1.8em;
  cursor: pointer; }
  .ui-datepicker-prev span,
  .ui-datepicker-next span {
    display: block;
    position: absolute;
    left: 50%;
    top: 0.2rem;
    font-size: 0px;
    width: 0;
    height: 0; }

.ui-datepicker-prev {
  left: 1.5rem; }
  .ui-datepicker-prev span {
    border-width: 0;
    position: relative; }
    .ui-datepicker-prev span:before, .ui-datepicker-prev span:after {
      content: '';
      position: absolute;
      top: 50%;
      left: 2rem;
      width: 0;
      height: 0; }
    .ui-datepicker-prev span:before {
      left: -1.2rem;
      border-top: 0.8rem solid transparent;
      border-bottom: 0.8rem solid transparent;
      border-right: 0.8rem solid #FF4604;
      margin-top: -0.8rem; }
    .ui-datepicker-prev span:after {
      left: -1rem;
      border-top: 0.6rem solid transparent;
      border-bottom: 0.6rem solid transparent;
      border-right: 0.6rem solid #e5e5e5;
      margin-top: -0.6rem; }

.ui-datepicker-next {
  right: 1.5rem; }
  .ui-datepicker-next span {
    border-width: 0;
    position: relative; }
    .ui-datepicker-next span:before, .ui-datepicker-next span:after {
      content: '';
      position: absolute;
      top: 50%;
      right: 0;
      width: 0;
      height: 0; }
    .ui-datepicker-next span:before {
      right: -1.2rem;
      border-top: 0.8rem solid transparent;
      border-bottom: 0.8rem solid transparent;
      border-left: 0.8rem solid #FF4604;
      margin-top: -0.8rem; }
    .ui-datepicker-next span:after {
      right: -1rem;
      border-top: 0.6rem solid transparent;
      border-bottom: 0.6rem solid transparent;
      border-left: 0.6rem solid #e5e5e5;
      margin-top: -0.6rem; }

.ui-datepicker-title {
  text-align: center;
  margin: 0 1.5rem; }

.ui-datepicker-title select {
  display: inline-block;
  font-size: 1.4rem; }

select.ui-datepicker-month-year {
  width: 100%; }

.ui-datepicker-month {
  width: 47%;
  margin-right: 6%; }

.ui-datepicker-year {
  width: 47%; }

.ui-datepicker-table {
  border: none;
  font-size: 1rem;
  border-collapse: collapse; }

.ui-datepicker-calendar {
  border-collapse: collapse;
  margin: 1rem 1.5rem 1.5rem;
  border-width: 0;
  width: 23rem; }
  .ui-datepicker-calendar td,
  .ui-datepicker-calendar th {
    background: none;
    border-width: 0;
    width: 3rem;
    height: 3rem;
    padding: 0;
    text-align: center; }
  .ui-datepicker-calendar th {
    text-transform: uppercase;
    color: #212121; }
  .ui-datepicker-calendar .ui-datepicker-week-col {
    text-align: center; }
  .ui-datepicker-calendar td a,
  .ui-datepicker-calendar th span,
  .ui-datepicker-calendar td span {
    background: none;
    border-width: 0;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    text-align: center;
    line-height: 3rem;
    padding: 0;
    font-size: 1.4rem;
    display: block; }
  .ui-datepicker-calendar td a,
  .ui-datepicker-calendar td span {
    color: #696969; }
  .ui-datepicker-calendar .ui-state-hover {
    background: #FF4604;
    color: #ffffff; }
  .ui-datepicker-calendar .ui-state-disabled {
    background: transparent; }
    .ui-datepicker-calendar .ui-state-disabled span {
      color: #dcdcdc; }
  .ui-datepicker-calendar .ui-state-active {
    background: #FF4604;
    color: #ffffff; }
  .ui-datepicker-calendar a.ui-state-default:hover {
    background: #FF4604;
    color: #ffffff; }

.ui-datepicker-buttonpane {
  overflow: hidden;
  padding-top: 1rem;
  border-top: #dcdcdc 1px solid; }
  .ui-datepicker-buttonpane button {
    float: right; }
  .ui-datepicker-buttonpane button.ui-datepicker-current {
    float: left; }

.ui-datepicker-rtl {
  direction: rtl; }

.ui-datepicker-rtl .ui-datepicker-prev {
  right: 2px;
  left: auto; }

.ui-datepicker-rtl .ui-datepicker-next {
  left: 2px;
  right: auto; }

.ui-datepicker-rtl .ui-datepicker-prev:hover {
  right: 1px;
  left: auto; }

.ui-datepicker-rtl .ui-datepicker-next:hover {
  left: 1px;
  right: auto; }

.ui-datepicker-rtl .ui-datepicker-buttonpane {
  clear: right; }

.ui-datepicker-rtl .ui-datepicker-buttonpane button {
  float: left; }

.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current {
  float: right; }

.ui-datepicker-rtl .ui-datepicker-group {
  float: right; }

.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header {
  border-right-width: 0;
  border-left-width: 1px; }

.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
  border-right-width: 0;
  border-left-width: 1px; }

.ui-timepicker-div {
  padding: 1rem 0 0.5rem 0; }
  .ui-timepicker-div .ui-widget-header {
    margin-bottom: 0.8rem; }
  .ui-timepicker-div dl {
    text-align: left; }
    .ui-timepicker-div dl dt {
      height: 2.5rem;
      margin-bottom: -2.2rem; }
    .ui-timepicker-div dl .ui_tpicker_time_label {
      margin-bottom: -2.5rem; }
    .ui-timepicker-div dl dd {
      margin: 0 0 1rem 6.5rem; }
  .ui-timepicker-div td {
    font-size: 90%; }

.ui-tpicker-grid-label {
  background: none;
  border: none;
  margin: 0;
  padding: 0; }

.ui-slider {
  position: relative;
  text-align: left; }

.ui-slider-handle {
  height: 1rem;
  width: 1rem;
  border-radius: 1rem;
  background: #FF4604;
  display: block;
  position: absolute;
  z-index: 2;
  cursor: default; }

.ui-slider-horizontal {
  height: 1rem;
  border-radius: 1rem;
  border: none;
  background: #f0f0f0; }
  .ui-slider-horizontal .ui-slider-handle {
    margin-left: -0.5rem; }

/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
.ui-datepicker-cover {
  position: absolute;
  /*must have*/
  z-index: -1;
  /*must have*/
  -webkit-filter: mask();
          filter: mask();
  /*must have*/
  top: -4px;
  /*must have*/
  left: -4px;
  /*must have*/
  width: 200px;
  /*must have*/
  height: 200px;
  /*must have*/ }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
.cs-captcha__image-controls {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-top: 1.5rem; }
  .cs-dashboard .cs-captcha__image-controls {
    flex-direction: column;
    align-items: flex-start; }
    @media (min-width: 40em) {
      .cs-dashboard .cs-captcha__image-controls {
        flex-direction: row;
        align-items: flex-end; } }
  @media (max-width: 48em) {
    .cs-captcha__image-controls {
      flex-wrap: wrap; } }

.cs-captcha__image {
  margin-right: 1rem; }

.cs-captcha__button {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: uppercase;
  border-radius: 25px;
  font-family: "Red Hat Display";
  padding: 8px 25px;
  font-size: 1.2rem;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5;
  will-change: transform, background-color, border-color, fill, color; }
  .cs-captcha__button.medium {
    padding: 11px 25px;
    font-size: 1.4rem; }
  .cs-captcha__button.large {
    padding: 13px 25px;
    font-size: 1.6rem; }
  .cs-captcha__button::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .cs-captcha__button, .cs-captcha__button:visited {
    cursor: pointer;
    border-radius: 25px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #000; }
    .cs-captcha__button *, .cs-captcha__button:visited * {
      color: #ffffff;
      fill: #FF4604; }
  .cs-captcha__button:hover:not([disabled]), .cs-captcha__button:focus:not([disabled]), .cs-captcha__button:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #3E3E3E; }
    .cs-captcha__button:hover:not([disabled]) *, .cs-captcha__button:focus:not([disabled]) *, .cs-captcha__button:active:not([disabled]) * {
      color: #ffffff;
      fill: #ffffff; }
  .cs-captcha__button[disabled] {
    opacity: 0.65;
    cursor: auto; }
  .cs-dashboard .cs-captcha__button {
    margin-top: 2rem; }
    @media (min-width: 40em) {
      .cs-dashboard .cs-captcha__button {
        margin-top: 0; } }

.cs-captcha__button-span {
  margin-top: 0;
  z-index: 1;
  font-weight: 700;
  vertical-align: baseline;
  display: inline-block;
  line-height: 1.275em;
  letter-spacing: normal; }

.cs-captcha__note {
  display: block;
  font-size: 0.85em;
  padding: 0.3em 0 0;
  color: #696969; }

.cs-dashboard .cs-captcha__wrapper {
  width: 100%;
  margin-bottom: 2rem; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-dashboard {
  width: 100%; }
  @media (max-width: 47.99em) {
    .cs-dashboard {
      padding-top: 10px !important; } }
  .cs-dashboard__columns {
    position: relative;
    margin: 4rem 0;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch; }
    @media (min-width: 48em) {
      .cs-dashboard__columns {
        padding: 0 0 2rem; } }
    @media (max-width: 47.99em) {
      .cs-dashboard__columns {
        margin: 0; } }
  .cs-dashboard__sidebar {
    width: 100%; }
    @media (min-width: 48em) {
      .cs-dashboard__sidebar {
        padding: 0;
        width: 233px; } }
    @media (max-width: 47.99em) {
      .cs-dashboard__sidebar {
        margin-bottom: 20px; } }
  .cs-dashboard__main {
    margin-bottom: 2rem;
    box-sizing: border-box;
    flex: 1 1; }
    @media (min-width: 48em) {
      .cs-dashboard__main {
        padding: 0 0 0 2.5rem; } }
    .cs-dashboard__main a.action {
      color: #FF7442; }
      .cs-dashboard__main a.action:visited, .cs-dashboard__main a.action:hover, .cs-dashboard__main a.action:focus {
        color: #FF7442; }
    .cs-dashboard__main .table:not(.totals):not(.table-totals) tbody td {
      font-size: 1.4rem;
      font-weight: normal; }
    .cs-dashboard__main .table:not(.totals):not(.table-totals) thead th {
      font-size: 1.2rem; }
  .cs-dashboard__top {
    padding: 0 0 3rem; }
  .cs-dashboard__page-title {
    display: flex;
    flex-direction: column;
    padding-bottom: 1rem; }
    @media (min-width: 48em) {
      .ie11 .cs-dashboard__page-title {
        margin-top: 1.5rem; } }
    .cs-dashboard__page-title .messages {
      order: 1; }
    .cs-dashboard__page-title .page-title-wrapper {
      order: 2; }
  .cs-dashboard .page-title {
    margin: 0 0 15px;
    color: #000;
    font-size: 3.2rem;
    text-transform: none;
    letter-spacing: 0.6px;
    padding: 0 0 1rem 0; }
    @media (max-width: 47.99em) {
      .cs-dashboard .page-title {
        margin: 0 0 25px;
        padding: 0;
        text-align: left; } }
  .cs-dashboard .account-welcome {
    font-size: 1.4rem;
    line-height: 22px;
    order: 3; }
    .cs-dashboard .account-welcome span {
      font-weight: bold;
      display: block; }
  .cs-dashboard .columns .column.main {
    padding: 0; }
  .cs-dashboard .message-error,
  .cs-dashboard .message-success,
  .cs-dashboard .message-notice {
    margin-bottom: 1rem; }
  .cs-dashboard .page-title-wrapper {
    background: transparent; }
  .cs-dashboard__bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 2rem;
    border-top: 2px solid #dcdcdc; }
    @media (min-width: 48em) {
      .cs-dashboard__bottom {
        width: 100%;
        padding-top: 3rem; } }
  .cs-dashboard__wishlist-line {
    margin: 0; }
  .cs-dashboard__wishlist-products-grid {
    margin: 0 0 3rem; }
    @media (min-width: 48em) {
      .cs-dashboard__wishlist-products-grid {
        margin: 0 0 4rem; } }
    .cs-dashboard__wishlist-products-grid--skip-spacing {
      margin: 0; }
  .cs-dashboard__bottom-wishlist {
    margin: 0 0 3rem;
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    width: 100%; }
    @media (min-width: 48em) {
      .cs-dashboard__bottom-wishlist {
        margin: 0 0 4rem; } }
    .cs-dashboard__bottom-wishlist--skip-spacing {
      margin: 0; }
    .cs-dashboard__bottom-wishlist-item {
      width: 100%; }
      @media (min-width: 40em) {
        .cs-dashboard__bottom-wishlist-item {
          width: 50%; } }
      @media (min-width: 48em) {
        .cs-dashboard__bottom-wishlist-item {
          width: 33.33%; } }
      .cs-dashboard__bottom-wishlist-item:nth-child(n + 4) {
        display: none; }
  .cs-dashboard__login {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media (min-width: 48em) {
      .cs-dashboard__login {
        flex-wrap: nowrap;
        padding: 0; } }
    .cs-dashboard__login .block-title {
      max-width: 50.5rem !important; }
    .cs-dashboard__login-section {
      width: 100%;
      background: transparent;
      box-sizing: border-box;
      margin-bottom: 2rem; }
      .ie11 .cs-dashboard__login-section .actions-toolbar {
        flex-wrap: wrap; }
      .ie11 .cs-dashboard__login-section .secondary {
        width: 100%; }
      .cs-dashboard__login-section .block-content {
        margin-top: 0; }
        .cs-dashboard__login-section .block-content p, .cs-dashboard__login-section .block-content div {
          font-size: 1.6rem; }
      @media (min-width: 48em) {
        .cs-dashboard__login-section {
          width: 50%; }
          .cs-dashboard__login-section:nth-child(2n + 1) {
            padding-right: 1rem; }
          .cs-dashboard__login-section:nth-child(2n + 2) {
            padding-left: 1rem; } }
  .cs-dashboard__contact-form {
    box-sizing: border-box;
    width: 100%;
    margin-bottom: 2rem;
    background: transparent; }
  .cs-dashboard .fieldset,
  .cs-dashboard .form {
    width: 100%;
    min-width: 15rem !important; }
  .cs-dashboard .fieldset {
    width: 100%;
    border: 0;
    padding: 0;
    margin: 0;
    max-width: 50.5rem !important; }
  .cs-dashboard .field {
    margin-bottom: 1rem; }
    .cs-dashboard .field.note {
      margin-bottom: 25px; }
  .cs-dashboard .field.choice {
    display: flex;
    align-items: center; }
  .cs-dashboard .limiter {
    margin-bottom: 0; }
  .cs-dashboard select {
    display: block;
    font-size: 1.3rem;
    line-height: 1.275em;
    padding: 11px 10px;
    padding-right: 2.3em;
    color: #212121;
    border-radius: 3px;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    width: 100%;
    max-width: 100%;
    margin: 0 0 0.2em;
    outline: 0;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background-color: #ffffff;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23dcdcdc'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"), linear-gradient(0deg, transparent 0%, transparent 100%);
    background-repeat: no-repeat, repeat;
    background-position: right 0.8em top 52%, 0 0;
    background-size: 0.7em auto, 100%;
    transition: border-color 0.5s; }
    .cs-dashboard select:-moz-focusring, .cs-dashboard select::-moz-focus-inner {
      color: transparent !important;
      text-shadow: 0 0 0 #000 !important; }
    .cs-dashboard select::-ms-expand {
      display: none; }
    .cs-dashboard select:hover:not([disabled]), .cs-dashboard select:focus:not([disabled]) {
      border: 1px solid #FF4604;
      box-shadow: none;
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23FF4604'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"), linear-gradient(0deg, transparent 0%, transparent 100%); }
      .ie11 .cs-dashboard select:hover:not([disabled]), .ie11 .cs-dashboard select:focus:not([disabled]) {
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23FF4604'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"); }
    .cs-dashboard select[disabled] {
      opacity: 0.65; }
    .cs-dashboard select option {
      font-weight: 500;
      padding: 0;
      color: initial; }
    .ie11 .cs-dashboard select {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23dcdcdc'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e");
      background-size: 0.7em 0.7em, 100%; }
  .cs-dashboard .choice .label {
    width: auto;
    font-weight: 300;
    font-size: 1.4rem; }
  .cs-dashboard .field-name-prefix {
    max-width: 12rem; }
  .cs-dashboard .actions-toolbar {
    margin-top: 30px;
    display: flex; }
    .ie11 .cs-dashboard .actions-toolbar {
      width: 100%;
      display: flex;
      justify-content: flex-start; }
  .cs-dashboard .primary {
    margin-right: 15px; }
    .cs-dashboard .primary > button,
    .cs-dashboard .primary .create {
      display: inline-block;
      font-size: 1.4rem;
      font-weight: 700;
      text-align: center;
      position: relative;
      line-height: 1.275em;
      margin: 0;
      text-transform: uppercase;
      border-radius: 25px;
      font-family: "Red Hat Display";
      padding: 8px 25px;
      font-size: 1.2rem;
      box-sizing: border-box;
      transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
      vertical-align: middle;
      z-index: 5;
      will-change: transform, background-color, border-color, fill, color;
      min-width: 13rem; }
      .cs-dashboard .primary > button.medium,
      .cs-dashboard .primary .create.medium {
        padding: 11px 25px;
        font-size: 1.4rem; }
      .cs-dashboard .primary > button.large,
      .cs-dashboard .primary .create.large {
        padding: 13px 25px;
        font-size: 1.6rem; }
      .cs-dashboard .primary > button::-moz-focus-inner,
      .cs-dashboard .primary .create::-moz-focus-inner {
        border: 0;
        padding: 0;
        margin: 0; }
      .cs-dashboard .primary > button, .cs-dashboard .primary > button:visited,
      .cs-dashboard .primary .create,
      .cs-dashboard .primary .create:visited {
        cursor: pointer;
        border-radius: 25px;
        outline-offset: 1px;
        text-decoration: none;
        box-shadow: none;
        border: 1px solid transparent;
        color: #ffffff;
        background-color: #FF4604; }
        .cs-dashboard .primary > button *, .cs-dashboard .primary > button:visited *,
        .cs-dashboard .primary .create *,
        .cs-dashboard .primary .create:visited * {
          color: #ffffff;
          fill: #ffffff; }
      .cs-dashboard .primary > button:hover:not([disabled]), .cs-dashboard .primary > button:focus:not([disabled]), .cs-dashboard .primary > button:active:not([disabled]),
      .cs-dashboard .primary .create:hover:not([disabled]),
      .cs-dashboard .primary .create:focus:not([disabled]),
      .cs-dashboard .primary .create:active:not([disabled]) {
        box-shadow: none;
        outline: none;
        text-decoration: none;
        border: 1px solid transparent;
        color: #ffffff;
        background-color: #FF7442; }
        .cs-dashboard .primary > button:hover:not([disabled]) *, .cs-dashboard .primary > button:focus:not([disabled]) *, .cs-dashboard .primary > button:active:not([disabled]) *,
        .cs-dashboard .primary .create:hover:not([disabled]) *,
        .cs-dashboard .primary .create:focus:not([disabled]) *,
        .cs-dashboard .primary .create:active:not([disabled]) * {
          color: #ffffff;
          fill: #ffffff; }
      .cs-dashboard .primary > button[disabled],
      .cs-dashboard .primary .create[disabled] {
        opacity: 0.65;
        cursor: auto; }
      .wishlist-index-index .cs-dashboard .primary > button, .wishlist-index-index
      .cs-dashboard .primary .create {
        z-index: 1; }
      .cs-dashboard .primary > button span,
      .cs-dashboard .primary .create span {
        margin-top: 0;
        z-index: 1;
        font-weight: 700;
        vertical-align: baseline;
        display: inline-block;
        line-height: 1.275em;
        letter-spacing: normal; }
    .cs-dashboard .primary > button.action.update {
      display: none; }
  .cs-dashboard .remind,
  .cs-dashboard .back {
    font-size: 1.4rem;
    margin-top: 0.7rem;
    display: inline-block;
    color: #000; }
    .cs-dashboard .remind:visited,
    .cs-dashboard .back:visited {
      color: #000; }
  .cs-dashboard .counter {
    font-weight: 300;
    transform: translateX(-1rem);
    display: inline-block; }
    .cs-dashboard .counter:before {
      content: '('; }
    .cs-dashboard .counter:after {
      content: ')'; }
  .cs-dashboard .block {
    width: 100%;
    margin: 1rem 0 2.5rem;
    background: transparent;
    padding: 0;
    box-sizing: border-box; }
    @media (min-width: 48em) {
      .cs-dashboard .block {
        margin: 1.5rem 0 4rem; } }
  .cs-dashboard .block-title,
  .cs-dashboard .legend,
  .cs-dashboard .order-title {
    border-bottom: 1px solid #F0F0F0;
    margin-bottom: 2rem;
    padding-bottom: 0.8rem;
    font-weight: 600;
    font-size: 1.8rem;
    width: 100%; }
    .cs-dashboard .block-title strong,
    .cs-dashboard .legend strong,
    .cs-dashboard .order-title strong {
      font-weight: 600;
      margin-right: 1rem; }
  .cs-dashboard .table-wrapper {
    width: 100%; }
  .cs-dashboard .block-title a {
    font-weight: 300;
    font-size: 1.4rem;
    vertical-align: baseline;
    white-space: nowrap; }
  .cs-dashboard .box-title {
    font-size: 1.4rem;
    font-weight: 600;
    text-transform: none;
    color: #000;
    display: inline-block;
    margin-bottom: 8px; }
  .cs-dashboard .block-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 1rem 0 0;
    font-size: 1.4rem; }
    @media (max-width: 63.99em) {
      .sales-order-history .cs-dashboard .block-content {
        margin-top: 0; } }
    .cs-dashboard .block-content.no-display {
      display: none; }
  .cs-dashboard .block-new-customer .block-content {
    flex-direction: column; }
    .cs-dashboard .block-new-customer .block-content .fieldset {
      margin-bottom: 1rem; }
  @media (max-width: 63.99em) {
    .cs-dashboard .block-reward-history .cs-toolbar__item--amount {
      width: 100%;
      justify-content: center; } }
  .cs-dashboard .block-reward-history .cs-toolbar__item--amount:nth-child(1) {
    display: none; }
  @media (max-width: 63.99em) {
    .cs-dashboard .block-reward-history .pages {
      width: 100%;
      justify-content: center;
      display: flex;
      margin: 0.7rem 0 2rem; } }
  .cs-dashboard .block-reward-history .pages:nth-child(2) {
    display: none; }
  @media (max-width: 63.99em) {
    .cs-dashboard .block-reward-history .cs-toolbar__item--limiter {
      margin: 0 auto; } }
  .cs-dashboard .block-reward-history .cs-toolbar__item--limiter:nth-child(3) {
    display: none; }
  .cs-dashboard .box-actions,
  .cs-dashboard .actions {
    font-size: 1.4rem; }
    .cs-dashboard .box-actions a + a:before,
    .cs-dashboard .actions a + a:before {
      margin: 0 0.7rem 0 0.5rem;
      content: '|';
      display: inline-block;
      width: 1px;
      height: 1.2rem;
      vertical-align: middle;
      line-height: 6px;
      font-weight: 100; }
    .cs-dashboard .box-actions a,
    .cs-dashboard .actions a {
      font-weight: 300; }
  .cs-dashboard .table-wrapper,
  .cs-dashboard .orders-history,
  .cs-dashboard .form-wishlist-items {
    background: transparent; }
    .cs-dashboard .table-wrapper + .toolbar,
    .cs-dashboard .table-wrapper + .actions-toolbar,
    .cs-dashboard .orders-history + .toolbar,
    .cs-dashboard .orders-history + .actions-toolbar,
    .cs-dashboard .form-wishlist-items + .toolbar,
    .cs-dashboard .form-wishlist-items + .actions-toolbar {
      background: transparent;
      padding: 0; }
    .cs-dashboard .table-wrapper.order-items + .actions-toolbar,
    .cs-dashboard .orders-history.order-items + .actions-toolbar,
    .cs-dashboard .form-wishlist-items.order-items + .actions-toolbar {
      padding: 0; }
    .cs-dashboard .table-wrapper + .toolbar,
    .cs-dashboard .orders-history + .toolbar,
    .cs-dashboard .form-wishlist-items + .toolbar {
      width: 100%; }
    .cs-dashboard .table-wrapper .action,
    .cs-dashboard .orders-history .action,
    .cs-dashboard .form-wishlist-items .action {
      margin-right: 0; }
  .cs-dashboard .form-wishlist-items .actions-toolbar .primary {
    margin-bottom: 2rem; }
    @media (max-width: 64em) {
      .cs-dashboard .form-wishlist-items .actions-toolbar .primary {
        display: flex;
        justify-content: space-between;
        flex-direction: column; }
        .cs-dashboard .form-wishlist-items .actions-toolbar .primary .action:last-child {
          margin-top: 1rem; } }
  .cs-dashboard .cs-toolbar__item--amount {
    display: flex;
    align-items: center; }
  .cs-dashboard .toolbar {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    @media (max-width: 47.99em) {
      .cs-dashboard .toolbar {
        align-items: center; } }
    @media (max-width: 63.99em) {
      .cs-dashboard .toolbar {
        flex-direction: column; } }
    .cs-dashboard .toolbar::after, .cs-dashboard .toolbar::before {
      display: none; }
    @media (max-width: 63.99em) {
      .cs-dashboard .toolbar .cs-toolbar__item {
        display: flex;
        justify-content: center;
        margin: auto; }
        .cs-dashboard .toolbar .cs-toolbar__item p {
          margin-bottom: 1rem; } }
    @media (max-width: 63.99em) {
      .cs-dashboard .toolbar .cs-toolbar__item--amount {
        margin-bottom: 1.5rem; } }
    @media (max-width: 47.99em) {
      .cs-dashboard .toolbar .cs-toolbar__item--amount {
        padding-bottom: 0; } }
    .cs-dashboard .toolbar .cs-toolbar__item--amount + .cs-toolbar__item--limiter {
      margin-top: 0; }
    @media (max-width: 63.99em) {
      .cs-dashboard .toolbar .cs-toolbar__item--limiter {
        margin-top: 2.5rem; } }
    .cs-dashboard .toolbar .toolbar-amount {
      padding-top: 0; }
    @media (max-width: 47.99em) {
      .cs-dashboard .toolbar .pages {
        margin: 0 auto; } }
    @media (min-width: 48em) {
      .cs-dashboard .toolbar .pages {
        position: static;
        display: flex;
        justify-content: center;
        width: auto; } }
    @media (max-width: 47.99em) {
      .cs-dashboard .toolbar .limiter {
        display: flex;
        justify-content: center; } }
    @media (max-width: 47.99em) {
      .cs-dashboard .toolbar .limiter .label {
        width: auto; } }
    .cs-dashboard .toolbar.wishlist-toolbar br {
      display: none; }
  .cs-dashboard .actions-toolbar > .secondary .action.back,
  .cs-dashboard .secondary .action.edit-email-preferences {
    display: none; }
  .cs-dashboard .box,
  .cs-dashboard .addresses {
    width: 100%;
    box-sizing: border-box; }
    @media (min-width: 40em) {
      .cs-dashboard .box,
      .cs-dashboard .addresses {
        width: 49%;
        padding-right: 15px; } }
  .cs-dashboard .box-content,
  .cs-dashboard .addresses .item {
    font-weight: 400;
    color: #696969;
    line-height: 2.5rem;
    margin-bottom: 0; }
  .cs-dashboard .box-content address a {
    color: #3E3E3E; }
    .cs-dashboard .box-content address a:visited, .cs-dashboard .box-content address a:focus {
      color: #3E3E3E; }
  .cs-dashboard .tooltip.wrapper {
    font-size: 1.4rem;
    display: inline-block;
    padding-left: 0.5rem; }
  .cs-dashboard .choice.persistent {
    padding-bottom: 1.5rem; }
  @media (max-width: 63.99em) {
    .cs-dashboard .table-order-items .cs-table__col:last-child {
      padding-bottom: 2rem; }
    .cs-dashboard .table-order-items .price-excluding-tax,
    .cs-dashboard .table-order-items .price-including-tax,
    .cs-dashboard .table-order-items .items-qty,
    .cs-dashboard .table-order-items .product-item-name {
      display: inline-block;
      font-weight: 400;
      margin: 0;
      color: #696969; }
    .cs-dashboard .table-order-items .cs-cart-item__options-label {
      text-transform: none;
      width: auto;
      margin-right: 1rem; }
      .cs-dashboard .table-order-items .cs-cart-item__options-label:after {
        content: ':'; }
    .cs-dashboard .table-order-items .cs-table__col.subtotal {
      text-align: left; }
    .cs-dashboard .table-order-items .price-excluding-tax .price {
      font-weight: 400; } }
  .sales-order-view .cs-dashboard .actions {
    width: 100%;
    margin-top: 2rem;
    display: flex; }
  .sales-order-view .cs-dashboard .actions .order {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: uppercase;
    border-radius: 25px;
    font-family: "Red Hat Display";
    padding: 8px 25px;
    font-size: 1.2rem;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    will-change: transform, background-color, border-color, fill, color;
    font-size: 1.2rem;
    margin-right: 1rem;
    margin-bottom: 0.8rem; }
    .sales-order-view .cs-dashboard .actions .order.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .sales-order-view .cs-dashboard .actions .order.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .sales-order-view .cs-dashboard .actions .order::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .sales-order-view .cs-dashboard .actions .order, .sales-order-view .cs-dashboard .actions .order:visited {
      cursor: pointer;
      border-radius: 25px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF4604; }
      .sales-order-view .cs-dashboard .actions .order *, .sales-order-view .cs-dashboard .actions .order:visited * {
        color: #ffffff;
        fill: #ffffff; }
    .sales-order-view .cs-dashboard .actions .order:hover:not([disabled]), .sales-order-view .cs-dashboard .actions .order:focus:not([disabled]), .sales-order-view .cs-dashboard .actions .order:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF7442; }
      .sales-order-view .cs-dashboard .actions .order:hover:not([disabled]) *, .sales-order-view .cs-dashboard .actions .order:focus:not([disabled]) *, .sales-order-view .cs-dashboard .actions .order:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .sales-order-view .cs-dashboard .actions .order[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .sales-order-view .cs-dashboard .actions .order::before {
      display: none; }
    .sales-order-view .cs-dashboard .actions .order span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }
  .sales-order-view .cs-dashboard .actions .print {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: uppercase;
    border-radius: 25px;
    font-family: "Red Hat Display";
    padding: 8px 25px;
    font-size: 1.2rem;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    will-change: transform, background-color, border-color, fill, color;
    font-size: 1.2rem;
    margin-right: 1rem;
    margin-bottom: 0.8rem; }
    .sales-order-view .cs-dashboard .actions .print.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .sales-order-view .cs-dashboard .actions .print.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .sales-order-view .cs-dashboard .actions .print::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .sales-order-view .cs-dashboard .actions .print, .sales-order-view .cs-dashboard .actions .print:visited {
      cursor: pointer;
      border-radius: 25px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #000; }
      .sales-order-view .cs-dashboard .actions .print *, .sales-order-view .cs-dashboard .actions .print:visited * {
        color: #ffffff;
        fill: #FF4604; }
    .sales-order-view .cs-dashboard .actions .print:hover:not([disabled]), .sales-order-view .cs-dashboard .actions .print:focus:not([disabled]), .sales-order-view .cs-dashboard .actions .print:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #3E3E3E; }
      .sales-order-view .cs-dashboard .actions .print:hover:not([disabled]) *, .sales-order-view .cs-dashboard .actions .print:focus:not([disabled]) *, .sales-order-view .cs-dashboard .actions .print:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .sales-order-view .cs-dashboard .actions .print[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .sales-order-view .cs-dashboard .actions .print::before {
      display: none; }
    .sales-order-view .cs-dashboard .actions .print span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }
  .cs-dashboard .block-reviews-dashboard .product-name {
    font-weight: 300; }
  .cs-dashboard .rating-result {
    margin-left: 0;
    width: auto; }
    .cs-dashboard .rating-result::before {
      display: none; }
  .cs-dashboard .rating-summary.item {
    display: flex;
    overflow: visible; }
  .cs-dashboard .customer-review .product-name {
    font-family: "Red Hat Display", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1.6rem;
    color: #212121;
    font-weight: 700;
    text-transform: uppercase;
    margin: 1rem 0 2rem; }
  .cs-dashboard .customer-review .review-title {
    font-family: "Red Hat Display", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1.6rem;
    color: #212121;
    font-weight: 700;
    text-transform: uppercase;
    margin: 1rem 0 2rem;
    text-transform: none; }
  .cs-dashboard .form-address-edit,
  .cs-dashboard .form-edit-account,
  .cs-dashboard .form-newsletter-manage,
  .cs-dashboard .reviews {
    margin-top: 20px; }
  .cs-dashboard .form.create.account,
  .cs-dashboard .form-address-edit,
  .cs-dashboard .form-edit-account,
  .cs-dashboard .form.password.reset,
  .cs-dashboard .form.send.confirmation,
  .cs-dashboard .form.password.forget,
  .cs-dashboard #aw_giftcard__check_code_form {
    background: transparent;
    padding: 0; }
    @media (min-width: 48em) {
      .cs-dashboard .form.create.account,
      .cs-dashboard .form-address-edit,
      .cs-dashboard .form-edit-account,
      .cs-dashboard .form.password.reset,
      .cs-dashboard .form.send.confirmation,
      .cs-dashboard .form.password.forget,
      .cs-dashboard #aw_giftcard__check_code_form {
        width: 100%; } }
    .cs-dashboard .form.create.account br,
    .cs-dashboard .form-address-edit br,
    .cs-dashboard .form-edit-account br,
    .cs-dashboard .form.password.reset br,
    .cs-dashboard .form.send.confirmation br,
    .cs-dashboard .form.password.forget br,
    .cs-dashboard #aw_giftcard__check_code_form br {
      display: none; }
    .cs-dashboard .form.create.account .fullname .label,
    .cs-dashboard .form-address-edit .fullname .label,
    .cs-dashboard .form-edit-account .fullname .label,
    .cs-dashboard .form.password.reset .fullname .label,
    .cs-dashboard .form.send.confirmation .fullname .label,
    .cs-dashboard .form.password.forget .fullname .label,
    .cs-dashboard #aw_giftcard__check_code_form .fullname .label {
      text-align: left;
      width: 100%; }
    .cs-dashboard .form.create.account .fullname .control,
    .cs-dashboard .form-address-edit .fullname .control,
    .cs-dashboard .form-edit-account .fullname .control,
    .cs-dashboard .form.password.reset .fullname .control,
    .cs-dashboard .form.send.confirmation .fullname .control,
    .cs-dashboard .form.password.forget .fullname .control,
    .cs-dashboard #aw_giftcard__check_code_form .fullname .control {
      width: 100%; }
    .cs-dashboard .form.create.account .action.primary,
    .cs-dashboard .form-address-edit .action.primary,
    .cs-dashboard .form-edit-account .action.primary,
    .cs-dashboard .form.password.reset .action.primary,
    .cs-dashboard .form.send.confirmation .action.primary,
    .cs-dashboard .form.password.forget .action.primary,
    .cs-dashboard #aw_giftcard__check_code_form .action.primary {
      font-size: 1.4rem; }
    .cs-dashboard .form.create.account .back,
    .cs-dashboard .form-address-edit .back,
    .cs-dashboard .form-edit-account .back,
    .cs-dashboard .form.password.reset .back,
    .cs-dashboard .form.send.confirmation .back,
    .cs-dashboard .form.password.forget .back,
    .cs-dashboard #aw_giftcard__check_code_form .back {
      display: none; }
    .cs-dashboard .form.create.account .fieldset,
    .cs-dashboard .form-address-edit .fieldset,
    .cs-dashboard .form-edit-account .fieldset,
    .cs-dashboard .form.password.reset .fieldset,
    .cs-dashboard .form.send.confirmation .fieldset,
    .cs-dashboard .form.password.forget .fieldset,
    .cs-dashboard #aw_giftcard__check_code_form .fieldset {
      margin-bottom: 2rem; }
    .cs-dashboard .form.create.account .fieldset-fullname,
    .cs-dashboard .form-address-edit .fieldset-fullname,
    .cs-dashboard .form-edit-account .fieldset-fullname,
    .cs-dashboard .form.password.reset .fieldset-fullname,
    .cs-dashboard .form.send.confirmation .fieldset-fullname,
    .cs-dashboard .form.password.forget .fieldset-fullname,
    .cs-dashboard #aw_giftcard__check_code_form .fieldset-fullname {
      margin-bottom: 0; }
  .cs-dashboard .addresses {
    width: 100%; }
  .cs-dashboard .block-addresses-list + .actions-toolbar {
    background: transparent; }
  @media (max-width: 47.99em) {
    .cs-dashboard .box-billing-address {
      margin-bottom: 2rem; } }
  .cs-dashboard .form-newsletter-manage {
    background: transparent; }
    .cs-dashboard .form-newsletter-manage .fieldset {
      margin-bottom: 1rem; }
  .cs-dashboard__button {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: uppercase;
    border-radius: 25px;
    font-family: "Red Hat Display";
    padding: 8px 25px;
    font-size: 1.2rem;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    will-change: transform, background-color, border-color, fill, color; }
    .cs-dashboard__button.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .cs-dashboard__button.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .cs-dashboard__button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-dashboard__button, .cs-dashboard__button:visited {
      cursor: pointer;
      border-radius: 25px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF4604; }
      .cs-dashboard__button *, .cs-dashboard__button:visited * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-dashboard__button:hover:not([disabled]), .cs-dashboard__button:focus:not([disabled]), .cs-dashboard__button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF7442; }
      .cs-dashboard__button:hover:not([disabled]) *, .cs-dashboard__button:focus:not([disabled]) *, .cs-dashboard__button:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-dashboard__button[disabled] {
      opacity: 0.65;
      cursor: auto; }
  .cs-dashboard__button-span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal; }
  .cs-dashboard__button-icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    display: none; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-form, .cs-form__fieldset {
  border: 0;
  padding: 0;
  margin: 0; }

.cs-form__field + .cs-form__field {
  margin-top: 1em; }

.cs-form--disabled {
  opacity: 0.6; }

.cs-form__button {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: uppercase;
  border-radius: 25px;
  font-family: "Red Hat Display";
  padding: 8px 25px;
  font-size: 1.2rem;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5;
  will-change: transform, background-color, border-color, fill, color; }
  .cs-form__button.medium {
    padding: 11px 25px;
    font-size: 1.4rem; }
  .cs-form__button.large {
    padding: 13px 25px;
    font-size: 1.6rem; }
  .cs-form__button::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .cs-form__button, .cs-form__button:visited {
    cursor: pointer;
    border-radius: 25px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #FF4604; }
    .cs-form__button *, .cs-form__button:visited * {
      color: #ffffff;
      fill: #ffffff; }
  .cs-form__button:hover:not([disabled]), .cs-form__button:focus:not([disabled]), .cs-form__button:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #FF7442; }
    .cs-form__button:hover:not([disabled]) *, .cs-form__button:focus:not([disabled]) *, .cs-form__button:active:not([disabled]) * {
      color: #ffffff;
      fill: #ffffff; }
  .cs-form__button[disabled] {
    opacity: 0.65;
    cursor: auto; }

.cs-form__button-span {
  margin-top: 0;
  z-index: 1;
  font-weight: 700;
  vertical-align: baseline;
  display: inline-block;
  line-height: 1.275em;
  letter-spacing: normal;
  padding-right: 4em; }

.cs-form__button-icon {
  max-width: 1em;
  max-height: 1.4rem;
  z-index: 2;
  height: auto;
  width: 100%;
  position: absolute;
  top: 50%;
  transform: translate3d(0, -50%, 0);
  margin-right: 0;
  right: 1em; }

.form,
.form .fieldset {
  border: 0;
  padding: 0;
  margin: 0; }

.form .field + .field {
  margin-top: 1em; }

.contact .field .control > textarea {
  max-height: 80px; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.password-strength-meter {
  font-size: 1.2rem;
  background-color: initial;
  border: none;
  border-top-width: 0;
  background-size: 2rem 0.7rem;
  background-repeat: no-repeat;
  background-position-y: 50%;
  background-position-x: calc(100% - 1rem), calc(100% - (2.5rem + 1rem)), calc(100% - (2.5rem * 2 + 1rem)), calc(100% - (2.5rem * 3 + 1rem)), calc(100% - (2.5rem * 4 + 1rem)), calc(100% - (2.5rem * 5 + 1rem));
  background-image: url("../images/icons/forms/icon-password-strength-meter.svg"), url("../images/icons/forms/icon-password-strength-meter.svg"), url("../images/icons/forms/icon-password-strength-meter.svg"), url("../images/icons/forms/icon-password-strength-meter.svg"), url("../images/icons/forms/icon-password-strength-meter.svg"), url("../images/icons/forms/icon-password-strength-meter.svg"); }
  @media (max-width: 39.99em) {
    .password-strength-meter {
      font-size: 1rem;
      padding: 0 0.5rem; } }
  .password-strength-meter:before {
    display: none; }
  .password-weak .password-strength-meter {
    background-image: url("../images/icons/forms/icon-password-strength-meter.svg"), url("../images/icons/forms/icon-password-strength-meter.svg"), url("../images/icons/forms/icon-password-strength-meter.svg"), url("../images/icons/forms/icon-password-strength-meter.svg"), url("../images/icons/forms/icon-password-strength-meter-weak.svg"), url("../images/icons/forms/icon-password-strength-meter-weak.svg"); }
  .password-medium .password-strength-meter {
    background-image: url("../images/icons/forms/icon-password-strength-meter.svg"), url("../images/icons/forms/icon-password-strength-meter.svg"), url("../images/icons/forms/icon-password-strength-meter.svg"), url("../images/icons/forms/icon-password-strength-meter-medium.svg"), url("../images/icons/forms/icon-password-strength-meter-medium.svg"), url("../images/icons/forms/icon-password-strength-meter-medium.svg"); }
  .password-strong .password-strength-meter {
    background-image: url("../images/icons/forms/icon-password-strength-meter.svg"), url("../images/icons/forms/icon-password-strength-meter-strong.svg"), url("../images/icons/forms/icon-password-strength-meter-strong.svg"), url("../images/icons/forms/icon-password-strength-meter-strong.svg"), url("../images/icons/forms/icon-password-strength-meter-strong.svg"), url("../images/icons/forms/icon-password-strength-meter-strong.svg"); }
  .password-very-strong .password-strength-meter {
    background-image: url("../images/icons/forms/icon-password-strength-meter-very-strong.svg"), url("../images/icons/forms/icon-password-strength-meter-very-strong.svg"), url("../images/icons/forms/icon-password-strength-meter-very-strong.svg"), url("../images/icons/forms/icon-password-strength-meter-very-strong.svg"), url("../images/icons/forms/icon-password-strength-meter-very-strong.svg"), url("../images/icons/forms/icon-password-strength-meter-very-strong.svg"); }
  @media (max-width: 39.99em) {
    .password-strength-meter {
      background-size: 1.5rem 0.5rem;
      background-position-x: calc(100% - 1rem), calc( 100% - ( 1.7rem + 1rem )), calc( 100% - ( 1.7rem * 2 + 1rem )), calc( 100% - ( 1.7rem * 3 + 1rem )), calc( 100% - ( 1.7rem * 4 + 1rem )), calc( 100% - ( 1.7rem * 5 + 1rem )); } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-review {
  font-size: 1.4rem; }
  .cs-review__title {
    font-weight: 700;
    margin: 0 0 0.7rem;
    color: #212121; }
  .cs-review__rating, .cs-review__ratings {
    margin: 0 0 2rem;
    padding: 0; }
  .cs-review__compound-rating {
    list-style-type: none;
    display: flex;
    justify-content: space-between;
    max-width: 20rem;
    margin-bottom: 0.3em; }
    .cs-review__compound-rating:last-child {
      margin-bottom: 0; }
  .cs-review__meta {
    margin: 0 0 2rem;
    font-size: 0.9em; }
  .cs-review__meta-item {
    vertical-align: middle;
    padding: 0 1rem;
    line-height: 1em;
    border-right: 1px solid #dcdcdc; }
    .cs-review__meta-item:first-child {
      padding-left: 0; }
    .cs-review__meta-item:last-child {
      border-right: none; }
  .cs-review__author {
    color: #212121; }
  .cs-review__date {
    margin-left: -4px;
    color: #3E3E3E; }
  .cs-review__content {
    margin: 0;
    color: #3E3E3E; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-reviews {
  flex: 1 1; }
  @media (max-width: 63.99em) {
    .ie11 .cs-reviews {
      flex-basis: auto; } }
  @media (max-width: 63.99em) {
    .cs-reviews {
      border-bottom: 1px solid #dcdcdc; } }
  .cs-reviews__title {
    background: #f0f0f0; }
    @media (min-width: 48em) {
      .cs-reviews__title {
        background: none;
        padding: 0; } }
  .cs-reviews__list {
    list-style: none;
    margin: 0;
    padding: 0; }
  .cs-reviews__label {
    float: left;
    line-height: 4rem; }
  .cs-reviews__item {
    padding: 0 0 2.5rem;
    margin: 0 0 2.5rem;
    border-bottom: 1px solid #dcdcdc;
    list-style: none; }
    .cs-reviews__item:last-of-type {
      border-bottom: 0;
      margin-bottom: 0; }
  .cs-reviews__form {
    width: 100%;
    display: flex;
    flex-flow: row wrap;
    margin: 2.5rem 0; }
    @media (min-width: 64em) {
      .cs-reviews__form {
        background: #f0f0f0;
        padding: 3rem; } }
  .cs-reviews__headline {
    width: 100%;
    margin: 0 0 1.4em;
    text-align: left;
    font-size: 1.8rem; }
  .cs-reviews__product-name {
    font-weight: 200; }
  .cs-reviews__rating-item:not(:first-of-type) {
    margin-top: 1em; }
  .cs-reviews__ratings {
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 1.5em;
    font-size: 1.3rem; }
    @media (min-width: 64em) {
      .cs-reviews__ratings {
        width: 50%;
        padding-right: 3rem;
        border-right: 1px solid #dcdcdc; } }
  .cs-reviews__fieldset {
    width: 100%;
    margin-bottom: 1.5em;
    text-align: left;
    box-sizing: border-box; }
    @media (min-width: 64em) {
      .cs-reviews__fieldset {
        width: 50%;
        padding-left: 3rem; } }
  .cs-reviews__submit {
    width: 100%;
    display: flex;
    justify-content: flex-start; }
    @media (min-width: 64em) {
      .cs-reviews__submit {
        justify-content: center; } }
  .cs-reviews__submit-button {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: uppercase;
    border-radius: 25px;
    font-family: "Red Hat Display";
    padding: 8px 25px;
    font-size: 1.2rem;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    will-change: transform, background-color, border-color, fill, color; }
    .cs-reviews__submit-button.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .cs-reviews__submit-button.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .cs-reviews__submit-button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-reviews__submit-button, .cs-reviews__submit-button:visited {
      cursor: pointer;
      border-radius: 25px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF4604; }
      .cs-reviews__submit-button *, .cs-reviews__submit-button:visited * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-reviews__submit-button:hover:not([disabled]), .cs-reviews__submit-button:focus:not([disabled]), .cs-reviews__submit-button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF7442; }
      .cs-reviews__submit-button:hover:not([disabled]) *, .cs-reviews__submit-button:focus:not([disabled]) *, .cs-reviews__submit-button:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-reviews__submit-button[disabled] {
      opacity: 0.65;
      cursor: auto; }
    @media (max-width: 40em) {
      .cs-reviews__submit-button {
        width: 100%; } }
  .cs-reviews__rating-control {
    box-sizing: content-box;
    border: 1px solid #dcdcdc;
    border-radius: 3px;
    padding: 11px 10px;
    height: 1.275em;
    background: transparent;
    margin: 0 0 0.2em;
    display: flex;
    align-items: center; }
  .cs-reviews__rate-stars {
    box-sizing: border-box;
    order: 0; }
  .cs-reviews__rate-feedback {
    order: 1;
    font-size: 0.85em;
    line-height: 0.9em;
    color: #3E3E3E;
    font-weight: 700;
    margin-left: 1.5rem;
    display: flex;
    align-items: center; }
  .cs-reviews__review-field {
    min-height: 10rem;
    resize: vertical; }
  .cs-reviews .cs-pagination__content {
    justify-content: center;
    margin: 2.5rem 0; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-reviews-summary {
  line-height: 1;
  display: flex;
  margin-bottom: 3rem;
  flex-wrap: wrap;
  flex: 1 0 100%;
  border-bottom: 1px solid #dcdcdc; }
  @media (min-width: 64em) {
    .cs-reviews-summary {
      flex: 0 0 35rem;
      margin-bottom: 0;
      margin-right: 2.5rem;
      padding-right: 2.5rem;
      border-right: 1px solid #dcdcdc;
      border-bottom: 0;
      align-content: flex-start; } }
  .cs-reviews-summary__note {
    font-size: 4rem;
    line-height: 100%;
    color: #212121;
    font-weight: 300;
    margin-bottom: 0.5rem; }
  .cs-reviews-summary__note-right {
    color: #696969; }
  .cs-reviews-summary__button-wrapper {
    width: 100%;
    margin-top: 2.5rem;
    padding: 2.5rem 0;
    border-top: 1px solid #dcdcdc; }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-reviews-summary__button-wrapper {
    margin-top: 0;
    border-top: 0; } }
  .cs-reviews-summary__button {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: uppercase;
    border-radius: 25px;
    font-family: "Red Hat Display";
    padding: 8px 25px;
    font-size: 1.2rem;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    will-change: transform, background-color, border-color, fill, color;
    font-size: 1.4rem; }
    .cs-reviews-summary__button.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .cs-reviews-summary__button.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .cs-reviews-summary__button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-reviews-summary__button, .cs-reviews-summary__button:visited {
      cursor: pointer;
      border-radius: 25px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF4604; }
      .cs-reviews-summary__button *, .cs-reviews-summary__button:visited * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-reviews-summary__button:hover:not([disabled]), .cs-reviews-summary__button:focus:not([disabled]), .cs-reviews-summary__button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF7442; }
      .cs-reviews-summary__button:hover:not([disabled]) *, .cs-reviews-summary__button:focus:not([disabled]) *, .cs-reviews-summary__button:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-reviews-summary__button[disabled] {
      opacity: 0.65;
      cursor: auto; }
    @media (max-width: 39.99em) {
      .cs-reviews-summary__button {
        width: 100%; } }
  .cs-reviews-summary__button-span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    padding-right: 4em; }
  .cs-reviews-summary__button-icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    margin-right: 0;
    right: 1em; }
  .cs-reviews-summary__stars {
    margin-right: 1rem;
    flex: 1 0 auto; }
    @media (min-width: 30em) {
      .cs-reviews-summary__stars {
        flex: 0 1 auto;
        margin-right: 4rem; } }
    @media (min-width: 48em) {
      .cs-reviews-summary__stars {
        flex: 0 1 100%; } }
  .cs-reviews-summary__bars {
    font-size: 1.4rem;
    list-style: none inside none;
    padding: 0;
    margin: 2.5rem 0 0;
    flex-grow: 1;
    color: #696969;
    max-width: 40rem;
    width: 100%; }
    @media (min-width: 30em) {
      .cs-reviews-summary__bars {
        margin-top: 0;
        width: auto; } }
    @media (min-width: 48em) {
      .cs-reviews-summary__bars {
        margin-top: 2.5rem; } }
  .cs-reviews-summary__bar {
    position: relative;
    vertical-align: bottom;
    display: flex;
    align-items: center;
    margin: 0 0 1rem 0; }
    .cs-reviews-summary__bar:last-child {
      margin-bottom: 0; }
    .cs-reviews-summary__bar-label {
      flex: 0 1 3.5em; }
    .cs-reviews-summary__bar-count {
      width: 1.5em;
      text-align: right; }
    .cs-reviews-summary__bar-progress {
      flex: 1 0 auto;
      position: relative;
      display: inline-block;
      min-width: 9rem;
      height: 0.9em;
      margin: 0 0.8rem 0 0.7rem;
      background: #f0f0f0; }
      .cs-reviews-summary__bar-progress-inner {
        position: absolute;
        left: 0;
        top: 0;
        height: inherit;
        background: #fedfa4; }
  .cs-reviews-summary__ratings-averages {
    list-style-type: none;
    width: 100%;
    margin: 2.5rem 0 0;
    padding: 2.5rem 0 0;
    border-top: 1px solid #dcdcdc;
    line-height: 1.43; }
    .cs-reviews-summary__ratings-averages-item {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      margin-bottom: 0.3em; }
      @media (min-width: 30em) {
        .cs-reviews-summary__ratings-averages-item {
          max-width: 25rem; } }
      @media (min-width: 48em) {
        .cs-reviews-summary__ratings-averages-item {
          max-width: 40rem; } }
      .cs-reviews-summary__ratings-averages-item:last-child {
        margin-bottom: 0; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
.cs-stack-nav__trigger {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.5rem;
  background-color: #F4F4F4;
  cursor: pointer;
  font-size: 1.6rem;
  font-weight: 700; }
  @media (min-width: 48em) {
    .cs-stack-nav__trigger {
      display: none; } }
  .cs-stack-nav__trigger-icon {
    margin-left: 1.5rem;
    width: 6px;
    height: 10px;
    fill: #888;
    transform: rotate(90deg);
    transition: transform 0.3s; }
  .cs-stack-nav__trigger[aria-expanded='true'] .cs-stack-nav__trigger-icon {
    transform: rotate(-90deg); }

.cs-stack-nav__content {
  background-color: #F4F4F4;
  box-shadow: none; }
  @media (min-width: 48em) {
    .cs-stack-nav__content {
      padding: 1rem 0; } }

.cs-stack-nav__list {
  margin: 0;
  padding: 0;
  list-style: none; }
  .cs-stack-nav__list > svg,
  .cs-stack-nav__list > img {
    display: none; }

@media (max-width: 47.99em) {
  .cs-stack-nav__nav {
    display: none; }
    .cs-stack-nav__nav[aria-hidden="false"] {
      display: block; } }

.cs-stack-nav__nav .cs-stack-nav__list li {
  margin: 0;
  overflow: hidden;
  white-space: nowrap; }

.cs-stack-nav__nav .cs-stack-nav__list li a,
.cs-stack-nav__nav .cs-stack-nav__list li strong {
  font-size: 1.4rem;
  font-weight: 400;
  color: #000;
  border-left: none;
  padding: 0.75rem 1.5rem;
  display: block;
  margin-bottom: 0.1rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis; }
  @media (min-width: 48em) {
    .cs-stack-nav__nav .cs-stack-nav__list li a,
    .cs-stack-nav__nav .cs-stack-nav__list li strong {
      padding: 7px 1.8rem 7px 1.8rem; } }
  .cs-stack-nav__nav .cs-stack-nav__list li a svg,
  .cs-stack-nav__nav .cs-stack-nav__list li a img,
  .cs-stack-nav__nav .cs-stack-nav__list li strong svg,
  .cs-stack-nav__nav .cs-stack-nav__list li strong img {
    width: 2rem;
    height: 1.4rem;
    margin-left: 0.3rem;
    transform: translateY(0.1rem); }

.cs-stack-nav__nav .cs-stack-nav__list li a:hover {
  background-color: #dcdcdc;
  color: #000; }
  @media (min-width: 48em) {
    .cs-stack-nav__nav .cs-stack-nav__list li a:hover {
      background-color: #f0f0f0; } }

.cs-stack-nav__nav .cs-stack-nav__list li.current strong {
  position: relative;
  border-left: none;
  border-color: transparent;
  font-weight: 700;
  color: #000; }
  .cs-stack-nav__nav .cs-stack-nav__list li.current strong:hover {
    color: #000; }
  .cs-stack-nav__nav .cs-stack-nav__list li.current strong:before {
    position: absolute;
    left: 0;
    top: 5px;
    content: '';
    display: block;
    width: 0.4rem;
    height: 26px;
    background: #FF7442; }

.cs-stack-nav__nav .item .delimiter {
  display: none !important; }

.cs-stack-nav__nav .cs-stack-nav__list li.current a {
  padding: 0;
  margin-bottom: 0; }

@media (min-width: 48em) {
  .cs-stack-nav__nav {
    display: block;
    position: relative; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-sticky-block {
  box-sizing: border-box; }
  @media (min-width: 64em) {
    .cs-sticky-block {
      position: -webkit-sticky;
      position: sticky;
      z-index: 10;
      top: 1em; } }
  @media (min-width: 48em) {
    .cs-sticky-block--pdp {
      position: relative;
      z-index: 3;
      margin-right: calc(15px - 0.5rem); }
      .page-product-bundle .cs-sticky-block--pdp {
        margin-right: 0; } }
  @media (min-width: 64em) {
    .cs-sticky-block--pdp {
      top: 3rem;
      margin-right: 15px; }
      .page-product-bundle .cs-sticky-block--pdp {
        margin-right: 0; } }
  @media screen and (min-width: 1230px) {
    .cs-sticky-block--pdp {
      margin-right: 0; } }
  @media (min-width: 48em) {
    .cs-sticky-block--no-mobile {
      position: -webkit-sticky;
      position: sticky;
      top: 8.5rem; } }
  @media (min-width: 64em) {
    .cs-sticky-block--no-mobile {
      top: 1.5rem; } }

/** Styles form _tables.less of theme blank are moved here.
   * For some tables there is mobile layout applied also for tablet resolutions
   * Variables for typograpy, colors, border etc. are added
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable no-descending-specificity */
.table-wrapper {
  margin-bottom: 2rem; }
  @media (max-width: 47.99em) {
    .table-wrapper {
      border: none;
      display: block; } }
  @media (min-width: 48em) {
    .table-wrapper.cart .table-wrapper.cart {
      border-top: none; } }
  .table-wrapper.grouped tbody:last-child td {
    border-bottom: none; }

.table {
  border-bottom: 1px solid #dcdcdc;
  max-width: 100%;
  width: 100%;
  background: transparent; }
  .table > caption {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }
  .table:not(.totals):not(.table-totals) {
    border: none; }
    .table:not(.totals):not(.table-totals) td {
      border: none;
      padding: 0.8rem 1rem; }
    .table:not(.totals):not(.table-totals) thead {
      border-bottom: 1px solid #dcdcdc; }
      .table:not(.totals):not(.table-totals) thead th {
        font-size: 15px;
        text-transform: uppercase;
        color: #212121; }
    .table:not(.totals):not(.table-totals) tbody td {
      font-size: 1.6rem;
      color: #212121;
      font-weight: 300;
      border-bottom: 1px solid #dcdcdc;
      border-left: none; }
      @media (max-width: 47.99em) {
        .table:not(.totals):not(.table-totals) tbody td.actions {
          border-bottom: 1px solid #dcdcdc; } }
      .table:not(.totals):not(.table-totals) tbody td.actions a + a:before {
        margin: 0 0.7rem 0 0.5rem;
        content: '';
        display: inline-block;
        width: 1px;
        height: 1.6rem;
        border-right: 2px solid #dcdcdc;
        vertical-align: middle; }
      .table:not(.totals):not(.table-totals) tbody td:first-child {
        border-left: none; }
    @media (max-width: 63.99em) {
      .account .table:not(.totals):not(.table-totals) tbody tr:first-child td {
        padding-top: 0; } }
    .table:not(.totals):not(.table-totals) tbody tr:nth-child(even) {
      background: transparent; }
    .table:not(.totals):not(.table-totals) tfoot {
      font-size: 1.6rem; }
      @media (max-width: 47.99em) {
        .table:not(.totals):not(.table-totals) tfoot {
          background: #f0f0f0; } }
      .table:not(.totals):not(.table-totals) tfoot .mark {
        text-align: right; }
      @media (max-width: 47.99em) {
        .table:not(.totals):not(.table-totals) tfoot .amount {
          text-align: right; } }
  .table .price-excluding-tax,
  .table .price-including-tax,
  .table .items-qty,
  .table .product-item-name {
    font-size: 1.6rem;
    line-height: 155%; }

@media (max-width: 47.99em) {
  .table-wrapper {
    overflow-x: auto;
    overflow-y: hidden;
    width: 100%;
    position: relative; }
    .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals) {
      border: none;
      font-size: 1.4rem;
      padding: 0; }
      .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals):last-child {
        padding-bottom: 1.2rem; }
      .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals) thead {
        display: none; }
      .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals) tbody td {
        border: none;
        display: block;
        font-size: 1.4rem;
        padding: 0.2rem; }
        .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals) tbody td:first-child {
          padding-top: 2rem; }
        .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals) tbody td:last-child {
          padding-bottom: 1rem; } }
      @media (max-width: 47.99em) and (max-width: 48em) {
        .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals) tbody td:before {
          padding-right: 10px;
          content: attr(data-th) ": ";
          display: inline-block;
          color: #212121;
          text-transform: uppercase;
          font-weight: normal;
          font-size: 14px;
          letter-spacing: 1.5px;
          font-family: "PT Sans Narrow"; } }
      @media (max-width: 47.99em) and (max-width: 63.99em) {
        .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals) tbody td.actions {
          border-bottom: 1px solid #dcdcdc; } }
      @media (max-width: 47.99em) and (max-width: 63.99em) {
        .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals) tbody td.actions:before {
          border: 0;
          clip: rect(0 0 0 0);
          height: 1px;
          margin: -1px;
          overflow: hidden;
          padding: 0;
          position: absolute;
          width: 1px;
          white-space: nowrap;
          /* 1 */ } }

@media (max-width: 47.99em) {
      .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals) tfoot {
        display: block; }
        .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals) tfoot th {
          box-sizing: border-box;
          float: left;
          padding-left: 0;
          padding-right: 0;
          text-align: left;
          width: 70%; }
        .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals) tfoot td {
          box-sizing: border-box;
          float: left;
          padding-left: 0;
          padding-right: 0;
          text-align: right;
          width: 30%; }
        .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals) tfoot tr {
          display: block; }
          .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals) tfoot tr:first-child th,
          .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals) tfoot tr:first-child td {
            padding-top: 2rem; }
      .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals).additional-attributes tbody th {
        display: none; }
      .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals).additional-attributes tbody td:last-child {
        border: none;
        padding: 0 0 0.5rem; }
  .data-table-definition-list thead {
    display: none; }
  .data-table-definition-list tbody th {
    padding-bottom: 0; }
  .data-table-definition-list tbody th,
  .data-table-definition-list tbody td {
    display: block;
    padding-left: 0;
    padding-right: 0; } }

.table-wrapper.cart,
.account .table-wrapper {
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  position: relative; }

@media (min-width: 48em) and (max-width: 63.99em) {
  .table-wrapper.cart .table,
  .account .table-wrapper .table {
    border: none;
    font-size: 1.4rem;
    padding: 0; }
    .table-wrapper.cart .table:last-child,
    .account .table-wrapper .table:last-child {
      padding-bottom: 1.2rem; }
    .table-wrapper.cart .table thead,
    .account .table-wrapper .table thead {
      display: none; }
    .table-wrapper.cart .table tbody td,
    .account .table-wrapper .table tbody td {
      border: none;
      display: block;
      font-size: 1.4rem;
      padding: 0.2rem; }
      .table-wrapper.cart .table tbody td:first-child,
      .account .table-wrapper .table tbody td:first-child {
        padding-top: 2rem; }
      .table-wrapper.cart .table tbody td:last-child,
      .account .table-wrapper .table tbody td:last-child {
        padding-bottom: 1rem; } }
    @media (min-width: 48em) and (max-width: 63.99em) and (max-width: 48em) {
      .table-wrapper.cart .table tbody td:before,
      .account .table-wrapper .table tbody td:before {
        padding-right: 10px;
        content: attr(data-th) ": ";
        display: inline-block;
        color: #212121;
        text-transform: uppercase;
        font-weight: normal;
        font-size: 14px;
        letter-spacing: 1.5px;
        font-family: "PT Sans Narrow"; } }
    @media (min-width: 48em) and (max-width: 63.99em) and (max-width: 63.99em) {
      .table-wrapper.cart .table tbody td.actions,
      .account .table-wrapper .table tbody td.actions {
        border-bottom: 1px solid #dcdcdc; } }
    @media (min-width: 48em) and (max-width: 63.99em) and (max-width: 63.99em) {
      .table-wrapper.cart .table tbody td.actions:before,
      .account .table-wrapper .table tbody td.actions:before {
        border: 0;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
        white-space: nowrap;
        /* 1 */ } }

@media (min-width: 48em) and (max-width: 63.99em) {
    .table-wrapper.cart .table tfoot,
    .account .table-wrapper .table tfoot {
      display: block; }
      .table-wrapper.cart .table tfoot th,
      .account .table-wrapper .table tfoot th {
        box-sizing: border-box;
        float: left;
        padding-left: 0;
        padding-right: 0;
        text-align: left;
        width: 70%; }
      .table-wrapper.cart .table tfoot td,
      .account .table-wrapper .table tfoot td {
        box-sizing: border-box;
        float: left;
        padding-left: 0;
        padding-right: 0;
        text-align: right;
        width: 30%; }
      .table-wrapper.cart .table tfoot tr,
      .account .table-wrapper .table tfoot tr {
        display: block; }
        .table-wrapper.cart .table tfoot tr:first-child th,
        .table-wrapper.cart .table tfoot tr:first-child td,
        .account .table-wrapper .table tfoot tr:first-child th,
        .account .table-wrapper .table tfoot tr:first-child td {
          padding-top: 2rem; } }

/* stylelint-enable */

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-toolbar {
  font-size: 1.2rem;
  font-weight: inherit;
  text-transform: none; }
  @media (min-width: 48em) {
    .cs-toolbar {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      flex-wrap: wrap !important; } }
  @media (max-width: 63.99em) {
    .cs-toolbar {
      justify-content: flex-end; } }
  @media (max-width: 47.99em) {
    .cs-toolbar {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: space-between; } }
  .cs-toolbar .refine-toggle {
    display: block;
    padding: 6px 11px;
    width: 48%;
    order: 1;
    border: 1px solid #B6BEC5;
    border-radius: 3px;
    max-width: 200px;
    height: 40px;
    position: relative; }
    .cs-toolbar .refine-toggle:before, .cs-toolbar .refine-toggle:after {
      content: '';
      position: absolute;
      top: 50%;
      width: 0.6rem;
      height: 0.1rem;
      left: auto;
      background-color: #B6BEC5;
      -webkit-backface-visibility: hidden;
              backface-visibility: hidden; }
    .cs-toolbar .refine-toggle[aria-expanded="true"]:before, .cs-toolbar .refine-toggle[aria-expanded="true"]:after {
      background-color: #6E6E6E; }
    .cs-toolbar .refine-toggle:before {
      transform: rotate(135deg) translate3d(50%, 0, 0);
      right: 15px; }
    .cs-toolbar .refine-toggle:after {
      right: 15px;
      transform: rotate(-135deg) translate3d(50%, 0, 0); }
    .cs-toolbar .refine-toggle[aria-expanded="true"]:before {
      transform: rotate(225deg) translate3d(0, 0, 0);
      right: 0; }
    .cs-toolbar .refine-toggle[aria-expanded="true"]:after {
      transform: rotate(-45deg) translate3d(0, 0, 0);
      right: 15px; }
    @media (min-width: 48em) {
      .cs-toolbar .refine-toggle {
        display: none; } }
  .cs-toolbar__item {
    margin: 0 0 1.5rem; }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-toolbar__item:first-child {
    flex: 1 1; } }
    @media (min-width: 48em) {
      .cs-toolbar__item {
        padding: 0 0 0 0; }
        .cs-toolbar__item:first-child {
          padding-left: 0; }
        .cs-toolbar__item:last-child {
          padding-right: 0; } }
    @media (min-width: 64em) {
      .cs-toolbar__item--pagination {
        margin-left: auto; } }
    .cs-toolbar__item--limiter {
      display: flex;
      align-items: center; }
    .cs-toolbar__item--sorter {
      margin-left: 45px; }
      @media (max-width: 47.99em) {
        .cs-toolbar__item--sorter .cs-html-select {
          width: 100%; } }
      @media (min-width: 48em) {
        .cs-toolbar__item--sorter .cs-html-select {
          min-width: 19rem; } }
      @media (max-width: 47.99em) {
        .cs-toolbar__item--sorter {
          width: 48%;
          margin: 0;
          order: 2;
          max-width: 200px; }
          .cs-toolbar__item--sorter .sorter-label {
            display: none; } }
    @media (max-width: 47.99em) {
      .cs-toolbar__item--viewmode-switcher {
        width: 100%;
        margin: 0;
        order: 3; } }
  .cs-toolbar .field .label {
    font-weight: inherit;
    width: auto; }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-toolbar .cs-html-select {
    max-width: 20rem; } }
  .cs-toolbar .cs-html-select__trigger {
    min-height: 4rem; }

.toolbar-amount {
  margin: 0;
  white-space: nowrap; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-sorter {
  display: flex;
  align-items: center; }
  .cs-sorter__label {
    padding: 0 1.4rem 0 0;
    white-space: nowrap;
    letter-spacing: 0.4px; }
  .cs-sorter__select {
    width: 0px; }
  .cs-sorter .cs-html-select__trigger {
    border: 1px solid #B6BEC5;
    max-width: 188px; }
    @media (max-width: 47.99em) {
      .cs-sorter .cs-html-select__trigger {
        max-width: 100%;
        position: relative; }
        .cs-sorter .cs-html-select__trigger:before, .cs-sorter .cs-html-select__trigger:after {
          content: '';
          position: absolute;
          top: 50%;
          width: 0.7rem;
          height: 0.1rem;
          left: auto;
          background-color: #B6BEC5;
          -webkit-backface-visibility: hidden;
                  backface-visibility: hidden; }
        .cs-sorter .cs-html-select__trigger[aria-expanded="true"]:before, .cs-sorter .cs-html-select__trigger[aria-expanded="true"]:after {
          background-color: #6E6E6E; }
        .cs-sorter .cs-html-select__trigger:before {
          transform: rotate(45deg) translate3d(0, 0, 0);
          right: calc( 1.5rem + 1.2rem - 0.4rem); }
        .cs-sorter .cs-html-select__trigger:after {
          transform: rotate(-45deg) translate3d(0, 0, 0);
          right: 1.5rem; }
        .cs-sorter .cs-html-select__trigger:before {
          right: calc( 1.2rem + 1.2rem - 0.4rem); } }
  @media (min-width: 48em) {
    .cs-sorter .cs-html-select__trigger-caret {
      z-index: 2;
      width: 4.2rem;
      height: 4rem;
      display: block;
      background: #000; } }
  .cs-sorter .cs-html-select__trigger-caret .cs-html-select__trigger-caret-arrow {
    z-index: 2;
    width: 100%;
    height: 100%; }
    @media (max-width: 47.99em) {
      .cs-sorter .cs-html-select__trigger-caret .cs-html-select__trigger-caret-arrow {
        display: none; } }
    .cs-sorter .cs-html-select__trigger-caret .cs-html-select__trigger-caret-arrow:after, .cs-sorter .cs-html-select__trigger-caret .cs-html-select__trigger-caret-arrow:before {
      width: 1.1rem;
      height: 2px; }
    .cs-sorter .cs-html-select__trigger-caret .cs-html-select__trigger-caret-arrow:after {
      right: 1.2rem; }
    .cs-sorter .cs-html-select__trigger-caret .cs-html-select__trigger-caret-arrow:before {
      right: 1.9rem; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-limiter {
  display: flex;
  position: relative;
  margin: 0 1rem 0 0;
  align-items: center;
  flex-wrap: nowrap; }
  .cs-limiter__label,
  .field .cs-limiter__label {
    white-space: nowrap; }
    .cs-limiter__label--prefix,
    .field .cs-limiter__label--prefix {
      padding: 0 1rem 0 1rem; }
    .cs-limiter__label--suffix,
    .field .cs-limiter__label--suffix {
      padding: 0 0 0 1rem; }
  .cs-limiter__pagination {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    align-items: stretch; }
  .cs-limiter__pagination-item {
    margin: 0 6px 0 0;
    padding: 0;
    border: 2px solid #EFEFF0;
    text-align: center;
    overflow: hidden;
    border-radius: 3px; }
  .cs-limiter__pagination-number {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 3.5rem;
    min-height: 3.1rem;
    border: 0;
    margin: 0;
    padding: 0 0.3em;
    background: #ffffff;
    cursor: pointer;
    line-height: 1;
    font-size: 1.4rem;
    font-weight: 600;
    transition: color 0.15s linear; }
    .cs-limiter__pagination-number, .cs-limiter__pagination-number:visited {
      color: #000;
      text-decoration: none; }
    .cs-limiter__pagination-number:hover, .cs-limiter__pagination-number:focus, .cs-limiter__pagination-number:active {
      border: 0;
      color: #212121;
      background: inherit;
      text-decoration: inherit; }
    .cs-limiter__pagination-number .label {
      display: none; }
    .ie11 .cs-limiter__pagination-number {
      height: 1px; }
    .cs-limiter__pagination-item--current .cs-limiter__pagination-number {
      display: flex;
      align-items: center;
      justify-content: center;
      min-width: 3.5rem;
      min-height: 3.1rem;
      border: 0;
      margin: 0;
      padding: 0 0.3em;
      background: #FF7442;
      color: #ffffff;
      cursor: pointer;
      line-height: 1;
      font-size: 1.4rem;
      font-weight: 600;
      transition: color 0.15s linear; }
      .cs-limiter__pagination-item--current .cs-limiter__pagination-number .label {
        display: none; }
      .cs-limiter__pagination-item--current .cs-limiter__pagination-number, .cs-limiter__pagination-item--current .cs-limiter__pagination-number:hover, .cs-limiter__pagination-item--current .cs-limiter__pagination-number:focus, .cs-limiter__pagination-item--current .cs-limiter__pagination-number:active {
        color: #ffffff;
        background: #FF7442;
        cursor: default; }
  .cs-limiter .cs-html-select,
  .cs-limiter .cs-html-select__trigger,
  .cs-limiter select {
    min-width: 3rem;
    min-height: 4rem; }

.cs-dashboard .limiter-label,
.cs-dashboard .limiter-text {
  font-weight: 400;
  font-size: 1.4rem;
  margin-right: 0.5rem; }

.cs-dashboard .limiter-text {
  white-space: nowrap; }

.cs-dashboard .limiter-options {
  margin-right: 0.5rem; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-toolbar__item--pagination {
  margin-top: -4px;
  /**
     * Input mode
     */ }
  .cs-toolbar__item--pagination .pages {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center; }
  .cs-toolbar__item--pagination .view-all-link {
    font-size: 1.4rem;
    font-weight: bold;
    color: #000;
    text-decoration: none;
    line-height: 2.2rem;
    letter-spacing: 0.5px;
    border-bottom: 1px solid #000;
    margin-left: 2vw; }
  .cs-toolbar__item--pagination .pages-items {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    align-items: stretch;
    display: flex;
    align-items: flex-start; }
    .cs-toolbar__item--pagination .pages-items .item {
      margin: 0 6px 0 0;
      padding: 0;
      border: 2px solid #EFEFF0;
      text-align: center;
      overflow: hidden;
      border-radius: 3px; }
      .cs-toolbar__item--pagination .pages-items .item a {
        display: flex;
        align-items: center;
        justify-content: center;
        min-width: 3.5rem;
        min-height: 3.1rem;
        border: 0;
        margin: 0;
        padding: 0 0.3em;
        background: #ffffff;
        cursor: pointer;
        line-height: 1;
        font-size: 1.4rem;
        font-weight: 600;
        transition: color 0.15s linear; }
        .cs-toolbar__item--pagination .pages-items .item a, .cs-toolbar__item--pagination .pages-items .item a:visited {
          color: #000;
          text-decoration: none; }
        .cs-toolbar__item--pagination .pages-items .item a:hover, .cs-toolbar__item--pagination .pages-items .item a:focus, .cs-toolbar__item--pagination .pages-items .item a:active {
          border: 0;
          color: #212121;
          background: inherit;
          text-decoration: inherit; }
        .cs-toolbar__item--pagination .pages-items .item a .label {
          display: none; }
        .ie11 .cs-toolbar__item--pagination .pages-items .item a {
          height: 1px; }
        @media (max-width: 40em) {
          .cs-toolbar__item--pagination .pages-items .item a.previous, .cs-toolbar__item--pagination .pages-items .item a.next {
            min-width: unset;
            padding: 0; } }
      .cs-toolbar__item--pagination .pages-items .item.current {
        border: 2px solid #FF7442; }
        .cs-toolbar__item--pagination .pages-items .item.current strong {
          display: flex;
          align-items: center;
          justify-content: center;
          min-width: 3.5rem;
          min-height: 3.1rem;
          border: 0;
          margin: 0;
          padding: 0 0.3em;
          background: #FF7442;
          color: #ffffff;
          cursor: pointer;
          line-height: 1;
          font-size: 1.4rem;
          font-weight: 600;
          transition: color 0.15s linear; }
          .cs-toolbar__item--pagination .pages-items .item.current strong .label {
            display: none; }
          .cs-toolbar__item--pagination .pages-items .item.current strong, .cs-toolbar__item--pagination .pages-items .item.current strong:hover, .cs-toolbar__item--pagination .pages-items .item.current strong:focus, .cs-toolbar__item--pagination .pages-items .item.current strong:active {
            color: #ffffff;
            background: #FF7442;
            cursor: default; }
      .cs-toolbar__item--pagination .pages-items .item.pages-item-previous, .cs-toolbar__item--pagination .pages-items .item.pages-item-next {
        padding-left: 10px;
        padding-right: 10px; }
        .cs-toolbar__item--pagination .pages-items .item.pages-item-previous span, .cs-toolbar__item--pagination .pages-items .item.pages-item-next span {
          text-transform: uppercase;
          display: flex;
          align-items: center; }
        @media (max-width: 40em) {
          .cs-toolbar__item--pagination .pages-items .item.pages-item-previous, .cs-toolbar__item--pagination .pages-items .item.pages-item-next {
            padding: 0 16px; }
            .cs-toolbar__item--pagination .pages-items .item.pages-item-previous span, .cs-toolbar__item--pagination .pages-items .item.pages-item-next span {
              padding: 0;
              font-size: 0; } }
      .cs-toolbar__item--pagination .pages-items .item.pages-item-previous span {
        position: relative;
        padding-left: 15px; }
        .cs-toolbar__item--pagination .pages-items .item.pages-item-previous span svg {
          position: absolute;
          left: 0; }
      @media (max-width: 40em) {
        .cs-toolbar__item--pagination .pages-items .item.pages-item-previous svg {
          margin-right: 0; } }
      @media (max-width: 40em) {
        .cs-toolbar__item--pagination .pages-items .item.pages-item-next {
          margin-right: 0; } }
      .cs-toolbar__item--pagination .pages-items .item.pages-item-next svg {
        margin-left: 8px; }
        @media (max-width: 40em) {
          .cs-toolbar__item--pagination .pages-items .item.pages-item-next svg {
            margin-left: 0; } }
  .cs-toolbar__item--pagination__page-provider {
    display: flex;
    flex-wrap: nowrap;
    white-space: nowrap;
    align-items: center;
    width: auto; }
  .cs-toolbar__item--pagination__page-provider-input.input-text {
    margin: 0;
    max-height: 4rem;
    width: 4.5em;
    text-align: center;
    font-size: 0.85em; }
  .cs-toolbar__item--pagination__page-provider-label {
    padding-left: 1rem;
    width: auto !important; }
  .cs-toolbar__item--pagination__action {
    display: flex;
    min-width: 3.5rem;
    min-height: 3.1rem;
    align-items: center;
    justify-content: center; }
    .ie11 .cs-toolbar__item--pagination__action {
      height: 1px; }
  .cs-toolbar__item--pagination__action-icon {
    width: 0.5rem;
    height: 2.4rem;
    fill: #FF4604;
    transition: fill 0.15s linear; }
    @media (max-width: 40em) {
      .cs-toolbar__item--pagination__action-icon {
        width: 0.6rem; } }
    .cs-toolbar__item--pagination__action-icon g {
      fill: #000; }
    .cs-toolbar__item--pagination__action--disabled .cs-toolbar__item--pagination__action-icon {
      fill: #dcdcdc; }
    .cs-toolbar__item--pagination__action:not(.cs-toolbar__item--pagination__action--disabled):hover .cs-toolbar__item--pagination__action-icon,
    .cs-toolbar__item--pagination__action:not(.cs-toolbar__item--pagination__action--disabled):focus .cs-toolbar__item--pagination__action-icon,
    .cs-toolbar__item--pagination__action:not(.cs-toolbar__item--pagination__action--disabled):active .cs-toolbar__item--pagination__action-icon {
      fill: #142b9e; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-viewmode-switcher {
  display: flex;
  align-items: center; }
  .cs-viewmode-switcher__label {
    margin: 0;
    padding: 0 4px 0 0;
    letter-spacing: 0.4px; }
    @media (max-width: 47.99em) {
      .cs-viewmode-switcher__label {
        margin-right: 10px; } }
  .cs-viewmode-switcher__modes {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    align-items: stretch; }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-viewmode-switcher__modes {
    padding-left: 1rem; } }
  .cs-viewmode-switcher__mode {
    margin: 0 2px 0 0; }
  .cs-viewmode-switcher__mode-action {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 3.5rem;
    min-height: 3.1rem;
    border: 0;
    margin: 0;
    padding: 0 0.3em;
    background: #ffffff;
    cursor: pointer;
    line-height: 1;
    font-size: 1.4rem;
    font-weight: 600;
    transition: color 0.15s linear;
    padding: 0;
    height: 100%; }
    .cs-viewmode-switcher__mode-action, .cs-viewmode-switcher__mode-action:visited {
      color: #000;
      text-decoration: none; }
    .cs-viewmode-switcher__mode-action:hover, .cs-viewmode-switcher__mode-action:focus, .cs-viewmode-switcher__mode-action:active {
      border: 0;
      color: #212121;
      background: inherit;
      text-decoration: inherit; }
    .cs-viewmode-switcher__mode-action .label {
      display: none; }
  .cs-viewmode-switcher__mode-icon g {
    fill: #FF7442; }
  .cs-viewmode-switcher__mode-icon--grid {
    width: 2.5rem;
    height: 2.1rem; }
    @media (max-width: 47.99em) {
      .cs-viewmode-switcher__mode-icon--grid {
        width: 2.9rem;
        height: 2.6rem; } }
  .cs-viewmode-switcher__mode-icon--list {
    width: 2.5rem;
    height: 2.1rem; }
    @media (max-width: 47.99em) {
      .cs-viewmode-switcher__mode-icon--list {
        width: 2.9rem;
        height: 2.6rem; } }
  .cs-viewmode-switcher__mode--current .cs-viewmode-switcher__mode-icon g {
    fill: #000; }
  .cs-viewmode-switcher__mode-icon + .cs-viewmode-switcher__mode-label {
    padding-left: 0.7rem; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
.repertus_packstation--search-button,
.repertus_packstation_search_button .action-basic,
#repertus_find_packstation_button_execute {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: uppercase;
  border-radius: 25px;
  font-family: "Red Hat Display";
  padding: 8px 25px;
  font-size: 1.2rem;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5;
  will-change: transform, background-color, border-color, fill, color;
  margin: 1rem 0 0; }
  .repertus_packstation--search-button.medium,
  .repertus_packstation_search_button .action-basic.medium,
  #repertus_find_packstation_button_execute.medium {
    padding: 11px 25px;
    font-size: 1.4rem; }
  .repertus_packstation--search-button.large,
  .repertus_packstation_search_button .action-basic.large,
  #repertus_find_packstation_button_execute.large {
    padding: 13px 25px;
    font-size: 1.6rem; }
  .repertus_packstation--search-button::-moz-focus-inner,
  .repertus_packstation_search_button .action-basic::-moz-focus-inner,
  #repertus_find_packstation_button_execute::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .repertus_packstation--search-button, .repertus_packstation--search-button:visited,
  .repertus_packstation_search_button .action-basic,
  .repertus_packstation_search_button .action-basic:visited,
  #repertus_find_packstation_button_execute,
  #repertus_find_packstation_button_execute:visited {
    cursor: pointer;
    border-radius: 25px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #FF4604; }
    .repertus_packstation--search-button *, .repertus_packstation--search-button:visited *,
    .repertus_packstation_search_button .action-basic *,
    .repertus_packstation_search_button .action-basic:visited *,
    #repertus_find_packstation_button_execute *,
    #repertus_find_packstation_button_execute:visited * {
      color: #ffffff;
      fill: #ffffff; }
  .repertus_packstation--search-button:hover:not([disabled]), .repertus_packstation--search-button:focus:not([disabled]), .repertus_packstation--search-button:active:not([disabled]),
  .repertus_packstation_search_button .action-basic:hover:not([disabled]),
  .repertus_packstation_search_button .action-basic:focus:not([disabled]),
  .repertus_packstation_search_button .action-basic:active:not([disabled]),
  #repertus_find_packstation_button_execute:hover:not([disabled]),
  #repertus_find_packstation_button_execute:focus:not([disabled]),
  #repertus_find_packstation_button_execute:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #FF7442; }
    .repertus_packstation--search-button:hover:not([disabled]) *, .repertus_packstation--search-button:focus:not([disabled]) *, .repertus_packstation--search-button:active:not([disabled]) *,
    .repertus_packstation_search_button .action-basic:hover:not([disabled]) *,
    .repertus_packstation_search_button .action-basic:focus:not([disabled]) *,
    .repertus_packstation_search_button .action-basic:active:not([disabled]) *,
    #repertus_find_packstation_button_execute:hover:not([disabled]) *,
    #repertus_find_packstation_button_execute:focus:not([disabled]) *,
    #repertus_find_packstation_button_execute:active:not([disabled]) * {
      color: #ffffff;
      fill: #ffffff; }
  .repertus_packstation--search-button[disabled],
  .repertus_packstation_search_button .action-basic[disabled],
  #repertus_find_packstation_button_execute[disabled] {
    opacity: 0.65;
    cursor: auto; }

.repertus-packstation-search.modal-popup._show {
  z-index: 905 !important; }

.repertus-packstation-search .modal-title {
  padding-left: 3rem;
  text-transform: none; }

.repertus-packstation-search .modal-content {
  padding-bottom: 3rem; }

.repertus-packstation-search .modal-footer {
  display: none; }

.repertus-packstation-search .action-close {
  right: 1rem;
  cursor: pointer; }

.repertus-packstation-search .tonur_packstation_input {
  margin-bottom: 1.5rem; }

.repertus-packstation-search .repertus_packstaion--search-modal--input-fields {
  display: flex;
  justify-content: space-between; }

.repertus-packstation-search .repertus--input-field {
  font-size: 1.3rem;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  align-items: center;
  border: 0;
  padding: 0;
  margin: 0 0 10px;
  width: 100%; }
  .repertus-packstation-search .repertus--input-field label {
    font-weight: 700;
    font-size: 0.85em;
    width: 100%;
    text-transform: none;
    color: inherit;
    margin: 0 0 3px 0; }
  .repertus-packstation-search .repertus--input-field input {
    font-size: 1.3rem;
    line-height: 1.275em;
    padding: 11px 10px;
    color: #212121;
    background: #ffffff;
    border-radius: 3px;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    transition: border-color 0.5s;
    margin: 0 0 0.2em;
    width: 100%;
    max-height: 40px;
    background-clip: padding-box;
    font-family: inherit; }
    .repertus-packstation-search .repertus--input-field input:hover:not([disabled]), .repertus-packstation-search .repertus--input-field input:focus:not([disabled]) {
      border: 1px solid #FF4604;
      box-shadow: none; }
    .repertus-packstation-search .repertus--input-field input::-moz-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .repertus-packstation-search .repertus--input-field input:-ms-input-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .repertus-packstation-search .repertus--input-field input::-ms-input-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .repertus-packstation-search .repertus--input-field input::placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .repertus-packstation-search .repertus--input-field input[disabled] {
      opacity: 0.65; }
  .repertus-packstation-search .repertus--input-field.postcode {
    margin-right: 1.5rem; }

.repertus-packstation-search #tonur_packstation_map {
  position: relative;
  min-height: 27rem;
  max-height: 40rem;
  border: 0.1rem solid #ffffff; }
  @media (min-width: 30em) {
    .repertus-packstation-search #tonur_packstation_map {
      min-height: 29.5rem; } }
  @media (min-width: 48em) {
    .repertus-packstation-search #tonur_packstation_map {
      min-height: 40rem; } }

.repertus-packstation-search #tonur_packstation_map_overlay {
  display: none;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 40.2rem;
  background-color: #000;
  opacity: 0.7;
  z-index: 100; }
  .repertus-packstation-search #tonur_packstation_map_overlay p {
    margin-top: 27%;
    color: #ffffff;
    text-align: center; }

.repertus-packstation-search #tonur_packstation_map_frame {
  position: relative; }
  .repertus-packstation-search #tonur_packstation_map_frame.busy #tonur_packstation_map_overlay {
    display: table-cell; }

.repertus-packstation-search .MicrosoftMap .Infobox .infobox-body {
  min-width: 190px; }

.repertus-packstation-search .MicrosoftMap .Infobox .infobox-title {
  padding: 1rem 1rem 0; }

.repertus-packstation-search .MicrosoftMap .Infobox .infobox-actions {
  height: 2.5rem; }

.repertus_address_type_fieldset,
.repertus_address_type_fieldset .fieldset-wrapper-content {
  width: 100%; }

.field[name='shippingAddress.repertus_address_type'] {
  display: none; }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzL2N1c3RvbWVyLmNzcyIsInNvdXJjZXMiOlsid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbmZpZy9icmVha3BvaW50cy5zY3NzIiwid2VicGFjazovL1tuYW1lXS9iYXNlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvdXRpbHMvZGVlcC1nZXQvZGVlcC1nZXQuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29uZmlnL2Jhc2Uuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy91dGlscy9mb250LWZhbWlseS5zY3NzIiwid2VicGFjazovL1tuYW1lXS9idW5kbGUuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9ub2RlX21vZHVsZXMvaW5jbHVkZS1tZWRpYS9kaXN0L19pbmNsdWRlLW1lZGlhLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvdXRpbHMvdXRpbGl0eS1jbGFzc2VzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9jb250YWluZXIvbWl4aW4uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9jb250YWluZXIvbm8tcm9vdC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2NvbnRhaW5lci9jb250YWluZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9NYWdlbnRvX1RoZW1lL3dlYi9jc3Mvc291cmNlL19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vYXV0aG9yaXphdGlvbi1saW5rLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9hdXRob3JpemF0aW9uLWxpbmsvYXV0aG9yaXphdGlvbi1saW5rLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvdXRpbHMvbGluay5zY3NzIiwid2VicGFjazovL1tuYW1lXS9hZGR0b2NhcnQuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy91dGlscy9nZXQtdmFsdWUtZnJvbS1saXN0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9idXR0b24vaG9vay5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2FkZHRvY2FydC9hZGR0b2NhcnQuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9idXR0b24vbWl4aW4uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vYXV0b2NvbXBsZXRlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvYmFkZ2UvaG9vay5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3ByaWNlLWJveC92YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9iYWRnZS9taXhpbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS9icmVhZGNydW1icy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL3V0aWxzL3Jlc2V0LWxpc3Qtc3R5bGUuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9icmVhZGNydW1icy9icmVhZGNydW1icy5zY3NzIiwid2VicGFjazovL1tuYW1lXS9idXR0b24uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvdXRpbHMvY29tcG9uZW50LXNwYWNpbmcuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vY29udGFpbmVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2Nvb2tpZS1tZXNzYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9jb29raWUtbWVzc2FnZS9jb29raWUtbWVzc2FnZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS9kaXNwbGF5LWNvbnRyb2xsZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2Rpc3BsYXktY29udHJvbGxlci9kaXNwbGF5LWNvbnRyb2xsZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vZHJvcGRvd24tc3dpdGNoZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3BzZXVkb2ljb24vaG9vay5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvZHJvcGRvd24tc3dpdGNoZXIvZHJvcGRvd24tc3dpdGNoZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3BzZXVkb2ljb24vbWl4aW4uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vZmllbGQuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9maWVsZC9ob29rLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvZmllbGQvbWl4aW4uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9maWVsZC9maWVsZC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvdXRpbHMvdmlzdWFsbHktaGlkZGVuLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvdHlwb2dyYXBoeS9ob29rLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvdHlwb2dyYXBoeS9taXhpbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS9mb290ZXItbGlua3Muc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9mb290ZXIvZm9vdGVyLWxpbmtzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvZ3JpZC1sYXlvdXQvZ3JpZC1sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vZ3JpZC1sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy91dGlscy9hc3BlY3QtcmF0aW8uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy91dGlscy9jbGVhcmZpeC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL3V0aWxzL3BvbHktZmx1aWQtc2l6aW5nLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2hlYWRsaW5lLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvaGVhZGxpbmUvaG9vay5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2hlYWRsaW5lL2hlYWRsaW5lLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvaGVhZGxpbmUvbWl4aW4uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vaGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS9zZWFyY2guc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9oZWFkZXIvc2VhcmNoL3NlYXJjaC5zY3NzIiwid2VicGFjazovL1tuYW1lXS91c2VyLW5hdi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3F0eS1jb3VudGVyL2hvb2suc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9oZWFkZXIvdXNlci1uYXYvdXNlci1uYXYuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9xdHktY291bnRlci9taXhpbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvbGF6eWxvYWQvbGF6eWxvYWQuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vbGlua3MtYmxvY2stYWRkdG8uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2xpbmtzLWJsb2NrLWFkZHRvL2xpbmtzLWJsb2NrLWFkZHRvLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2xvZ28uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2xvZ28vbG9nby5zY3NzIiwid2VicGFjazovL1tuYW1lXS9tZXNzYWdlcy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL21lc3NhZ2VzL21lc3NhZ2VzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL21pbmljYXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvbWluaWNhcnQvbWluaWNhcnQuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vbWluaWNhcnQtcHJvZHVjdC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL21pbmljYXJ0LXByb2R1Y3QvbWluaWNhcnQtcHJvZHVjdC5zY3NzIiwid2VicGFjazovL1tuYW1lXS9mcmVlLXNoaXBwaW5nLWluZGljYXRvci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvZnJlZS1zaGlwcGluZy1pbmRpY2F0b3IvZnJlZS1zaGlwcGluZy1pbmRpY2F0b3Iuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vbW9kYWwuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5zY3NzIiwid2VicGFjazovL1tuYW1lXS90ZWFzZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL25hdmlnYXRpb24vdGVhc2VyL3RlYXNlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS9uYXZpZ2F0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL25ld3NsZXR0ZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9uZXdzbGV0dGVyL25ld3NsZXR0ZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vb2ZmY2FudmFzLXRvZ2dsZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL29mZmNhbnZhcy10b2dnbGUvb2ZmY2FudmFzLXRvZ2dsZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS9vZmZjYW52YXMtbmF2aWdhdGlvbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL29mZmNhbnZhcy1uYXZpZ2F0aW9uL29mZmNhbnZhcy1uYXZpZ2F0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL29mZmNhbnZhcy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL29mZmNhbnZhcy9vZmZjYW52YXMuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vcGFnZS10aXRsZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3BhZ2UtdGl0bGUvcGFnZS10aXRsZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS9wYWdlLWJvdHRvbS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3BhZ2UtYm90dG9tL3BhZ2UtYm90dG9tLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3ByaWNlLWJveC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3ByaWNlLWJveC9wcmljZS1ib3guc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9wcmljZS1ib3gvbWl4aW4uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vcHJvZHVjdC10aWxlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvdXRpbHMvc3RyaW5nLXRvLW51bWJlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3Byb2R1Y3QtdGlsZS9wcm9kdWN0LXRpbGUuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vcHdhLW5vdGlmaWNhdGlvbi1wYW5lbC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvcHdhLW5vdGlmaWNhdGlvbi1wYW5lbC9wd2Etbm90aWZpY2F0aW9uLXBhbmVsLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3F0eS1pbmNyZW1lbnQuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9xdHktaW5jcmVtZW50L3F0eS1pbmNyZW1lbnQuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vc2xpZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9zbGlkZXIvc2xpZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3NvY2lhbC1tZWRpYS1saXN0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9zb2NpYWwtbWVkaWEtbGlzdC9zb2NpYWwtbWVkaWEtbGlzdC5zY3NzIiwid2VicGFjazovL1tuYW1lXS9zdGFyLXJhdGluZy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvc3Rhci1yYXRpbmcvc3Rhci1yYXRpbmcuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vc3dhdGNoZXMuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3N3YXRjaGVzL3N3YXRjaGVzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3RpbGUtZ2FsbGVyeS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvdGlsZS1nYWxsZXJ5L3RpbGUtZ2FsbGVyeS5zY3NzIiwid2VicGFjazovL1tuYW1lXS90b3BiYXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy90b3BiYXIvdG9wYmFyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3R5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy90eXBvZ3JhcGh5L3R5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3VzcHMvdXNwcy5zY3NzIiwid2VicGFjazovL1tuYW1lXS91c3BzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3Zpc3VhbGx5LWhpZGRlbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvdmlzdWFsbHktaGlkZGVuL3Zpc3VhbGx5LWhpZGRlbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS9zZWxlY3Quc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2llMTEtbW9kYWwuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2llMTEtbW9kYWwvaWUxMS1tb2RhbC5zY3NzIiwid2VicGFjazovL1tuYW1lXS9wd2Etbm90aWZpY2F0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9wd2Etbm90aWZpY2F0aW9uL3B3YS1ub3RpZmljYXRpb24uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL25vbi1jcml0aWNhbC9ub24tY3JpdGljYWwuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vaW1hZ2UtdGVhc2VyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvdmVuZG9ycy9zd2lwZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3RlYXNlci9ob29rcy9wYWdpbmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy90ZWFzZXIvaG9va3Muc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9pbWFnZS10ZWFzZXIvaW1hZ2UtdGVhc2VyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvdGVhc2VyL21peGlucy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3RlYXNlci9taXhpbnMvcGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvdGVhc2VyL21peGlucy9jb250cmFzdC1vcHRpbWl6ZXJzL2dyYWRpZW50LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy90ZWFzZXIvbWl4aW5zL2NvbnRyYXN0LW9wdGltaXplcnMvdGV4dC1zaGFkb3cuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vaW1hZ2UtdGVhc2VyLWxlZ2FjeS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvaW1hZ2UtdGVhc2VyLWxlZ2FjeS9pbWFnZS10ZWFzZXItbGVnYWN5LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9pbWFnZS10ZWFzZXItbGVnYWN5L21peGluLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3Byb2R1Y3RzLWdyaWQuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9wcm9kdWN0cy1ncmlkL3Byb2R1Y3RzLWdyaWQuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vcHJvZHVjdHMtbGlzdC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3Byb2R1Y3RzLWxpc3QvcHJvZHVjdHMtbGlzdC5zY3NzIiwid2VicGFjazovL1tuYW1lXS9kYWlseWRlYWwuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2RhaWx5ZGVhbC9kYWlseWRlYWwuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy91dGlscy9yaWdodC1zaWRlLXNrZXcuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vY2FsZW5kYXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9jYWxlbmRhci9jYWxlbmRhci5zY3NzIiwid2VicGFjazovL1tuYW1lXS9jYXB0Y2hhLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9jYXB0Y2hhL2NhcHRjaGEuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vZGFzaGJvYXJkLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvZGFzaGJvYXJkL2Rhc2hib2FyZC5zY3NzIiwid2VicGFjazovL1tuYW1lXS9mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvZm9ybS9mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3Bhc3N3b3JkLXN0cmVuZ3RoLW1ldGVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9wYXNzd29yZC1zdHJlbmd0aC1tZXRlci9wYXNzd29yZC1zdHJlbmd0aC1tZXRlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS9yZXZpZXcuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3Jldmlldy9yZXZpZXcuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vcmV2aWV3cy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvcmV2aWV3cy9yZXZpZXdzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3Jldmlld3Mtc3VtbWFyeS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvcmV2aWV3cy1zdW1tYXJ5L3Jldmlld3Mtc3VtbWFyeS5zY3NzIiwid2VicGFjazovL1tuYW1lXS9zdGFjay1uYXYuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9zdGFjay1uYXYvc3RhY2stbmF2LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3N0aWNreS1ibG9jay5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvc3RpY2t5LWJsb2NrL3N0aWNreS1ibG9jay5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvc3RpY2t5LWJsb2NrL21peGluLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvdGFibGUvdGFibGUuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vdGFibGUuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy90YWJsZS9ob29rLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvdGFibGUvbWl4aW4uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vdG9vbGJhci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3Rvb2xiYXIvdG9vbGJhci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3Rvb2xiYXIvYW1vdW50LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvdG9vbGJhci9zb3J0ZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy90b29sYmFyL2hvb2tzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvdG9vbGJhci9saW1pdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvdG9vbGJhci9taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy90b29sYmFyL3BhZ2luYXRpb24uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy90b29sYmFyL3ZpZXdtb2RlLXN3aXRjaGVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3JlcGVydHVzLXBhY2tzdGF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvUmVwZXJ0dXNfUGFja3N0YXRpb24vd2ViL2Nzcy9yZXBlcnR1cy1wYWNrc3RhdGlvbi5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AaW1wb3J0ICdldGMvdmlldy5zY3NzJztcbkBpbXBvcnQgJ3V0aWxzL2RlZXAtZ2V0L2RlZXAtZ2V0LnNjc3MnO1xuXG4vLyBCcmVha3BvaW50cyBpbXBvcnQgZnJvbSB2aWV3LnhtbCBbcHhdXG4kYnJlYWtwb2ludHNfcHg6IGRlZXAtZ2V0KCR2aWV3LXhtbCwgdmFycywgTWFnZW50b19UaGVtZSwgYnJlYWtwb2ludHMpO1xuJGJyZWFrcG9pbnRzX2VtOiAoKTtcblxuQHVzZSBcInNhc3M6bWFwXCI7XG5cbkBmdW5jdGlvbiBjYWxjdWxhdGUtYnJlYWtwb2ludHMoJGJyZWFrcG9pbnRzX2VtLCAkYnJlYWtwb2ludHNfcHgpIHtcbiAgICAkcmVzdWx0OiAkYnJlYWtwb2ludHNfZW07XG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRicmVha3BvaW50c19weCB7XG4gICAgICAgICRyZXN1bHQ6IG1hcC1tZXJnZShcbiAgICAgICAgICAgICRyZXN1bHQsXG4gICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgdW5xdW90ZSgka2V5KTogJHZhbHVlIC8gMTYgKiAxZW0sXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cblxuJGJyZWFrcG9pbnRzOiBjYWxjdWxhdGUtYnJlYWtwb2ludHMoJGJyZWFrcG9pbnRzX2VtLCAkYnJlYWtwb2ludHNfcHgpICFkZWZhdWx0O1xuXG4vLyBwaG9uZTogMjMuMTI1ZW0gLSAzNzBweFxuLy8gcGhvbmVMZzogMzBlbSAtIDQ4MHB4LFxuLy8gdGFibGV0OiA0OGVtIC0gNzY4cHgsXG4vLyBsYXB0b3A6IDY0ZW0gLSAxMDI0cHgsXG4vLyBsYXB0b3BMZzogODBlbSAtIDEyODBweCxcbi8vIGRlc2t0b3A6IDkwZW0gLSAxNDQwcHgsXG4vLyB0djogMTIwZW0gLSAxOTIwcHgsXG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogNjIuNSU7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqLyB9XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBVYnVudHUsIENhbnRhcmVsbCwgT3h5Z2VuLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuNnJlbTtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBjb2xvcjogIzNFM0UzRTsgfVxuXG5idXR0b24sXG5pbnB1dCxcbnRleHRhcmVhLFxuc2VsZWN0IHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IH1cblxuLyogSGlkZSBIVE1MNSBVcCBhbmQgRG93biBhcnJvd3MuICovXG5pbnB1dFt0eXBlPSdudW1iZXInXSB7XG4gIGFwcGVhcmFuY2U6IHRleHRmaWVsZDsgfVxuICBpbnB1dFt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiwgaW5wdXRbdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBtYXJnaW46IDA7IH1cbiIsIi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkBmdW5jdGlvbiBkZWVwLWdldCgkbWFwLCAka2V5cy4uLikge1xuICAgIEBlYWNoICRrZXkgaW4gJGtleXMge1xuICAgICAgICAkbWFwOiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuICAgIH1cbiAgICBAcmV0dXJuICRtYXA7XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3V0aWxzL2ZvbnQtZmFtaWx5JztcblxuaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6IDYyLjUlO1xuICAgIGJhY2tncm91bmQ6ICRwYWdlX2JhY2tncm91bmQ7XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICBvdmVyZmxvdy14OiBoaWRkZW47IC8vIGhpZGVzIGhvcml6b250YWwgc2Nyb2xsYmFyIG9uIEVkZ2UgYW5kIElFXG4gICAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xufVxuXG4qLFxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5ib2R5IHtcbiAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9mYW1pbHktcHJpbWFyeSk7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBsaW5lLWhlaWdodDogMi42cmVtO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBjb2xvcjogJGNvbG9yX2JvZHktdGV4dDtcbn1cblxuYnV0dG9uLFxuaW5wdXQsXG50ZXh0YXJlYSxcbnNlbGVjdCB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG59XG5cbkBpZiAkaW5wdXRfcmVtb3ZlLW51bWJlci1hcHBlYXJhbmNlIHtcbiAgICAvKiBIaWRlIEhUTUw1IFVwIGFuZCBEb3duIGFycm93cy4gKi9cbiAgICBpbnB1dFt0eXBlPSdudW1iZXInXSB7XG4gICAgICAgIGFwcGVhcmFuY2U6IHRleHRmaWVsZDtcblxuICAgICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuICAgICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuXG5AbWl4aW4gZm9udC1mYW1pbHkoJGZvbnRzLi4uKSB7XG4gICAgQGlmICRmb250cyB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udHMsICRmb250LWZhbWlseS1mYWxsYmFjaztcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1mYWxsYmFjaztcbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzkuOTllbSkge1xuICAuY3MtaGlkZS1sYXB0b3Age1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCAqLyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gIC5jcy1oaWRlLXRhYmxldCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50ICovIH0gfVxuXG4uY3Mtbm8tZGlzcGxheSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQgKi8gfVxuXG4uY3MtYXNwZWN0LXJhdGlvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLXRvcDogNTYuMjUlOyB9XG4gIC5jcy1hc3BlY3QtcmF0aW9fX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiAwOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogTWl4aW5zIGZvciBmbGV4aWJsZSBjb250YWluZXJzIGRlY2xhcmF0aW9uLlxuICovXG4vKipcbiAqIERlZmluZXMgcGFnZSBjb250YWluZXIuIFRoaXMgbWl4aW4gbWFrZXMgc3VyZSB0aGF0IHRoZSBjb250ZW50IGhhcyBhbHdheXMgZXF1YWwgcGFkZGluZ1xuICogZm9yIG1vYmlsZSBzY3JlZW5zIG9uIGJvdGggc2l6ZSBvZiB0aGUgZGV2aWNlLlxuICovXG4vKipcbiAqIE5lZ2F0ZXMgcGFyZW50IGNvbnRhaW5lcidzIHBhZGRpbmcgYW5kIHNldHMgaXQgb3duLlxuICogU29tZXRoaW1lcyB0aGlzIGhhcyB0byBiZSBkb25lIHRvIG1ha2UgYmFja2dyb3VuZCBldmVuIHRvIG90aGVyIGNvbnRhaW5lcnMnIGNvbnRlbnQuXG4gKi9cbi8qKlxuICogRGVmaW5lcyBjb250YWluZXIgd3JhcHBlciB0aGF0IG1ha2VzIHN1cmUgY29udG5ldCBkb2Vzbid0IGV4dGVuZCBhYm92ZSBjZXJ0YWluIHdpZHRoIGFuZCBpcyBhbHdheXMgY2VudGVyZWQuXG4gKi9cbmJvZHkuY21zLW5vLXJvdXRlIC5jcy1jb250YWluZXJfX2lubmVyIGgxLCBib2R5LmNtcy1uby1yb3V0ZSAuY3MtY29udGFpbmVyX19yZXZpZXdzIGgxIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiAyOHB4O1xuICBsaW5lLWhlaWdodDogMzRweDtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG5ib2R5LmNtcy1uby1yb3V0ZSAuY3MtY29udGFpbmVyX19pbm5lciBoMiwgYm9keS5jbXMtbm8tcm91dGUgLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyBoMiwgYm9keS5jbXMtbm8tcm91dGUgLmNzLWNvbnRhaW5lcl9faW5uZXIgaDMsIGJvZHkuY21zLW5vLXJvdXRlIC5jcy1jb250YWluZXJfX3Jldmlld3MgaDMge1xuICBmb250LXNpemU6IDE4cHg7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbmJvZHkuY21zLW5vLXJvdXRlIC5jcy1jb250YWluZXJfX2lubmVyIHVsLmJ1dHRvbnMtc2V0LCBib2R5LmNtcy1uby1yb3V0ZSAuY3MtY29udGFpbmVyX19yZXZpZXdzIHVsLmJ1dHRvbnMtc2V0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAyMHB4IDAgMDsgfVxuICBib2R5LmNtcy1uby1yb3V0ZSAuY3MtY29udGFpbmVyX19pbm5lciB1bC5idXR0b25zLXNldCBidXR0b24sIGJvZHkuY21zLW5vLXJvdXRlIC5jcy1jb250YWluZXJfX3Jldmlld3MgdWwuYnV0dG9ucy1zZXQgYnV0dG9uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuYm9keS5jbXMtbm8tcm91dGUgLmNvbHVtbnMgLmNvbHVtbi5tYWluIHtcbiAgcGFkZGluZzogNDVweCAxNXB4ICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogMTM4cmVtO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuICBib2R5LmNtcy1uby1yb3V0ZSAuY29sdW1ucyAuY29sdW1uLm1haW4gaDEge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtZmFtaWx5OiAyOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgYm9keS5jbXMtbm8tcm91dGUgLmNvbHVtbnMgLmNvbHVtbi5tYWluIGgyLCBib2R5LmNtcy1uby1yb3V0ZSAuY29sdW1ucyAuY29sdW1uLm1haW4gaDMge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICBib2R5LmNtcy1uby1yb3V0ZSAuY29sdW1ucyAuY29sdW1uLm1haW4gdWwuYnV0dG9ucy1zZXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAyMHB4IDAgMDsgfVxuICAgIGJvZHkuY21zLW5vLXJvdXRlIC5jb2x1bW5zIC5jb2x1bW4ubWFpbiB1bC5idXR0b25zLXNldCBidXR0b24ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi5jcy1jb250YWluZXIge1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgLmNzLWNvbnRhaW5lcl9faW5uZXIsIC5jcy1jb250YWluZXJfX3Jldmlld3Mge1xuICAgIG1heC13aWR0aDogMTI0cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jcy1jb250YWluZXJfX2lubmVyOmJlZm9yZSwgLmNzLWNvbnRhaW5lcl9fcmV2aWV3czpiZWZvcmUsIC5jcy1jb250YWluZXJfX2lubmVyOmFmdGVyLCAuY3MtY29udGFpbmVyX19yZXZpZXdzOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5jcy1jb250YWluZXJfX2lubmVyLS1mbGV4IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1jb250YWluZXJfX2lubmVyLS1mbGV4IHtcbiAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG4gICAgICAuY3MtY29udGFpbmVyX19pbm5lci0tZmxleDphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWNvbnRhaW5lcl9fYXNpZGUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX2FzaWRlIHtcbiAgICAgICAgd2lkdGg6IDMzJTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX2FzaWRlIHtcbiAgICAgICAgd2lkdGg6IDI0LjglOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fYXNpZGUge1xuICAgICAgICB3aWR0aDogMjQuOCU7IH0gfVxuICAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbiB7XG4gICAgd2lkdGg6IDU2JTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fbWFpbi1jb2x1bW4ge1xuICAgICAgICB3aWR0aDogNjUlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fbWFpbi1jb2x1bW4ge1xuICAgICAgICB3aWR0aDogNzEuNCU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiA3MS40JTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX21haW4tY29sdW1uIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgLnBhZ2UtcHJvZHVjdC1idW5kbGUgLmNzLWNvbnRhaW5lcl9fbWFpbi1jb2x1bW4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX21haW4tY29sdW1uLS1zcGFjZS10b3Age1xuICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTsgfSB9XG4gIC5jcy1jb250YWluZXJfX3Jldmlld3Mge1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX3Jldmlld3Mge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgICAgICBwYWRkaW5nOiAwIDJyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19yZXZpZXdzIHtcbiAgICAgICAgcGFkZGluZzogMnJlbSAwIDA7IH0gfVxuICAgIC5jcy1jb250YWluZXJfX3Jldmlld3M6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5jcy1jb250YWluZXJfX2NhcnQtY291cG9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fY2FydC1jb3Vwb25zIHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG4gIC5jcy1jb250YWluZXItLWNvbnRyYXN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXItLWNvbnRyYXN0IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2JhY2tncm91bmQucG5nXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9IH1cbiAgLmNzLWNvbnRhaW5lci0tdG9wLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIC5jcy1jb250YWluZXItLXNwYWNpb3VzIHtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyLS1zcGFjaW91cyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNzLWNvbnRhaW5lci0tc3BhY2lvdXMsXG4gICAgICAuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLmNzLWNvbnRhaW5lci0tc3BhY2lvdXMge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gIC5jcy1jb250YWluZXItLWltYWdlLXRlYXNlci13aW5kb3ctd2lkdGgsIC5jcy1jb250YWluZXItLXN0b3JlLWxvY2F0b3Ige1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5jcy1jb250YWluZXItLWdyaWQtdGVhc2VyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5jcy1jb250YWluZXItLWhlcm8tdGVhc2VyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5jcy1jb250YWluZXItLW5vc2Nyb2xsIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWNvbnRhaW5lci0tcGRwIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgLmNzLWNvbnRhaW5lci0tdXNwcyAuY3MtY29udGFpbmVyLS1oZWFkbGluZSB7XG4gICAgcGFkZGluZzogMDsgfVxuICAuY3MtY29udGFpbmVyLS1jcmVhdGUtYWNjb3VudC1wYWdlLCAuY3MtY29udGFpbmVyLS1sb2dpbi1wYWdlLCAuY3MtY29udGFpbmVyLS1zdWNjZXNzLXBhZ2UsIC5jcy1jb250YWluZXItLWxvZ291dC1wYWdlIHtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyLS1jcmVhdGUtYWNjb3VudC1wYWdlLCAuY3MtY29udGFpbmVyLS1sb2dpbi1wYWdlLCAuY3MtY29udGFpbmVyLS1zdWNjZXNzLXBhZ2UsIC5jcy1jb250YWluZXItLWxvZ291dC1wYWdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDRyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4cmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gIC5jcy1jb250YWluZXItLW15LWFjY291bnQtcGFnZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9IH1cbiAgLmNzLWNvbnRhaW5lci0tb250b3Age1xuICAgIHotaW5kZXg6IDMwMTsgfVxuICAuY3MtY29udGFpbmVyLS12aWV3cG9ydC13aWR0aCB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgLmNzLWNvbnRhaW5lci0tcGFnZS1wZHAtZGV0YWlscy1hd19wcV9hamF4X2NvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLmNzLWNvbnRhaW5lci0tY2FydC1wYWdlIC5jcy1jb250YWluZXItLXByb2R1Y3RzLWNhcm91c2VsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuY3MtY29udGFpbmVyLS1jYXJ0LXBhZ2UgLmNzLWNvbnRhaW5lci0taGVhZGxpbmUge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5jcy1jb250YWluZXItLWNtcy10ZWFzZXIge1xuICAgIG1hcmdpbi10b3A6IDJyZW07IH1cbiAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSBhbmQgKGdyaWQtYXV0by1mbG93OiByb3cpIHtcbiAgICAuY3MtY29udGFpbmVyLS1ncmlkLXRlYXNlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfSB9XG5cbi5jb250YWN0LWluZGV4LWluZGV4IC5jcy1icmVhZGNydW1icyB7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDsgfVxuXG4uY29udGFjdC1pbmRleC1pbmRleCAuY3MtY21zLWNvbnRhY3QtZm9ybSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgbWFyZ2luOiAyMHB4IDAgODBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jbXMtY29udGFjdC1mb3JtIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXJnaW46IDIwcHggMCA0NXB4OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9faW5uZXIsIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX3Jldmlld3Mge1xuICAgIHBhZGRpbmc6IDAgMTVweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyIC5jb250YWN0LWZvcm0sIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX3Jldmlld3MgLmNvbnRhY3QtZm9ybSB7XG4gICAgZmxleDogMSAxIDY4JTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyIC5jb250YWN0LWZvcm0sIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX3Jldmlld3MgLmNvbnRhY3QtZm9ybSB7XG4gICAgb3JkZXI6IDI7IH0gfVxuXG4uY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1mb3JtIGZpZWxkc2V0LmZpZWxkc2V0LCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWZvcm0gZmllbGRzZXQuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cbiAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9faW5uZXIgLmNvbnRhY3QtZm9ybSBmaWVsZHNldC5maWVsZHNldCBoMywgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyAuY29udGFjdC1mb3JtIGZpZWxkc2V0LmZpZWxkc2V0IGgzIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1mb3JtIGZpZWxkc2V0LmZpZWxkc2V0IGgzLCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWZvcm0gZmllbGRzZXQuZmllbGRzZXQgaDMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH0gfVxuICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1mb3JtIGZpZWxkc2V0LmZpZWxkc2V0ID4gc3BhbiwgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyAuY29udGFjdC1mb3JtIGZpZWxkc2V0LmZpZWxkc2V0ID4gc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyIC5jb250YWN0LWZvcm0gLmZvcm0gLmZpZWxkICsgLmZpZWxkLCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWZvcm0gLmZvcm0gLmZpZWxkICsgLmZpZWxkIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDAuMDFlbSkge1xuICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1mb3JtIC5mbGV4LXJvdywgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyAuY29udGFjdC1mb3JtIC5mbGV4LXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQwLjAxZW0pIHtcbiAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9faW5uZXIgLmNvbnRhY3QtZm9ybSAuZmxleC1yb3cgLmZpZWxkLCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWZvcm0gLmZsZXgtcm93IC5maWVsZCB7XG4gICAgZmxleDogMSAxIDQ4JTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0MC4wMWVtKSB7XG4gIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyIC5jb250YWN0LWZvcm0gLmZsZXgtcm93IC5maWVsZDpsYXN0LWNoaWxkLCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWZvcm0gLmZsZXgtcm93IC5maWVsZDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDsgfSB9XG5cbi5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyIC5jb250YWN0LWZvcm0gLnByaW1hcnksIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX3Jldmlld3MgLmNvbnRhY3QtZm9ybSAucHJpbWFyeSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyIC5jb250YWN0LWFkZHJlc3MsIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX3Jldmlld3MgLmNvbnRhY3QtYWRkcmVzcyB7XG4gIGJhY2tncm91bmQ6ICNGNEY0RjQ7XG4gIHBhZGRpbmc6IDIwcHggMjVweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyIC5jb250YWN0LWFkZHJlc3MsIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX3Jldmlld3MgLmNvbnRhY3QtYWRkcmVzcyB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyIC5jb250YWN0LWFkZHJlc3MsIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX3Jldmlld3MgLmNvbnRhY3QtYWRkcmVzcyB7XG4gICAgICBvcmRlcjogMTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDsgfSB9XG4gIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyIC5jb250YWN0LWFkZHJlc3NfX2l0ZW0sIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX3Jldmlld3MgLmNvbnRhY3QtYWRkcmVzc19faXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9faW5uZXIgLmNvbnRhY3QtYWRkcmVzc19faXRlbSwgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyAuY29udGFjdC1hZGRyZXNzX19pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfSB9XG4gIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyIC5jb250YWN0LWFkZHJlc3MgcCwgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyAuY29udGFjdC1hZGRyZXNzIHAge1xuICAgIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyIC5jb250YWN0LWFkZHJlc3MgcCwgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyAuY29udGFjdC1hZGRyZXNzIHAsXG4gICAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9faW5uZXIgLmNvbnRhY3QtYWRkcmVzcyBzcGFuLFxuICAgIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX3Jldmlld3MgLmNvbnRhY3QtYWRkcmVzcyBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9IH1cbiAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9faW5uZXIgLmNvbnRhY3QtYWRkcmVzcyAuaWNvbi10ZXh0LCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWFkZHJlc3MgLmljb24tdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1hZGRyZXNzIC5pY29uLXRleHQ6YmVmb3JlLCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWFkZHJlc3MgLmljb24tdGV4dDpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMHB4IDE1cHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDVweDtcbiAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgaGVpZ2h0OiAxNXB4OyB9XG4gIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyIC5jb250YWN0LWFkZHJlc3MgLmljb24tbG9jYXRpb246YmVmb3JlLCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWFkZHJlc3MgLmljb24tbG9jYXRpb246YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvbWFwLXBpbi5zdmdcIik7IH1cbiAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9faW5uZXIgLmNvbnRhY3QtYWRkcmVzcyAuaWNvbi1waG9uZTpiZWZvcmUsIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX3Jldmlld3MgLmNvbnRhY3QtYWRkcmVzcyAuaWNvbi1waG9uZTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9waG9uZS1kYXJrLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cbiAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9faW5uZXIgLmNvbnRhY3QtYWRkcmVzcyAuaWNvbi1lbWFpbDpiZWZvcmUsIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX3Jldmlld3MgLmNvbnRhY3QtYWRkcmVzcyAuaWNvbi1lbWFpbDpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9lbWFpbEAxeC5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIHdpZHRoOiAxN3B4O1xuICAgIHRvcDogNnB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9faW5uZXIgLmNvbnRhY3QtYWRkcmVzcywgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyAuY29udGFjdC1hZGRyZXNzIHtcbiAgICAgIGZsZXg6IDEgMSAzMyU7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OC4wMWVtKSB7XG4gIC5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoLW5hcnJvdyAuY29sdW1ucyAuY3MtY29udGFpbmVyLS1icmFuZC1jYXJvdXNlbCxcbiAgLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGggLmNvbHVtbnMgLmNzLWNvbnRhaW5lci0tYnJhbmQtY2Fyb3VzZWwsXG4gIC5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LTFjb2x1bSAuY29sdW1ucyAuY3MtY29udGFpbmVyLS1icmFuZC1jYXJvdXNlbCB7XG4gICAgbWFyZ2luLXRvcDogNDVweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gIC5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoLW5hcnJvdyAuY29sdW1ucyAuY3MtY29udGFpbmVyLS1icmFuZC1jYXJvdXNlbCxcbiAgLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGggLmNvbHVtbnMgLmNzLWNvbnRhaW5lci0tYnJhbmQtY2Fyb3VzZWwsXG4gIC5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LTFjb2x1bSAuY29sdW1ucyAuY3MtY29udGFpbmVyLS1icmFuZC1jYXJvdXNlbCB7XG4gICAgbWFyZ2luLXRvcDogMzVweDsgfSB9XG5cbi5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoLW5hcnJvdyAuY3MtY29udGFpbmVyLS1icmVhZGNydW1icyAuY3MtYnJlYWRjcnVtYnMsXG4uY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aCAuY3MtY29udGFpbmVyLS1icmVhZGNydW1icyAuY3MtYnJlYWRjcnVtYnMsXG4uY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC0xY29sdW0gLmNzLWNvbnRhaW5lci0tYnJlYWRjcnVtYnMgLmNzLWJyZWFkY3J1bWJzIHtcbiAgcGFkZGluZy10b3A6IDEuNXJlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgIC5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoLW5hcnJvdyAuY3MtY29udGFpbmVyLS1icmVhZGNydW1icyAuY3MtYnJlYWRjcnVtYnMsXG4gICAgLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGggLmNzLWNvbnRhaW5lci0tYnJlYWRjcnVtYnMgLmNzLWJyZWFkY3J1bWJzLFxuICAgIC5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LTFjb2x1bSAuY3MtY29udGFpbmVyLS1icmVhZGNydW1icyAuY3MtYnJlYWRjcnVtYnMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG5cbi5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoLW5hcnJvdyAuY29sdW1ucyAuY29sdW1uLm1haW4sXG4uY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aCAuY29sdW1ucyAuY29sdW1uLm1haW4sXG4uY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC0xY29sdW0gLmNvbHVtbnMgLmNvbHVtbi5tYWluIHtcbiAgcGFkZGluZy10b3A6IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4LjAxZW0pIHtcbiAgICAuY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aC1uYXJyb3cgLmNvbHVtbnMgLmNvbHVtbi5tYWluLFxuICAgIC5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoIC5jb2x1bW5zIC5jb2x1bW4ubWFpbixcbiAgICAuY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC0xY29sdW0gLmNvbHVtbnMgLmNvbHVtbi5tYWluIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAuY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aC1uYXJyb3cgLmNvbHVtbnMgLmNvbHVtbi5tYWluLFxuICAgIC5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoIC5jb2x1bW5zIC5jb2x1bW4ubWFpbixcbiAgICAuY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC0xY29sdW0gLmNvbHVtbnMgLmNvbHVtbi5tYWluIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4OyB9IH1cblxuLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGgtbmFycm93IC5jcy1jb250YWluZXItLWJyZWFkY3J1bWJzIC5jcy1jb250YWluZXJfX2lubmVyLCAuY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aC1uYXJyb3cgLmNzLWNvbnRhaW5lci0tYnJlYWRjcnVtYnMgLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyxcbi5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoLW5hcnJvdyAuY29sdW1ucyAuY3MtY29udGFpbmVyOm5vdCguY3MtY29udGFpbmVyLS1icmFuZC1jYXJvdXNlbCkgLmNzLWNvbnRhaW5lcl9faW5uZXIsXG4uY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aC1uYXJyb3cgLmNvbHVtbnMgLmNzLWNvbnRhaW5lcjpub3QoLmNzLWNvbnRhaW5lci0tYnJhbmQtY2Fyb3VzZWwpIC5jcy1jb250YWluZXJfX3Jldmlld3Mge1xuICBtYXgtd2lkdGg6IDEwM3JlbTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbmJvZHksXG5odG1sIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMHZ3OyB9XG5cbi5uby1zY3JvbGwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDsgfVxuXG4ubm8tc2Nyb2xsLWNoaWxkIHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuICFpbXBvcnRhbnQ7IH1cblxuI21haW5jb250ZW50IHtcbiAgZmxleDogMSAwIGF1dG87IH1cblxuLnBhZ2Utd3JhcHBlciB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGFnZS13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsgfSB9XG5cbi5jb2x1bW5zIC5jb2x1bW4ubWFpbiB7XG4gIHdpZHRoOiBhdXRvO1xuICBwYWRkaW5nOiAycmVtIDAgMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMHJlbTsgfVxuXG4ucGFnZS1sYXlvdXQtMWNvbHVtbiAucHJvZHVjdC1pbmZvLXdyYXBwZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wYWdlLWxheW91dC0xY29sdW1uIC5wcm9kdWN0LWluZm8td3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiA0MCU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wYWdlLWxheW91dC0xY29sdW1uIC5wcm9kdWN0LWluZm8td3JhcHBlciB7XG4gICAgICB3aWR0aDogMzAlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnBhZ2UtbGF5b3V0LTJjb2x1bW5zLWxlZnQgLnNpZGViYXItbWFpbixcbiAgLnBhZ2UtbGF5b3V0LTJjb2x1bW5zLWxlZnQgLnNpZGViYXItYWRkaXRpb25hbCB7XG4gICAgd2lkdGg6IDIyLjUlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2YwZjBmMDsgfSB9XG5cbi5pZTExIC5wYWdlLXdyYXBwZXIge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbmEge1xuICBjb2xvcjogI0ZGNDYwNDsgfVxuICBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAjRkY0NjA0OyB9XG4gIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjRkY3NDQyOyB9XG5cbi5naWZ0LW9wdGlvbnMtY2FydC1pdGVtIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAucGF5cGFsLWV4cHJlc3MtcmV2aWV3IC5wYWdlLXRpdGxlLXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDAgMS41cmVtOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgLnBheXBhbC1yZXZpZXcudmlldyAuY3MtY2FydC1pdGVtX19wcmljZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLnBheXBhbC1yZXZpZXcudmlldyAuY3MtY2FydC1pdGVtX19zdWJ0b3RhbCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnBheXBhbC1yZXZpZXcudmlldyB7XG4gICAgcGFkZGluZzogMCAxLjVyZW07IH0gfVxuXG4ucGF5cGFsLWV4cHJlc3MtaW4tY29udGV4dC1taW5pLWNhcnQtY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogMXJlbTsgfVxuXG4ucGF5cGFsLXJldmlldy1kaXNjb3VudCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLmFtYXpvbi1idXR0b24tY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB6LWluZGV4OiAzMDM7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYW1hem9uLWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAzMnJlbTsgfSB9XG4gIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lciBpbWcge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGw6bnRoLWNoaWxkKDIpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWluLXdpZHRoOiAzcmVtO1xuICAgIGxlZnQ6IGNhbGMoMTAwJSArIDAuNnJlbSk7XG4gICAgdG9wOiAxLjlyZW07IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMjkuOTllbSkge1xuICAgICAgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIGxlZnQ6IGNhbGMoMTAwJSArIDAuOHJlbSk7IH0gfVxuICAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudCB7XG4gICAgd2lkdGg6IDI1cmVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAycHggcmdiYSgwLCAwLCAwLCAwLjE3KTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgcGFkZGluZzogMC44cmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDI4cmVtOyB9IH1cbiAgICAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDpiZWZvcmUge1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjNkU2RTZFOyB9XG4gICAgLmFtYXpvbi1taW5pY2FydC1jb250YWluZXIgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQsXG4gICAgLmNzLWNhcnQtc3VtbWFyeSAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudCB7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBib3R0b206IDQycHg7XG4gICAgICBsZWZ0OiAtMjEwcHg7XG4gICAgICByaWdodDogYXV0bzsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmFtYXpvbi1taW5pY2FydC1jb250YWluZXIgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQsXG4gICAgICAgIC5jcy1jYXJ0LXN1bW1hcnkgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQge1xuICAgICAgICAgIGxlZnQ6IC0yNTBweDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuYW1hem9uLW1pbmljYXJ0LWNvbnRhaW5lciAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudCxcbiAgICAgICAgLmNzLWNhcnQtc3VtbWFyeSAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudCB7XG4gICAgICAgICAgbGVmdDogLTIzMnB4OyB9IH1cbiAgICAgIC5hbWF6b24tbWluaWNhcnQtY29udGFpbmVyIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmJlZm9yZSwgLmFtYXpvbi1taW5pY2FydC1jb250YWluZXIgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YWZ0ZXIsXG4gICAgICAuY3MtY2FydC1zdW1tYXJ5IC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmJlZm9yZSxcbiAgICAgIC5jcy1jYXJ0LXN1bW1hcnkgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgICB0b3A6IGNhbGMoMTAwJSArIDJyZW0pO1xuICAgICAgICBsZWZ0OiAyMTBweDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAuYW1hem9uLW1pbmljYXJ0LWNvbnRhaW5lciAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDpiZWZvcmUsIC5hbWF6b24tbWluaWNhcnQtY29udGFpbmVyIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmFmdGVyLFxuICAgICAgICAgIC5jcy1jYXJ0LXN1bW1hcnkgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YmVmb3JlLFxuICAgICAgICAgIC5jcy1jYXJ0LXN1bW1hcnkgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgICAgICAgYm90dG9tOiAtMTBweDtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDI1MHB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsgfSB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLmFtYXpvbi1taW5pY2FydC1jb250YWluZXIgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YmVmb3JlLCAuYW1hem9uLW1pbmljYXJ0LWNvbnRhaW5lciAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDphZnRlcixcbiAgICAgICAgICAuY3MtY2FydC1zdW1tYXJ5IC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmJlZm9yZSxcbiAgICAgICAgICAuY3MtY2FydC1zdW1tYXJ5IC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmFmdGVyIHtcbiAgICAgICAgICAgIGxlZnQ6IDIzMnB4OyB9IH1cbiAgICAgIC5hbWF6b24tbWluaWNhcnQtY29udGFpbmVyIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmJlZm9yZSxcbiAgICAgIC5jcy1jYXJ0LXN1bW1hcnkgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogMjEwcHg7IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgICAgICAuYW1hem9uLW1pbmljYXJ0LWNvbnRhaW5lciAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDpiZWZvcmUsXG4gICAgICAgICAgLmNzLWNhcnQtc3VtbWFyeSAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLmFtYXpvbi1taW5pY2FydC1jb250YWluZXIgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YmVmb3JlLFxuICAgICAgICAgIC5jcy1jYXJ0LXN1bW1hcnkgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YmVmb3JlIHtcbiAgICAgICAgICAgIGxlZnQ6IDI1MXB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsgfSB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLmFtYXpvbi1taW5pY2FydC1jb250YWluZXIgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YmVmb3JlLFxuICAgICAgICAgIC5jcy1jYXJ0LXN1bW1hcnkgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YmVmb3JlIHtcbiAgICAgICAgICAgIGxlZnQ6IDIzM3B4OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5hbWF6b24tbWluaWNhcnQtY29udGFpbmVyIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmFmdGVyLFxuICAgICAgICAuY3MtY2FydC1zdW1tYXJ5IC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWNhcnQtc3VtbWFyeSAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDpiZWZvcmUsIC5jcy1jYXJ0LXN1bW1hcnkgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgICB0b3A6IGNhbGMoMTAwJSArIDJyZW0pO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9IH1cblxuLmllMTEgc291cmNlIHtcbiAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxuLy9cbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuOVxuLy9cbi8vICAgICAgICAgICAgICAgIGh0dHA6Ly9pbmNsdWRlLW1lZGlhLmNvbVxuLy9cbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxuLy8gICAgICAgICAgICAgICAgICBIdWdvIEdpcmF1ZGVsIChAaHVnb2dpcmF1ZGVsKVxuLy9cbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2VcblxuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xuLy8vXG4kYnJlYWtwb2ludHM6IChcbiAgJ3Bob25lJzogMzIwcHgsXG4gICd0YWJsZXQnOiA3NjhweCxcbiAgJ2Rlc2t0b3AnOiAxMDI0cHhcbikgIWRlZmF1bHQ7XG5cblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xuLy8vICApO1xuLy8vXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcbiAgJ3NjcmVlbic6ICdzY3JlZW4nLFxuICAncHJpbnQnOiAncHJpbnQnLFxuICAnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxuICAnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXG4gICdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXG4gICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAobWluLXJlc29sdXRpb246IDJkcHB4KScsXG4gICdyZXRpbmEzeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KSdcbikgIWRlZmF1bHQ7XG5cblxuLy8vXG4vLy8gRGVmaW5lcyBhIG51bWJlciB0byBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gZWFjaCB1bml0IHdoZW4gZGVjbGFyaW5nIGJyZWFrcG9pbnRzIHdpdGggZXhjbHVzaXZlIGludGVydmFsc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjEyOHB4Jykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAxMjlweCkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yMGVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyMC4wMWVtKSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2Bcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yLjByZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIuMXJlbSkge31cbi8vL1xuJHVuaXQtaW50ZXJ2YWxzOiAoXG4gICdweCc6IDEsXG4gICdlbSc6IDAuMDEsXG4gICdyZW0nOiAwLjEsXG4gICcnOiAwXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgIC5mb28ge1xuLy8vICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nLCAncG9ydHJhaXQnLCAnbGFuZHNjYXBlJykgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBDcm9zcy1lbmdpbmUgbG9nZ2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XG4gICAgQGVycm9yICRtZXNzYWdlO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAkbWVzc2FnZTtcbiAgICAkXzogbm9vcCgpO1xuICB9XG5cbiAgQHJldHVybiAkbWVzc2FnZTtcbn1cblxuXG4vLy9cbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBpbS1sb2coJG1lc3NhZ2UpIHt9XG59XG5cblxuLy8vXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXG4vLy9cbkBmdW5jdGlvbiBub29wKCkge31cblxuLy8vXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy9cbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XG4gICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xuXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xuICAgIEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7fVxuICB9XG5cbiAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XG4gICAgQGlmIG5vdCBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XG4gICAgICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgICAgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcblxuICAgICAgLy8gc2Nzcy1saW50OmRpc2FibGUgU3BhY2VBcm91bmRPcGVyYXRvclxuICAgICAgQGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXG4gICAgICAgICAgKCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSB7XG4gICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiBub3QgaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vL1xuLy8vIFBhcnNpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBvcGVyYXRvciBmcm9tXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XG4gIEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xuICAgIEBpZiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAgICAgQHJldHVybiAkb3BlcmF0b3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IGRpbWVuc2lvbiBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGB3aWR0aGAgb3IgYGhlaWdodGAgKG9yIHBvdGVudGlhbGx5IGFueXRoaW5nIGVsc2UpXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHBhcnNlZC1kaW1lbnNpb246IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgMCwgJG9wZXJhdG9yLWluZGV4IC0gMSk7XG4gICRkaW1lbnNpb246ICd3aWR0aCc7XG5cbiAgQGlmIHN0ci1sZW5ndGgoJHBhcnNlZC1kaW1lbnNpb24pID4gMCB7XG4gICAgJGRpbWVuc2lvbjogJHBhcnNlZC1kaW1lbnNpb247XG4gIH1cblxuICBAcmV0dXJuICRkaW1lbnNpb247XG59XG5cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBwcmVmaXggYmFzZWQgb24gYW4gb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKSB7XG4gIEByZXR1cm4gaWYoaW5kZXgoKCc8JywgJzw9JywgJ+KJpCcpLCAkb3BlcmF0b3IpLCAnbWF4JywgJ21pbicpO1xufVxuXG5cbi8vL1xuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICR2YWx1ZTogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAkb3BlcmF0b3ItaW5kZXggKyBzdHItbGVuZ3RoKCRvcGVyYXRvcikpO1xuXG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgICR2YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICR2YWx1ZSk7XG4gIH0gQGVsc2Uge1xuICAgICR2YWx1ZTogdG8tbnVtYmVyKCR2YWx1ZSk7XG4gIH1cblxuICAkaW50ZXJ2YWw6IG1hcC1nZXQoJHVuaXQtaW50ZXJ2YWxzLCB1bml0KCR2YWx1ZSkpO1xuXG4gIEBpZiBub3QgJGludGVydmFsIHtcbiAgICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gICAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAgIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgICAkXzogaW0tbG9nKCdVbmtub3duIHVuaXQgYCN7dW5pdCgkdmFsdWUpfWAuJyk7XG4gIH1cblxuICBAaWYgJG9wZXJhdG9yID09ICc+JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XG4gIH0gQGVsc2UgaWYgJG9wZXJhdG9yID09ICc8JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuXG4vLy9cbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2Vcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxuLy8vXG5AZnVuY3Rpb24gcGFyc2UtZXhwcmVzc2lvbigkZXhwcmVzc2lvbikge1xuICAvLyBJZiBpdCBpcyBwYXJ0IG9mICRtZWRpYS1leHByZXNzaW9ucywgaXQgaGFzIG5vIG9wZXJhdG9yXG4gIC8vIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBnbyBhbnkgZnVydGhlciwganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gIEBpZiBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pO1xuICB9XG5cbiAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbik7XG4gICRkaW1lbnNpb246IGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG5cbiAgQHJldHVybiAnKCN7JHByZWZpeH0tI3skZGltZW5zaW9ufTogI3skdmFsdWV9KSc7XG59XG5cbi8vL1xuLy8vIFNsaWNlIGAkbGlzdGAgYmV0d2VlbiBgJHN0YXJ0YCBhbmQgYCRlbmRgIGluZGV4ZXNcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc2xpY2Vcbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0YXJ0IFsxXSAtIFN0YXJ0IGluZGV4XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRlbmQgW2xlbmd0aCgkbGlzdCldIC0gRW5kIGluZGV4XG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fSBTbGljZWQgbGlzdFxuLy8vXG5AZnVuY3Rpb24gc2xpY2UoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGVuZ3RoKCRsaXN0KSkge1xuICBAaWYgbGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XG4gICAgQHJldHVybiAoKTtcbiAgfVxuXG4gICRyZXN1bHQ6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcbiAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRsaXN0LCAkaSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLy8vXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XG4vLy9cbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XG4gICAgJF86IGltLWxvZygnVmFsdWUgZm9yIGB0by1udW1iZXJgIHNob3VsZCBiZSBhIG51bWJlciBvciBhIHN0cmluZy4nKTtcbiAgfVxuXG4gICRmaXJzdC1jaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsIDEsIDEpO1xuICAkcmVzdWx0OiAwO1xuICAkZGlnaXRzOiAwO1xuICAkbWludXM6ICgkZmlyc3QtY2hhcmFjdGVyID09ICctJyk7XG4gICRudW1iZXJzOiAoJzAnOiAwLCAnMSc6IDEsICcyJzogMiwgJzMnOiAzLCAnNCc6IDQsICc1JzogNSwgJzYnOiA2LCAnNyc6IDcsICc4JzogOCwgJzknOiA5KTtcblxuICAvLyBSZW1vdmUgKy8tIHNpZ24gaWYgcHJlc2VudCBhdCBmaXJzdCBjaGFyYWN0ZXJcbiAgQGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xuICAgICR2YWx1ZTogc3RyLXNsaWNlKCR2YWx1ZSwgMik7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHZhbHVlKSB7XG4gICAgJGNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgJGksICRpKTtcblxuICAgIEBpZiBub3QgKGluZGV4KG1hcC1rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcbiAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHItc2xpY2UoJHZhbHVlLCAkaSkpXG4gICAgfVxuXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcbiAgICAgICRkaWdpdHM6IDE7XG4gICAgfSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3RlcikgLyAkZGlnaXRzO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XG59XG5cblxuLy8vXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXG4vLy9cbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xuICAkdW5pdHM6ICgncHgnOiAxcHgsICdjbSc6IDFjbSwgJ21tJzogMW1tLCAnJSc6IDElLCAnY2gnOiAxY2gsICdwYyc6IDFwYywgJ2luJzogMWluLCAnZW0nOiAxZW0sICdyZW0nOiAxcmVtLCAncHQnOiAxcHQsICdleCc6IDFleCwgJ3Z3JzogMXZ3LCAndmgnOiAxdmgsICd2bWluJzogMXZtaW4sICd2bWF4JzogMXZtYXgpO1xuXG4gIEBpZiBub3QgaW5kZXgobWFwLWtleXMoJHVuaXRzKSwgJHVuaXQpIHtcbiAgICAkXzogaW0tbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlICogbWFwLWdldCgkdW5pdHMsICR1bml0KTtcbn1cblxuLy8vXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxuLy8vIGZvciBpbnN0YW5jZS5cbi8vL1xuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XG5cbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogbWFwLW1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC1tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcblxuICBAY29udGVudDtcblxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcbn1cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XG4vLy9cbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBTcGFjZUFyb3VuZE9wZXJhdG9yXG4gIEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPT0gMCkgb3JcbiAgICAgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH0gQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xuICAgIEBtZWRpYSAje3VucXVvdGUocGFyc2UtZXhwcmVzc2lvbihudGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcbiAgICAgIC8vIFJlY3Vyc2l2ZSBjYWxsXG4gICAgICBAaW5jbHVkZSBtZWRpYShzbGljZSgkY29uZGl0aW9ucywgMikuLi4pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG4vLyBUT0RPOiBSZW1vdmUgYWZ0ZXIgZ2V0dGluZyByaWQgb2YgdGhlc2UgZnJvbSB0ZW1wbGF0ZXNcbi5jcy1oaWRlLWxhcHRvcCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJywgJzxsYXB0b3BMZycpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCAqL1xuICAgIH1cbn1cblxuLmNzLWhpZGUtdGFibGV0IHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGxhcHRvcCcpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCAqL1xuICAgIH1cbn1cblxuLmNzLW5vLWRpc3BsYXkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQgKi9cbn1cblxuLmNzLWFzcGVjdC1yYXRpbyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy10b3A6IDU2LjI1JTtcblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuXG4vKipcbiAqIE1peGlucyBmb3IgZmxleGlibGUgY29udGFpbmVycyBkZWNsYXJhdGlvbi5cbiAqL1xuXG4vKipcbiAqIERlZmluZXMgcGFnZSBjb250YWluZXIuIFRoaXMgbWl4aW4gbWFrZXMgc3VyZSB0aGF0IHRoZSBjb250ZW50IGhhcyBhbHdheXMgZXF1YWwgcGFkZGluZ1xuICogZm9yIG1vYmlsZSBzY3JlZW5zIG9uIGJvdGggc2l6ZSBvZiB0aGUgZGV2aWNlLlxuICovXG5AbWl4aW4gY29udGFpbmVyKCRob3Jpem9udGFsLXBhZGRpbmc6ICRwYWdlX2VkZ2UtZ3V0dGVyKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkaG9yaXpvbnRhbC1wYWRkaW5nO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRob3Jpem9udGFsLXBhZGRpbmc7XG59XG5cbi8qKlxuICogTmVnYXRlcyBwYXJlbnQgY29udGFpbmVyJ3MgcGFkZGluZyBhbmQgc2V0cyBpdCBvd24uXG4gKiBTb21ldGhpbWVzIHRoaXMgaGFzIHRvIGJlIGRvbmUgdG8gbWFrZSBiYWNrZ3JvdW5kIGV2ZW4gdG8gb3RoZXIgY29udGFpbmVycycgY29udGVudC5cbiAqL1xuQG1peGluIGNvbnRhaW5lci1uZWdhdGVkKCRob3Jpem9udGFsLXBhZGRpbmc6ICRwYWdlX2VkZ2UtZ3V0dGVyKSB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyKCRob3Jpem9udGFsLXBhZGRpbmcpO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGhvcml6b250YWwtcGFkZGluZztcbiAgICBtYXJnaW4tcmlnaHQ6IC0kaG9yaXpvbnRhbC1wYWRkaW5nO1xufVxuXG4vKipcbiAqIERlZmluZXMgY29udGFpbmVyIHdyYXBwZXIgdGhhdCBtYWtlcyBzdXJlIGNvbnRuZXQgZG9lc24ndCBleHRlbmQgYWJvdmUgY2VydGFpbiB3aWR0aCBhbmQgaXMgYWx3YXlzIGNlbnRlcmVkLlxuICovXG5AbWl4aW4gY29udGFpbmVyLXdyYXBwZXIoJG1heC13aWR0aDogJHBhZ2VfbWF4LXdpZHRoKSB7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuIiwiYm9keS5jbXMtbm8tcm91dGUge1xuICAgIC5jcy1jb250YWluZXJfX2lubmVyIHtcbiAgICAgICAgaDEge1xuICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAyOHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaDIsaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICB1bC5idXR0b25zLXNldCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcblxuICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNvbHVtbnMge1xuICAgICAgICAuY29sdW1uLm1haW4ge1xuICAgICAgICAgICAgcGFkZGluZzogNDVweCAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEzOHJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IDI4cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaDIsaDMge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwuYnV0dG9ucy1zZXQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcblxuICAgICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRhaW5lci9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRhaW5lci9uby1yb290JztcblxuJGNvbnRhaW5lcl9iYWNrZ3JvdW5kLXRvcC1iYXI6ICRjb2xvcl9iYWNrZ3JvdW5kLTUwMCAhZGVmYXVsdDtcbi4jeyRuc31jb250YWluZXIge1xuICAgICRyb290OiAmO1xuXG4gICAgQGluY2x1ZGUgY29udGFpbmVyKCk7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICZfX2lubmVyIHtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyLXdyYXBwZXIoKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWZsZXgge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYXNpZGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICB3aWR0aDogMzMlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgd2lkdGg6IDI0LjglO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAyNC44JTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21haW4tY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IDU2JTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiA2NSU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICB3aWR0aDogNzEuNCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgICAgICAgd2lkdGg6IDcxLjQlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAvL21pbi1oZWlnaHQ6IDMwcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQnVuZGxlIHByb2R1Y3RzIGRvIG5vdCBoYXZlIHN0aWNreSBidXlib3ggYW5kIHNob3VsZCBoYXZlIGFub3RoZXIgbGF5b3V0LlxuICAgICAgICAvLyBPbiB0YWJsZXQgZ2FsbGVyeSBjb3ZlcmVkIGJ1eWJveCBhbmQgYXMgYSByZXN1bHQgaXQgd2FzIGltcG9zc2libGUgdG8gY2xpY2sgYXQgYW55dGhpbmcgdGhlcmUuXG4gICAgICAgIC8vIENvZGUgYmVsb3cgc2hvdWxkIGJlIHJldmlld2VkIGR1cmluZyByZWZhY3RvcmluZyBjb250YWluZXJzIGFuZCBwZHAgKFBEUCAyLjApXG4gICAgICAgIC5wYWdlLXByb2R1Y3QtYnVuZGxlICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tc3BhY2UtdG9wIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Jldmlld3Mge1xuICAgICAgICBAZXh0ZW5kIC4jeyRuc31jb250YWluZXJfX2lubmVyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl93aGl0ZTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDJyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZzogMnJlbSAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgfVxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgICB9XG5cbiAgICAmX19jYXJ0LWNvdXBvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1jb250cmFzdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9nYWxsZXJ5O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2JhY2tncm91bmQucG5nJyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXRvcC1iYXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgICYtLXNwYWNpb3VzIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3ICYsXG4gICAgICAgIC5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWltYWdlLXRlYXNlci13aW5kb3ctd2lkdGgsXG4gICAgJi0tc3RvcmUtbG9jYXRvciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICAmLS1ncmlkLXRlYXNlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgICYtLWhlcm8tdGVhc2VyIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgICYtLW5vc2Nyb2xsIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAmLS1wZHAge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXVzcHMge1xuICAgICAgICAjeyRyb290fS0taGVhZGxpbmUge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWNyZWF0ZS1hY2NvdW50LXBhZ2UsXG4gICAgJi0tbG9naW4tcGFnZSxcbiAgICAmLS1zdWNjZXNzLXBhZ2UsXG4gICAgJi0tbG9nb3V0LXBhZ2Uge1xuICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDRyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogOHJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLW15LWFjY291bnQtcGFnZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1vbnRvcCB7XG4gICAgICAgIHotaW5kZXg6IDMwMTtcbiAgICB9XG5cbiAgICAmLS12aWV3cG9ydC13aWR0aCB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICAmLS1wYWdlLXBkcC1kZXRhaWxzLWF3X3BxX2FqYXhfY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tY2FydC1wYWdlIHtcbiAgICAgICAgI3skcm9vdH0tLXByb2R1Y3RzLWNhcm91c2VsIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0taGVhZGxpbmUge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWNtcy10ZWFzZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIH1cblxuICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkgYW5kIChncmlkLWF1dG8tZmxvdzogcm93KSB7XG4gICAgICAgICYtLWdyaWQtdGVhc2VyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY29udGFjdC1pbmRleC1pbmRleCB7XG4gICAgLmNzLWJyZWFkY3J1bWJzIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIH1cblxuICAgIC5jcy1jbXMtY29udGFjdC1mb3JtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBtYXJnaW46IDIwcHggMCA4MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDQ1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY3MtY29udGFpbmVyX19pbm5lciB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRhY3QtZm9ybSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZmxleDogMSAxIDY4JTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZpZWxkc2V0LmZpZWxkc2V0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcblxuICAgICAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZm9ybSAuZmllbGQgKyAuZmllbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5mbGV4LXJvdyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZUxnJykge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5maWVsZCB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IDEgMSA0OCU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZUxnJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByaW1hcnkge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRhY3QtYWRkcmVzcyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfbGlnaHQtZ3JheTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMjVweDtcblxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9faXRlbXtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICAgICBwLFxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaWNvbi10ZXh0e1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwcHggMTVweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaWNvbi1sb2NhdGlvbiB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvbWFwLXBpbi5zdmdcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaWNvbi1waG9uZXtcbiAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3Bob25lLWRhcmsuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaWNvbi1lbWFpbCB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvZW1haWxAMXguc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxN3B4O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDZweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDEgMzMlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoLW5hcnJvdyxcbi5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoLFxuLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtMWNvbHVte1xuICAgIC5jb2x1bW5zIC5jcy1jb250YWluZXItLWJyYW5kLWNhcm91c2Vse1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnRhYmxldCcpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQ1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNzLWNvbnRhaW5lci0tYnJlYWRjcnVtYnMge1xuICAgICAgICAuY3MtYnJlYWRjcnVtYnMge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEuNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmNvbHVtbnMgLmNvbHVtbi5tYWluIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aC1uYXJyb3d7XG4gICAgLmNzLWNvbnRhaW5lci0tYnJlYWRjcnVtYnMsXG4gICAgLmNvbHVtbnMgLmNzLWNvbnRhaW5lcjpub3QoLmNzLWNvbnRhaW5lci0tYnJhbmQtY2Fyb3VzZWwpe1xuICAgICAgICAuY3MtY29udGFpbmVyX19pbm5lciB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwM3JlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbXBvbmVudHMvY29udGFpbmVyL2NvbnRhaW5lcic7XG5AaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbiRuczogJ2NzLSc7XG4kbGF5b3V0X3BhZGRpbmc6ICRtYWluLWNvbHVtbl9wYWRkaW5nO1xuXG5ib2R5LFxuaHRtbCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwdnc7XG59XG5cbi5uby1zY3JvbGwge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbn1cblxuLm5vLXNjcm9sbC1jaGlsZCB7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuICFpbXBvcnRhbnQ7IC8vIE92ZXJmbG93IGhhcyBiZWVuIG1vdmVkIHRvIGNoaWxkIGVsZW1lbnQgaW4gb3JkZXIgdG8gbWFpbnRhaW4gdmlzaWJpbGl0eSBvZiBpdGVtcyBpbiB0aGUgYmFja2dyb3VuZFxufVxuXG4jbWFpbmNvbnRlbnQge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xufVxuXG4ucGFnZS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLmNvbHVtbnMgLmNvbHVtbi5tYWluIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAkbGF5b3V0X3BhZGRpbmc7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwcmVtO1xufVxuXG4ucGFnZS1sYXlvdXQtMWNvbHVtbiB7XG4gICAgLnByb2R1Y3QtaW5mby13cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgIC5wYWdlLWxheW91dC0yY29sdW1ucy1sZWZ0IHtcbiAgICAgICAgLnNpZGViYXItbWFpbixcbiAgICAgICAgLnNpZGViYXItYWRkaXRpb25hbCB7XG4gICAgICAgICAgICB3aWR0aDogMjIuNSU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGNvbG9yX2dhbGxlcnk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5pZTExIC5wYWdlLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbmEge1xuICAgIGNvbG9yOiAkbGluay1jb2xvcl9iYXNlO1xuXG4gICAgJjp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6ICRsaW5rLWNvbG9yX2Jhc2U7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkbGluay1jb2xvcl9iYXNlLWhvdmVyO1xuICAgIH1cbn1cblxuLmdpZnQtb3B0aW9ucy1jYXJ0LWl0ZW0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vUGF5cGFsIG1vZHVsZVxuLnBheXBhbC1leHByZXNzLXJldmlldyAucGFnZS10aXRsZS13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMS41cmVtO1xuICAgIH1cbn1cblxuLnBheXBhbC1yZXZpZXcudmlldyB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgIC4jeyRuc31jYXJ0LWl0ZW1fX3ByaWNlIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLiN7JG5zfWNhcnQtaXRlbV9fc3VidG90YWwge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbTtcbiAgICB9XG59XG5cbi5wYXlwYWwtZXhwcmVzcy1pbi1jb250ZXh0LW1pbmktY2FydC1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG59XG5cbi5wYXlwYWwtcmV2aWV3LWRpc2NvdW50IHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4vL0FtYXpvbiBQYXkgbG9naW4gYnV0dG9uXG5cbi8vVGhlIGhpZ2hlc3Qgb2YgYWxsIGFtYXpvbiBwYXkgY29udGFpbmVyc1xuLy9TaG91bGQgbm90IGJlIHRvbyBsb25nXG4vL2luIG1pbmljYXJ0LCBzYWxlIGJsb2NrLCBjaGVja291dCBzdW1tYXJ5IGl0IHNob3VsZCBiZSBjZW50ZXJcbi5hbWF6b24tYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAyNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHotaW5kZXg6IDMwMztcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMnJlbTtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgICZfX2NlbGwge1xuICAgICAgICAvL0luZm8gc2lnbiBlbGVtZW50IC0gaXMgcGxhY2VkIGFic29sdXRlbHkgdG8gbm90IHRha2UgcGxhY2Ugd2hlbiBidXR0b24gaXMgY2VudGVyZWRcbiAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAzcmVtO1xuICAgICAgICAgICAgbGVmdDogY2FsYygxMDAlICsgMC42cmVtKTtcbiAgICAgICAgICAgIHRvcDogMS45cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lJykge1xuICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGMoMTAwJSArIDAuOHJlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvL1Rvb2x0aXAgc3R5bGUgYW5kIHBvc2l0aW9uXG4gICAgICAgIC8vQXJyb3cgcG9zaXRpb25cbiAgICAgICAgLmZpZWxkLXRvb2x0aXAtY29udGVudCB7XG4gICAgICAgICAgICB3aWR0aDogMjVyZW07XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDVweCAycHggcmdiYSgwLCAwLCAwLCAwLjE3KTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMC44cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZUxnJykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyOHJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGNvbG9yX2dyYXk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vTW92ZSB0b29sdGlwIGZyb20gcmlnaHQgdG8gdG9wIGJlY2F1c2UgdGhlcmUgaXMgbm8gc3BhY2UgaW4gb3VyIHNob3BzIG9uIHRoZSByaWdodFxuICAgICAgICAgICAgLmFtYXpvbi1taW5pY2FydC1jb250YWluZXIgJixcbiAgICAgICAgICAgIC4jeyRuc31jYXJ0LXN1bW1hcnkgJiB7XG4gICAgICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogNDJweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMjEwcHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0yNTBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0yMzJweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBjYWxjKDEwMCUgKyAycmVtKTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMjEwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAyNTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAyMzJweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMjEwcHg7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDI1MXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDIzM3B4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIENhcnQgc3VtbWFyeSB0b29sdGlwIG5lZWRzIHNtYWxsIGFkanVzdG1lbnRzXG4gICAgICAgICAgICAuI3skbnN9Y2FydC1zdW1tYXJ5ICYge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IGNhbGMoMTAwJSArIDJyZW0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmllMTEgc291cmNlIHtcbiAgICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3MtYXV0aG9yaXphdGlvbi1saW5rIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tbGVmdDogMC45cmVtO1xuICBwYWRkaW5nOiAwIDAgMCAwLjNyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtYXV0aG9yaXphdGlvbi1saW5rIHtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDEuM3JlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjdyZW07IH0gfVxuICAuY3MtYXV0aG9yaXphdGlvbi1saW5rOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdDogMC4ycmVtIHNvbGlkICNmZmZmZmY7XG4gICAgdHJhbnNmb3JtOiBza2V3KC0xOGRlZyk7IH1cbiAgLmNzLWF1dGhvcml6YXRpb24tbGlua19fbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmNzLWF1dGhvcml6YXRpb24tbGlua19fbGluayB7XG4gICAgICBjb2xvcjogI0ZGNDYwNDsgfVxuICAgICAgLmNzLWF1dGhvcml6YXRpb24tbGlua19fbGluazp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6ICNGRjc0NDI7IH1cbiAgICAgIC5jcy1hdXRob3JpemF0aW9uLWxpbmtfX2xpbms6aG92ZXIge1xuICAgICAgICBjb2xvcjogI0ZGNzQ0MjsgfVxuICAgICAgLmNzLWF1dGhvcml6YXRpb24tbGlua19fbGluazphY3RpdmUsIC5jcy1hdXRob3JpemF0aW9uLWxpbmtfX2xpbms6Zm9jdXMge1xuICAgICAgICBjb2xvcjogI0ZGNzQ0MjsgfVxuICAgIC5jcy1hdXRob3JpemF0aW9uLWxpbmtfX2xpbms6aG92ZXIgLmNzLWF1dGhvcml6YXRpb24tbGlua19faWNvbiBwYXRoIHtcbiAgICAgIGZpbGw6ICMzRTNFM0U7IH1cbiAgLmNzLWF1dGhvcml6YXRpb24tbGlua19faWNvbiB7XG4gICAgd2lkdGg6IDEuOHJlbTtcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtOyB9XG4gICAgLmNzLWF1dGhvcml6YXRpb24tbGlua19faWNvbiBwYXRoIHtcbiAgICAgIGZpbGw6ICMzRTNFM0U7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3V0aWxzL2xpbmsnO1xuXG4kYXV0aG9yaXphdGlvbi1saW5rX2l0ZW0tYm9yZGVyOiAwLjJyZW0gc29saWQgJGNvbG9yX2JvcmRlci0xMDAgIWRlZmF1bHQ7XG4kYXV0aG9yaXphdGlvbi1saW5rX2l0ZW0tYm9yZGVyLXRyYW5zZm9ybTogJHRyYW5zZm9ybV9za2V3LTQwMCAhZGVmYXVsdDtcbiRhdXRob3JpemF0aW9uLWxpbmtfY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRhdXRob3JpemF0aW9uLWxpbmtfY29sb3ItaG92ZXI6ICRjb2xvcl9wcmltYXJ5LTgwMCAhZGVmYXVsdDtcbiRhdXRob3JpemF0aW9uLWxpbmtfaWNvbi1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJGF1dGhvcml6YXRpb24tbGlua19pY29uLWNvbG9yLWhvdmVyOiAkY29sb3JfdGV4dC00MDAgIWRlZmF1bHQ7XG5cbi4jeyRuc31hdXRob3JpemF0aW9uLWxpbmsge1xuICAgICRyb290OiAmO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tbGVmdDogMC45cmVtO1xuICAgIHBhZGRpbmc6IDAgMCAwIDAuM3JlbTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMS4zcmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMS43cmVtO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkYXV0aG9yaXphdGlvbi1saW5rX2l0ZW0tYm9yZGVyO1xuICAgICAgICB0cmFuc2Zvcm06ICRhdXRob3JpemF0aW9uLWxpbmtfaXRlbS1ib3JkZXItdHJhbnNmb3JtO1xuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBAaW5jbHVkZSBsaW5rKFxuICAgICAgICAgICAgJGF1dGhvcml6YXRpb24tbGlua19jb2xvcixcbiAgICAgICAgICAgICRhdXRob3JpemF0aW9uLWxpbmtfY29sb3ItaG92ZXJcbiAgICAgICAgKTtcblxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgI3skcm9vdH1fX2ljb24ge1xuICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkYXV0aG9yaXphdGlvbi1saW5rX2ljb24tY29sb3ItaG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIHdpZHRoOiAxLjhyZW07XG4gICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuXG4gICAgICAgIHBhdGgge1xuICAgICAgICAgICAgZmlsbDogJGF1dGhvcml6YXRpb24tbGlua19pY29uLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQG1peGluIGxpbmsoXG4gICAgJGxpbmssXG4gICAgJGFjdGlvbixcbiAgICAkdmlzaXRlZDogJGFjdGlvbixcbiAgICAkaG92ZXI6ICRhY3Rpb24sXG4gICAgJGFjdGl2ZTogJGFjdGlvbixcbiAgICAkc2l6ZTogZmFsc2Vcbikge1xuICAgICYge1xuICAgICAgICBAaWYgKCRzaXplKSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRzaXplO1xuICAgICAgICB9XG4gICAgICAgIGNvbG9yOiAkbGluaztcblxuICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgY29sb3I6ICR2aXNpdGVkO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGhvdmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRhY3RpdmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBNaXhpbnMgZm9yIGZsZXhpYmxlIGNvbnRhaW5lcnMgZGVjbGFyYXRpb24uXG4gKi9cbi8qKlxuICogRGVmaW5lcyBwYWdlIGNvbnRhaW5lci4gVGhpcyBtaXhpbiBtYWtlcyBzdXJlIHRoYXQgdGhlIGNvbnRlbnQgaGFzIGFsd2F5cyBlcXVhbCBwYWRkaW5nXG4gKiBmb3IgbW9iaWxlIHNjcmVlbnMgb24gYm90aCBzaXplIG9mIHRoZSBkZXZpY2UuXG4gKi9cbi8qKlxuICogTmVnYXRlcyBwYXJlbnQgY29udGFpbmVyJ3MgcGFkZGluZyBhbmQgc2V0cyBpdCBvd24uXG4gKiBTb21ldGhpbWVzIHRoaXMgaGFzIHRvIGJlIGRvbmUgdG8gbWFrZSBiYWNrZ3JvdW5kIGV2ZW4gdG8gb3RoZXIgY29udGFpbmVycycgY29udGVudC5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIGNvbnRhaW5lciB3cmFwcGVyIHRoYXQgbWFrZXMgc3VyZSBjb250bmV0IGRvZXNuJ3QgZXh0ZW5kIGFib3ZlIGNlcnRhaW4gd2lkdGggYW5kIGlzIGFsd2F5cyBjZW50ZXJlZC5cbiAqL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLWJ1eWJveF9fdXBkYXRlIHtcbiAgcGFkZGluZzogMTRweDtcbiAgbWF4LXdpZHRoOiAyMTlweDsgfVxuXG4uY3MtYWRkdG9jYXJ0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi8gfVxuICAuY3MtYWRkdG9jYXJ0X193cmFwcGVyIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1hZGR0b2NhcnRfX3dyYXBwZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDsgfSB9XG4gIC5jcy1hZGR0b2NhcnRfX2J1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICAgIHBhZGRpbmc6IDhweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yO1xuICAgIHBhZGRpbmc6IDEzcHggMTRweDtcbiAgICBtYXgtd2lkdGg6IDIxOXB4OyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uLm1lZGl1bSB7XG4gICAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbi5sYXJnZSB7XG4gICAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uLCAuY3MtYWRkdG9jYXJ0X19idXR0b246dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRBOTBFMjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uIHNwYW4sIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjp2aXNpdGVkIHNwYW4ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDM7IH1cbiAgICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpiZWZvcmUsIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjp2aXNpdGVkOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0QTkwRTI7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0QTkwRTI7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjphZnRlciwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOnZpc2l0ZWQ6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDk4MEMxO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbiAqLCAuY3MtYWRkdG9jYXJ0X19idXR0b246dmlzaXRlZCAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtYWRkdG9jYXJ0X19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtYWRkdG9jYXJ0X19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDk4MEMxOyB9XG4gICAgICAuY3MtYWRkdG9jYXJ0X19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pOmFmdGVyLCAuY3MtYWRkdG9jYXJ0X19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pOmFmdGVyLCAuY3MtYWRkdG9jYXJ0X19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKTphZnRlciB7XG4gICAgICAgIHRvcDogMnB4OyB9XG4gICAgICAuY3MtYWRkdG9jYXJ0X19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pOmJlZm9yZSwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKTpiZWZvcmUsIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0OTgwQzE7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0OTgwQzE7IH1cbiAgICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtYWRkdG9jYXJ0X19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IGF1dG87IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19idXR0b24gc3ZnLmNzLWFkZHRvY2FydF9fY29uZmlndXJlLWljb24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbi5jb25maWd1cmUgLmNzLWFkZHRvY2FydF9fYnV0dG9uLWxhYmVsIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19idXR0b246YWZ0ZXIge1xuICAgICAgdG9wOiAzcHg7IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19idXR0b24gLmNzLWFkZHRvY2FydF9fc3VjY2Vzcy1sYWJlbCwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmhvdmVyIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtbGFiZWwsIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpmb2N1cyAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWxhYmVsLCAuY3MtYWRkdG9jYXJ0X19idXR0b246YWN0aXZlIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtbGFiZWwge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19idXR0b24gLmNzLWFkZHRvY2FydF9fc3VjY2Vzcy1pY29uICosIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpob3ZlciAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWljb24gKiwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmZvY3VzIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtaWNvbiAqLCAuY3MtYWRkdG9jYXJ0X19idXR0b246YWN0aXZlIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtaWNvbiAqIHtcbiAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19idXR0b24gLmNzLWFkZHRvY2FydF9fZmFpbC1sYWJlbCwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmhvdmVyIC5jcy1hZGR0b2NhcnRfX2ZhaWwtbGFiZWwsIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpmb2N1cyAuY3MtYWRkdG9jYXJ0X19mYWlsLWxhYmVsLCAuY3MtYWRkdG9jYXJ0X19idXR0b246YWN0aXZlIC5jcy1hZGR0b2NhcnRfX2ZhaWwtbGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbiAuY3MtYWRkdG9jYXJ0X19mYWlsLWljb24gKiwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmhvdmVyIC5jcy1hZGR0b2NhcnRfX2ZhaWwtaWNvbiAqLCAuY3MtYWRkdG9jYXJ0X19idXR0b246Zm9jdXMgLmNzLWFkZHRvY2FydF9fZmFpbC1pY29uICosIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjphY3RpdmUgLmNzLWFkZHRvY2FydF9fZmFpbC1pY29uICoge1xuICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAuY3MtYWRkdG9jYXJ0X19idXR0b24tbGFiZWwsIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtbGFiZWwsIC5jcy1hZGR0b2NhcnRfX2ZhaWwtbGFiZWwge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBwYWRkaW5nLWxlZnQ6IDRlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAuY3MtYWRkdG9jYXJ0X19jb25maWd1cmUtaWNvbiwgLmNzLWFkZHRvY2FydF9fYnV0dG9uLWljb24sIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtaWNvbiwgLmNzLWFkZHRvY2FydF9fZmFpbC1pY29uIHtcbiAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbGVmdDogMWVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgd2lkdGg6IDIuMnJlbTtcbiAgICBoZWlnaHQ6IDIuMnJlbTtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICAgIGxlZnQ6IDMzcHg7XG4gICAgLyogc3R5bGVsaW50LWVuYWJsZSAqLyB9XG4gIC5jcy1hZGR0b2NhcnRfX2ZhaWwtaWNvbiB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAuY3MtYWRkdG9jYXJ0X19idXR0b24tbGFiZWwsIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtbGFiZWwge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyLCB0cmFuc2Zvcm0gMXMgY3ViaWMtYmV6aWVyKDAsIDAuNzcsIDAuMTgsIDEpOyB9XG4gIC5jcy1hZGR0b2NhcnRfX2J1dHRvbi1sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHotaW5kZXg6IDQ7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLmNzLWFkZHRvY2FydF9fbG9hZGluZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApIHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyLCB0cmFuc2Zvcm0gMXMgY3ViaWMtYmV6aWVyKDAsIDAuNzcsIDAuMTgsIDEpO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19sb2FkaW5nLWJhbGwge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgICAgIC5jcy1hZGR0b2NhcnRfX2xvYWRpbmctYmFsbC0tMSB7XG4gICAgICAgIGxlZnQ6IDA7IH1cbiAgICAgIC5jcy1hZGR0b2NhcnRfX2xvYWRpbmctYmFsbC0tMiB7XG4gICAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC4xNXMgIWltcG9ydGFudDsgfVxuICAgICAgLmNzLWFkZHRvY2FydF9fbG9hZGluZy1iYWxsLS0zIHtcbiAgICAgICAgbGVmdDogMzBweDtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjNzICFpbXBvcnRhbnQ7IH1cbiAgLmNzLWFkZHRvY2FydF9fc3VjY2Vzcy1sYWJlbCwgLmNzLWFkZHRvY2FydF9fc3VjY2Vzcy1pY29uLCAuY3MtYWRkdG9jYXJ0X19mYWlsLWxhYmVsLCAuY3MtYWRkdG9jYXJ0X19mYWlsLWljb24ge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmNzLWFkZHRvY2FydF9fc3VjY2Vzcy1pY29uLCAuY3MtYWRkdG9jYXJ0X19mYWlsLWljb24ge1xuICAgIGhlaWdodDogMS43MjVlbTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzOyB9XG4gIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtbGFiZWwsIC5jcy1hZGR0b2NhcnRfX2ZhaWwtbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LS1zdGlja3ksIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LS11bnN0aWNrIHtcbiAgICAgIG1heC13aWR0aDogMTI0cmVtO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcbiAgICAgIHotaW5kZXg6IDQwMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgICAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC0tc3RpY2t5IC51aS1kaWFsb2csIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LS11bnN0aWNrIC51aS1kaWFsb2cge1xuICAgICAgICByaWdodDogMCAhaW1wb3J0YW50OyB9XG4gICAgICAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC0tc3RpY2t5IC5ibG9jay1taW5pY2FydDphZnRlciwgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtLXVuc3RpY2sgLmJsb2NrLW1pbmljYXJ0OmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IDMuMnJlbSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtbGluayB7XG4gICAgICBtaW4td2lkdGg6IDEyNXB4OyB9IH1cbiAgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtLXN0aWNreSAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC1saW5rLFxuICAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC0tdW5zdGljayAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC1saW5rIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMi41cmVtIDFyZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAxcHggM3B4IDQuNXJlbSAwIHJnYmEoMzAsIDQ4LCA2NywgMC4zNCk7XG4gICAgYW5pbWF0aW9uOiBtaW5pY2FydC1pbiAxcyBjdWJpYy1iZXppZXIoMCwgMC43NywgMC4xOCwgMSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LS11bnN0aWNrIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LWxpbmsge1xuICAgIGFuaW1hdGlvbjogbWluaWNhcnQtb3V0IDAuNXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMiwgMC44OSwgMC40NSk7IH1cbiAgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtbGluazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC1xdHktYmFkZ2Utd3JhcHBlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgei1pbmRleDogNjAwO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjlzIGN1YmljLWJlemllcigwLjQyLCAwLjMxLCAwLjM0LCAwLjkzKSwgbGVmdCAwLjlzIGN1YmljLWJlemllcigwLjQyLCAwLjMxLCAwLjM0LCAwLjkzKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LXF0eS1iYWRnZS13cmFwcGVyLS1hbmltYXRpbmcge1xuICAgICAgYW5pbWF0aW9uOiBtb3ZlLXF0eS1iYWRnZSAxLjJzIGN1YmljLWJlemllcigwLjQyLCAwLjMxLCAwLjM0LCAwLjkzKTtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMC41cmVtOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDguMDFlbSkge1xuICAgICAgICAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC1xdHktYmFkZ2Utd3JhcHBlci0tYW5pbWF0aW5nIHtcbiAgICAgICAgICB0b3A6IDEuM3JlbTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC1xdHktYmFkZ2Utd3JhcHBlci0tYW5pbWF0aW5nIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1LjNyZW07IH0gfVxuICAgICAgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtcXR5LWJhZGdlLXdyYXBwZXItLWFuaW1hdGluZy5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LXF0eS1iYWRnZS13cmFwcGVyLS1taW5pY2FydC1zdGlja3kge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMS44cmVtOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtcXR5LWJhZGdlLXdyYXBwZXIgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtcXR5LWJhZGdlIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5jcy1hZGR0b2NhcnQtLWxvYWRpbmcgLmNzLWFkZHRvY2FydF9fYnV0dG9uLWxhYmVsLCAuY3MtYWRkdG9jYXJ0LS1kb25lIC5jcy1hZGR0b2NhcnRfX2J1dHRvbi1sYWJlbCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDJlbSwgMCwgMCk7IH1cbiAgLmNzLWFkZHRvY2FydC0tbG9hZGluZyAuY3MtYWRkdG9jYXJ0X19sb2FkaW5nIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCkgdHJhbnNsYXRlWCgtMS4yNWVtKTsgfVxuICAgIC5jcy1hZGR0b2NhcnQtLWxvYWRpbmcgLmNzLWFkZHRvY2FydF9fbG9hZGluZy1iYWxsIHtcbiAgICAgIGFuaW1hdGlvbjogYmFsbC1pbiAxcyBpbmZpbml0ZTsgfVxuICAuY3MtYWRkdG9jYXJ0LS1kb25lIC5jcy1hZGR0b2NhcnRfX2J1dHRvbi1pY29uIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5jcy1hZGR0b2NhcnQtLWRvbmUgLmNzLWFkZHRvY2FydF9fZmVlZGJhY2stYmcge1xuICAgIHRyYW5zZm9ybTogc2tldygtMThkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gICAgLmNzLWFkZHRvY2FydC0tZG9uZSAuY3MtYWRkdG9jYXJ0X19mZWVkYmFjay1iZzphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01LjNyZW0sIDAsIDApOyB9XG4gIC5jcy1hZGR0b2NhcnQtLXN1Y2Nlc3MgLmNzLWFkZHRvY2FydF9fc3VjY2Vzcy1pY29uIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5jcy1hZGR0b2NhcnQtLXN1Y2Nlc3MgLmNzLWFkZHRvY2FydF9fc3VjY2Vzcy1sYWJlbCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApOyB9XG4gIC5jcy1hZGR0b2NhcnQtLWZhaWwgLmNzLWFkZHRvY2FydF9fZmFpbC1pY29uIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5jcy1hZGR0b2NhcnQtLWFuaW1hdGlvbi1kb25lIC5jcy1hZGR0b2NhcnRfX2J1dHRvbi1sYWJlbCxcbiAgLmNzLWFkZHRvY2FydC0tYW5pbWF0aW9uLWRvbmUgLmNzLWFkZHRvY2FydF9fYnV0dG9uLWljb24ge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuNXM7IH1cbiAgLmNzLWFkZHRvY2FydC0tYW5pbWF0aW9uLWRvbmUgLmNzLWFkZHRvY2FydF9fZmVlZGJhY2stYmcge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7IH1cbiAgICAuY3MtYWRkdG9jYXJ0LS1hbmltYXRpb24tZG9uZSAuY3MtYWRkdG9jYXJ0X19mZWVkYmFjay1iZywgLmNzLWFkZHRvY2FydC0tYW5pbWF0aW9uLWRvbmUgLmNzLWFkZHRvY2FydF9fZmVlZGJhY2stYmc6YWZ0ZXIge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgY3ViaWMtYmV6aWVyKDAuODYsIDAuMDEsIDAuODMsIDAuNTEpOyB9XG4gICAgLmNzLWFkZHRvY2FydC0tYW5pbWF0aW9uLWRvbmUgLmNzLWFkZHRvY2FydF9fZmVlZGJhY2stYmc6YWZ0ZXIge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICAuY3MtYWRkdG9jYXJ0LS1hbmltYXRpb24tZG9uZSAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWxhYmVsLFxuICAuY3MtYWRkdG9jYXJ0LS1hbmltYXRpb24tZG9uZSAuY3MtYWRkdG9jYXJ0X19mYWlsLWljb24ge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42cyBsaW5lYXIsIHRyYW5zZm9ybSAwLjZzIGN1YmljLWJlemllcigwLjg2LCAwLjAxLCAwLjgzLCAwLjUxKTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIC5jcy1hZGR0b2NhcnQtLWFuaW1hdGlvbi1kb25lIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtaWNvbixcbiAgLmNzLWFkZHRvY2FydC0tYW5pbWF0aW9uLWRvbmUgLmNzLWFkZHRvY2FydF9fZmFpbC1pY29uIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG5cbkBrZXlmcmFtZXMgYmFsbC1pbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBtaW5pY2FydC1pbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBtaW5pY2FydC1vdXQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgbW92ZS1xdHktYmFkZ2Uge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxNSUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgODAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS41KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuICAuY3MtYWRkdG9jYXJ0IC5ibG9jay1taW5pY2FydCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuIiwiLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuXG5AZnVuY3Rpb24gZ2V0LXZhbHVlLWZyb20tbGlzdCgkdmFyaWFibGUsICRzaWRlKSB7XG4gICAgJGxlbmd0aDogbGVuZ3RoKCR2YXJpYWJsZSk7XG5cbiAgICBAaWYgKCRsZW5ndGggPT0gMSkge1xuICAgICAgICBAcmV0dXJuIG50aCgkdmFyaWFibGUsIDEpO1xuICAgIH0gQGVsc2UgaWYgKCRsZW5ndGggPT0gMikge1xuICAgICAgICBAaWYgKCRzaWRlID09ICd1cCcpIE9SICgkc2lkZSA9PSAnZG93bicpIHtcbiAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YXJpYWJsZSwgMSk7XG4gICAgICAgIH0gQGVsc2UgaWYgKCRzaWRlID09ICdsZWZ0JykgT1IgKCRzaWRlID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YXJpYWJsZSwgMik7XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIGlmICgkbGVuZ3RoID09IDMpIHtcbiAgICAgICAgQGlmICgkc2lkZSA9PSAnbGVmdCcpIE9SICgkc2lkZSA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFyaWFibGUsIDIpO1xuICAgICAgICB9IEBlbHNlIGlmICgkc2lkZSA9PSAndXAnKSB7XG4gICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFyaWFibGUsIDEpO1xuICAgICAgICB9IEBlbHNlIGlmICgkc2lkZSA9PSAnZG93bicpIHtcbiAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YXJpYWJsZSwgMyk7XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIGlmICgkbGVuZ3RoID09IDQpIHtcbiAgICAgICAgQGlmICgkc2lkZSA9PSAndXAnKSB7XG4gICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFyaWFibGUsIDEpO1xuICAgICAgICB9IEBlbHNlIGlmICgkc2lkZSA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFyaWFibGUsIDIpO1xuICAgICAgICB9IEBlbHNlIGlmICgkc2lkZSA9PSAnZG93bicpIHtcbiAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YXJpYWJsZSwgMyk7XG4gICAgICAgIH0gQGVsc2UgaWYgKCRzaWRlID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgQHJldHVybiBudGgoJHZhcmlhYmxlLCA0KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG5AbWl4aW4gYnV0dG9uLWhvb2soJHR5cGUsICRpY29uX3Bvcykge1xufVxuXG5AbWl4aW4gYnV0dG9uX3NwYW4taG9vaygkdHlwZSwgJGljb25fcG9zKSB7XG59XG5cbkBtaXhpbiBidXR0b25faWNvbi1ob29rKCR0eXBlLCAkaWNvbl9wb3MpIHtcbn1cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jb250YWluZXIvbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuJGFkZHRvY2FydF9idXR0b24tdHlwZTogJ2FkZHRvJyAhZGVmYXVsdDtcbiRhZGR0b2NhcnRfYnV0dG9uLWljb24tcG9zaXRpb246IGxlZnQgIWRlZmF1bHQ7XG4kYWRkdG9jYXJ0X2J1dHRvbi1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJGFkZHRvY2FydF9idXR0b24taWNvbi13aWR0aDogMi4ycmVtICFkZWZhdWx0O1xuJGFkZHRvY2FydF9idXR0b24taWNvbi1oZWlnaHQ6ICRhZGR0b2NhcnRfYnV0dG9uLWljb24td2lkdGggIWRlZmF1bHQ7XG4kYWRkdG9jYXJ0X2J1dHRvbi1pY29uLWVkZ2UtZ3V0dGVyOiAzM3B4ICFkZWZhdWx0O1xuXG4kYWRkdG9jYXJ0X2J1dHRvbi1za2V3ZWQtYmFja2dyb3VuZC13aWR0aDogNS4xcmVtICFkZWZhdWx0O1xuJGFkZHRvY2FydF9idXR0b24tcGFkZGluZy1sZWZ0OiAxcmVtICFkZWZhdWx0O1xuJGFkZHRvY2FydF9idXR0b24tcGFkZGluZy1yaWdodDogNC41cmVtICFkZWZhdWx0O1xuXG4kYWRkdG9jYXJ0X2xvYWRpbmctaW5kaWNhdG9yLWJhbGwtY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRhZGR0b2NhcnRfbG9hZGluZy1pbmRpY2F0b3ItYmFsbC1zaXplOiAxMHB4ICFkZWZhdWx0O1xuXG4kYWRkdG9jYXJ0X2ZlZWRiYWNrLWJnLXNrZXc6ICR0cmFuc2Zvcm1fc2tldy00MDAgIWRlZmF1bHQ7XG5cbiRhZGR0b2NhcnRfYWpheC1zdWNjZXNzLWJnLXByaW1hcnk6ICRjb2xvcl9zdWNjZXNzLTUwMCAhZGVmYXVsdDtcbiRhZGR0b2NhcnRfYWpheC1zdWNjZXNzLWJnLXNlY29uZGFyeTogJGNvbG9yX3N1Y2Nlc3MtNjAwICFkZWZhdWx0O1xuJGFkZHRvY2FydF9hamF4LXN1Y2Nlc3MtY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRhZGR0b2NhcnRfYWpheC1zdWNjZXNzLWZpbGw6ICRhZGR0b2NhcnRfYWpheC1zdWNjZXNzLWNvbG9yICFkZWZhdWx0O1xuXG4kYWRkdG9jYXJ0X2FqYXgtZmFpbC1iZy1wcmltYXJ5OiAkY29sb3JfZXJyb3ItNTAwICFkZWZhdWx0O1xuJGFkZHRvY2FydF9hamF4LWZhaWwtYmctc2Vjb25kYXJ5OiAkY29sb3JfZXJyb3ItNjAwICFkZWZhdWx0O1xuJGFkZHRvY2FydF9hamF4LWZhaWwtY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRhZGR0b2NhcnRfYWpheC1mYWlsLWZpbGw6ICRhZGR0b2NhcnRfYWpheC1mYWlsLWNvbG9yICFkZWZhdWx0O1xuXG4uY3MtYnV5Ym94X191cGRhdGUge1xuICAgIHBhZGRpbmc6IDE0cHg7XG4gICAgbWF4LXdpZHRoOiAyMTlweDtcbn1cblxuLiN7JG5zfWFkZHRvY2FydCB7XG4gICAgJHJvb3Q6ICY7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgcGFkZGluZy1yaWdodDogMDtcblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICAvLyBiZWNhdXNlIGJ1dHRvbiBjYW4ndCBoYXZlIG92ZXJmbG93LCB3ZSBuZWVkIHRvIGFkZCBpdCBvbiBidXR0b24gd3JhcHBlclxuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAkYWRkdG9jYXJ0X2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkYWRkdG9jYXJ0X2J1dHRvbi1pY29uLXBvc2l0aW9uXG4gICAgICAgICk7XG5cbiAgICAgICAgc3ZnLmNzLWFkZHRvY2FydF9fY29uZmlndXJlLWljb24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuY29uZmlndXJlIHtcbiAgICAgICAgICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbi1sYWJlbCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHBhZGRpbmc6IDEzcHggMTRweDtcbiAgICAgICAgbWF4LXdpZHRoOiAyMTlweDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHRvcDogM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICYsXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgICN7JHJvb3R9X19zdWNjZXNzLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGFkZHRvY2FydF9hamF4LXN1Y2Nlc3MtY29sb3I7XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgI3skcm9vdH1fX3N1Y2Nlc3MtaWNvbiB7XG4gICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRhZGR0b2NhcnRfYWpheC1zdWNjZXNzLWZpbGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fV9fZmFpbC1sYWJlbCB7XG4gICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fV9fZmFpbC1pY29uIHtcbiAgICAgICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJGFkZHRvY2FydF9hamF4LWZhaWwtZmlsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24tbGFiZWwsXG4gICAgJl9fc3VjY2Vzcy1sYWJlbCxcbiAgICAmX19mYWlsLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAkdHlwZTogJGFkZHRvY2FydF9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGFkZHRvY2FydF9idXR0b24taWNvbi1wb3NpdGlvblxuICAgICAgICApO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgJl9fY29uZmlndXJlLWljb24sXG4gICAgJl9fYnV0dG9uLWljb24sXG4gICAgJl9fc3VjY2Vzcy1pY29uLFxuICAgICZfX2ZhaWwtaWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9pY29uKFxuICAgICAgICAgICAgJHR5cGU6ICRhZGR0b2NhcnRfYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRhZGR0b2NhcnRfYnV0dG9uLWljb24tcG9zaXRpb25cbiAgICAgICAgKTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICB3aWR0aDogJGFkZHRvY2FydF9idXR0b24taWNvbi13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkYWRkdG9jYXJ0X2J1dHRvbi1pY29uLWhlaWdodDtcbiAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICAgICAgQGlmICgkYWRkdG9jYXJ0X2J1dHRvbi1pY29uLXBvc2l0aW9uID09ICdyaWdodCcpIG9yICgkYWRkdG9jYXJ0X2J1dHRvbi1pY29uLXBvc2l0aW9uID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgI3skYWRkdG9jYXJ0X2J1dHRvbi1pY29uLXBvc2l0aW9ufTogJGFkZHRvY2FydF9idXR0b24taWNvbi1lZGdlLWd1dHRlcjtcbiAgICAgICAgfVxuICAgICAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gICAgfVxuXG4gICAgJl9fZmFpbC1pY29uIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAmX19idXR0b24tbGFiZWwsXG4gICAgJl9fc3VjY2Vzcy1sYWJlbCB7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyLFxuICAgICAgICAgICAgdHJhbnNmb3JtIDFzIGN1YmljLWJlemllcigwLCAwLjc3LCAwLjE4LCAxKTtcbiAgICB9XG5cbiAgICAmX19idXR0b24tbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHotaW5kZXg6IDQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgJl9fbG9hZGluZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKSB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgICAgICAgd2lkdGg6ICRhZGR0b2NhcnRfbG9hZGluZy1pbmRpY2F0b3ItYmFsbC1zaXplICogNDtcbiAgICAgICAgaGVpZ2h0OiAkYWRkdG9jYXJ0X2xvYWRpbmctaW5kaWNhdG9yLWJhbGwtc2l6ZTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXIsXG4gICAgICAgICAgICB0cmFuc2Zvcm0gMXMgY3ViaWMtYmV6aWVyKDAsIDAuNzcsIDAuMTgsIDEpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xuXG4gICAgICAgICYtYmFsbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAkYWRkdG9jYXJ0X2xvYWRpbmctaW5kaWNhdG9yLWJhbGwtc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJGFkZHRvY2FydF9sb2FkaW5nLWluZGljYXRvci1iYWxsLXNpemU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYWRkdG9jYXJ0X2xvYWRpbmctaW5kaWNhdG9yLWJhbGwtY29sb3I7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAgICAgICAgICYtLTEge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLTIge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjE1cyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS0zIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAzMHB4O1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC4zcyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3VjY2Vzcy1sYWJlbCxcbiAgICAmX19zdWNjZXNzLWljb24sXG4gICAgJl9fZmFpbC1sYWJlbCxcbiAgICAmX19mYWlsLWljb24ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgICZfX3N1Y2Nlc3MtaWNvbixcbiAgICAmX19mYWlsLWljb24ge1xuICAgICAgICBoZWlnaHQ6IDEuNzI1ZW07XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7XG4gICAgfVxuXG4gICAgJl9fc3VjY2Vzcy1sYWJlbCxcbiAgICAmX19mYWlsLWxhYmVsIHtcbiAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICZfX21pbmljYXJ0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAmLS1zdGlja3ksXG4gICAgICAgICYtLXVuc3RpY2sge1xuICAgICAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyLXdyYXBwZXIoKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcbiAgICAgICAgICAgIHotaW5kZXg6IDQwMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgICAgICAudWktZGlhbG9nIHtcbiAgICAgICAgICAgICAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYmxvY2stbWluaWNhcnQge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMy4ycmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWluaWNhcnQtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTI1cHg7XG4gICAgICAgIH1cbiAgICAgICAgI3skcm9vdH1fX21pbmljYXJ0LS1zdGlja3kgJixcbiAgICAgICAgI3skcm9vdH1fX21pbmljYXJ0LS11bnN0aWNrICYge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMi41cmVtIDFyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDA7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAxcHggM3B4IDQuNXJlbSAwIHJnYmEoMzAsIDQ4LCA2NywgMC4zNCk7XG4gICAgICAgICAgICBhbmltYXRpb246IG1pbmljYXJ0LWluIDFzIGN1YmljLWJlemllcigwLCAwLjc3LCAwLjE4LCAxKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19taW5pY2FydC0tdW5zdGljayAmIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogbWluaWNhcnQtb3V0IDAuNXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMiwgMC44OSwgMC40NSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19taW5pY2FydC1xdHktYmFkZ2Utd3JhcHBlciB7XG4gICAgICAgICRiYWRnZS13cmFwcGVyOiAmO1xuXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgei1pbmRleDogNjAwO1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC45cyBjdWJpYy1iZXppZXIoMC40MiwgMC4zMSwgMC4zNCwgMC45MyksXG4gICAgICAgICAgICBsZWZ0IDAuOXMgY3ViaWMtYmV6aWVyKDAuNDIsIDAuMzEsIDAuMzQsIDAuOTMpO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgICAmLS1hbmltYXRpbmcge1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBtb3ZlLXF0eS1iYWRnZSAxLjJzIGN1YmljLWJlemllcigwLjQyLCAwLjMxLCAwLjM0LCAwLjkzKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgIHRvcDogMC41cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICB0b3A6IDEuM3JlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDUuM3JlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJiN7JGJhZGdlLXdyYXBwZXJ9LS1taW5pY2FydC1zdGlja3kge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgICAgICB0b3A6IDEuOHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19taW5pY2FydC1xdHktYmFkZ2Uge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1sb2FkaW5nLFxuICAgICYtLWRvbmUge1xuICAgICAgICAjeyRyb290fV9fYnV0dG9uLWxhYmVsIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDJlbSwgMCwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1sb2FkaW5nIHtcbiAgICAgICAgI3skcm9vdH1fX2xvYWRpbmcge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCkgdHJhbnNsYXRlWCgtMS4yNWVtKTsgLy8gY2FsYygpIGRvZXNuJ3Qgd29yayBpbiBJRSBzbyBpIGhhZCB0byBkdXBsaWNhdGUgdHJhbnNsYXRlWCgpIHRyYW5zZm9ybSB0byBhZGp1c3QgWCBwb3NpdGlvblxuXG4gICAgICAgICAgICAmLWJhbGwge1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogYmFsbC1pbiAxcyBpbmZpbml0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWRvbmUge1xuICAgICAgICAjeyRyb290fV9fYnV0dG9uLWljb24ge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19mZWVkYmFjay1iZyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06ICRhZGR0b2NhcnRfZmVlZGJhY2stYmctc2tldyB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChcbiAgICAgICAgICAgICAgICAgICAgLSN7JGFkZHRvY2FydF9idXR0b24tc2tld2VkLWJhY2tncm91bmQtd2lkdGggKyAwLjJ9LFxuICAgICAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAgICAgICAwXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXN1Y2Nlc3Mge1xuICAgICAgICAjeyRyb290fV9fc3VjY2Vzcy1pY29uIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fc3VjY2Vzcy1sYWJlbCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWZhaWwge1xuICAgICAgICAjeyRyb290fV9fZmFpbC1pY29uIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1hbmltYXRpb24tZG9uZSB7XG4gICAgICAgICN7JHJvb3R9X19idXR0b24tbGFiZWwsXG4gICAgICAgICN7JHJvb3R9X19idXR0b24taWNvbiB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjVzO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX2ZlZWRiYWNrLWJnIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7XG5cbiAgICAgICAgICAgICYsXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBjdWJpYy1iZXppZXIoMC44NiwgMC4wMSwgMC44MywgMC41MSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fc3VjY2Vzcy1sYWJlbCxcbiAgICAgICAgI3skcm9vdH1fX2ZhaWwtaWNvbiB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnMgbGluZWFyLFxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjZzIGN1YmljLWJlemllcigwLjg2LCAwLjAxLCAwLjgzLCAwLjUxKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fc3VjY2Vzcy1pY29uLFxuICAgICAgICAjeyRyb290fV9fZmFpbC1pY29uIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICAgIEBrZXlmcmFtZXMgYmFsbC1pbiB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICAgICAgNTAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGtleWZyYW1lcyBtaW5pY2FydC1pbiB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgbWluaWNhcnQtb3V0IHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGtleWZyYW1lcyBtb3ZlLXF0eS1iYWRnZSB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgICAgMTUlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIH1cbiAgICAgICAgODAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG5cbiAgICAuYmxvY2stbWluaWNhcnQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cbiIsIkBpbXBvcnQgJ3V0aWxzL2dldC12YWx1ZS1mcm9tLWxpc3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vYW5pbWF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL2hvb2snO1xuXG4vLyBEZWZpbmUgZGVmYXVsdCB0eXBlIGZvciBidXR0b25zLiBZb3UgY2FuIG92ZXJyaWRlIGl0IGluZGl2aWR1YWxseSBwZXIgYnV0dG9uIGluIGVhY2ggY29tcG9uZW50XG4vLyBWYXJpYW50czogcHJpbWFyeSB8IHNlY29uZGFyeSB8IGxpbmsgfCBzdWNjZXNzIHwgZXJyb3JcbiRidXR0b25fZGVmYXVsdC10eXBlOiAncHJpbWFyeScgIWRlZmF1bHQ7XG5cbi8vIERlZmluZSBkZWZhdWx0IHBvc2l0aW9uIGZvciBpY29ucyBpbiBidXR0b24uIFlvdSBjYW4gb3ZlcnJpZGUgaXQgaW5kaXZpZHVhbGx5IHBlciBidXR0b24gaW4gZWFjaCBjb21wb25lbnRcbi8vIFZhcmlhbnRzOiBsZWZ0IHwgcmlnaHQgfCBuby1pY29uIHwgb25seS1pY29uXG4kYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3M6ICdyaWdodCcgIWRlZmF1bHQ7XG5cbi8vIEdlbmVyYWwgc3R5bGVzIGZvciBidXR0b25zXG4kYnV0dG9uX2ZvbnQtc2l6ZTogMS40cmVtICFkZWZhdWx0O1xuJGJ1dHRvbl9mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuJGJ1dHRvbl9ib3JkZXItc2l6ZTogMXB4ICFkZWZhdWx0O1xuJGJ1dHRvbl9wYWRkaW5nOiAwLjc1ZW0gMWVtICFkZWZhdWx0O1xuJGJ1dHRvbl9wYWRkaW5nLXdoZW4taWNvbjogM2VtICFkZWZhdWx0O1xuJGJ1dHRvbl9saW5lLWhlaWdodDogMS4yNzVlbSAhZGVmYXVsdDtcbiRidXR0b25fYm9yZGVyLXJhZGl1czogMjVweCAhZGVmYXVsdDtcbiRidXR0b25fYW5pbWF0aW9uLXRpbWU6IDAuNXMgIWRlZmF1bHQ7XG4kYnV0dG9uX3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kYnV0dG9uX3RleHQtbGV0dGVyLXNwYWNpbmc6IG5vcm1hbCAhZGVmYXVsdDtcbiRidXR0b25fdGV4dC1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuXG4kYnV0dG9uX3NpemUtZGVmYXVsdDogJ3JlZ3VsYXInICFkZWZhdWx0O1xuXG4vLyBTdHlsZXMgZm9yIGBhZGQgdG8gY2FydGAgYnV0dG9uIHR5cGVcbiRidXR0b25fYWRkdG8tYm9yZGVyOiAkYnV0dG9uX2JvcmRlci1zaXplIHNvbGlkIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ1dHRvbl9hZGR0by0taG92ZXItYm9yZGVyOiAkYnV0dG9uX2JvcmRlci1zaXplIHNvbGlkIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ1dHRvbl9hZGR0by1iYWNrZ3JvdW5kOiAkY29sb3JfYWRkX3RvX2NhcnQgIWRlZmF1bHQ7XG4kYnV0dG9uX2FkZHRvLS1ob3Zlci1iYWNrZ3JvdW5kOiAjNDk4MEMxICFkZWZhdWx0O1xuJGJ1dHRvbl9hZGR0by1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJGJ1dHRvbl9hZGR0by0taG92ZXItY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRidXR0b25fYWRkdG8tZmlsbDogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJGJ1dHRvbl9hZGR0by0taG92ZXItZmlsbDogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJGJ1dHRvbl9hZGR0by1lbmFibGUtYW5pbWF0aW9uOiBmYWxzZSAhZGVmYXVsdDtcbiRidXR0b25fYWRkdG8tYm9yZGVyLXJhZGl1czogMjVweCAhZGVmYXVsdDtcbiRidXR0b25fYWRkdG8tZm9udC1zaXplOiAxLjZyZW0gIWRlZmF1bHQ7XG5cbi8vIFN0eWxlcyBmb3IgYHByaW1hcnlgIGJ1dHRvbiB0eXBlXG4kYnV0dG9uX3ByaW1hcnktYm9yZGVyOiAkYnV0dG9uX2JvcmRlci1zaXplIHNvbGlkIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ1dHRvbl9wcmltYXJ5LS1ob3Zlci1ib3JkZXI6ICRidXR0b25fYm9yZGVyLXNpemUgc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uX3ByaW1hcnktYmFja2dyb3VuZDogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGJ1dHRvbl9wcmltYXJ5LS1ob3Zlci1iYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeS04MDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3ByaW1hcnktY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRidXR0b25fcHJpbWFyeS0taG92ZXItY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRidXR0b25fcHJpbWFyeS1maWxsOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3ByaW1hcnktLWhvdmVyLWZpbGw6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRidXR0b25fcHJpbWFyeS1lbmFibGUtYW5pbWF0aW9uOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gU3R5bGVzIGZvciBgc2Vjb25kYXJ5YCBidXR0b24gdHlwZVxuJGJ1dHRvbl9zZWNvbmRhcnktYm9yZGVyOiAkYnV0dG9uX2JvcmRlci1zaXplIHNvbGlkIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ1dHRvbl9zZWNvbmRhcnktLWhvdmVyLWJvcmRlcjogJGJ1dHRvbl9ib3JkZXItc2l6ZSBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b25fc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRjb2xvcl9ibGFjayAhZGVmYXVsdDtcbiRidXR0b25fc2Vjb25kYXJ5LS1ob3Zlci1iYWNrZ3JvdW5kOiAkY29sb3JfYm9keS10ZXh0ICFkZWZhdWx0O1xuJGJ1dHRvbl9zZWNvbmRhcnktY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRidXR0b25fc2Vjb25kYXJ5LS1ob3Zlci1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJGJ1dHRvbl9zZWNvbmRhcnktZmlsbDogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGJ1dHRvbl9zZWNvbmRhcnktLWhvdmVyLWZpbGw6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRidXR0b25fc2Vjb25kYXJ5LWVuYWJsZS1hbmltYXRpb246IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBTdHlsZSBmb3IgYGxpbmtgIGJ1dHRvbiB0eXBlXG4kYnV0dG9uX2xpbmstY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRidXR0b25fbGluay0taG92ZXItY29sb3I6ICRjb2xvcl9wcmltYXJ5LTgwMCAhZGVmYXVsdDtcbiRidXR0b25fbGluay1pY29uLXBhZGRpbmc6IDJyZW0gIWRlZmF1bHQ7XG5cbi8vIFN0eWxlcyBmb3IgYHN1Y2Nlc3NgIGJ1dHRvbiB0eXBlXG4kYnV0dG9uX3N1Y2Nlc3MtYm9yZGVyOiAkYnV0dG9uX2JvcmRlci1zaXplIHNvbGlkIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ1dHRvbl9zdWNjZXNzLS1ob3Zlci1ib3JkZXI6ICRidXR0b25fYm9yZGVyLXNpemUgc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uX3N1Y2Nlc3MtYmFja2dyb3VuZDogJGNvbG9yX3N1Y2Nlc3MtNTAwICFkZWZhdWx0O1xuJGJ1dHRvbl9zdWNjZXNzLS1ob3Zlci1iYWNrZ3JvdW5kOiAkY29sb3Jfc3VjY2Vzcy02MDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3N1Y2Nlc3MtY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRidXR0b25fc3VjY2Vzcy0taG92ZXItY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRidXR0b25fc3VjY2Vzcy1maWxsOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3N1Y2Nlc3MtLWhvdmVyLWZpbGw6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRidXR0b25fc3VjY2Vzcy1lbmFibGUtYW5pbWF0aW9uOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gU3R5bGVzIGZvciBgZXJyb3JgIGJ1dHRvbiB0eXBlXG4kYnV0dG9uX2Vycm9yLWJvcmRlcjogJGJ1dHRvbl9ib3JkZXItc2l6ZSBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b25fZXJyb3ItLWhvdmVyLWJvcmRlcjogJGJ1dHRvbl9ib3JkZXItc2l6ZSBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b25fZXJyb3ItYmFja2dyb3VuZDogJGNvbG9yX2Vycm9yLTUwMCAhZGVmYXVsdDtcbiRidXR0b25fZXJyb3ItLWhvdmVyLWJhY2tncm91bmQ6ICRjb2xvcl9lcnJvci02MDAgIWRlZmF1bHQ7XG4kYnV0dG9uX2Vycm9yLWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX2Vycm9yLS1ob3Zlci1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGJ1dHRvbl9lcnJvci1maWxsOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX2Vycm9yLS1ob3Zlci1maWxsOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX2Vycm9yLWVuYWJsZS1hbmltYXRpb246IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBEZWZpbmVzIGhvdyBtdWNoIGJ1dHRvbiBpY29uIHNob3VsZCBiZSBwdWxsZWQgdmVydGljYWxseSB0byBjZW50ZXIgaXQuXG4vLyBTaG91bGQgYmUgZGVmaW5lZCBpbiBlbSB0byBtYWtlIGl0IHJlbGF0aXZlIHRvIGJ1dHRvbidzIGZvbnQgc2l6ZS5cbiRidXR0b25fc3Bhbi1mb250LW9mZnNldDogMCAhZGVmYXVsdDtcblxuLy8gRGVmaW5lcyBob3cgbXVjaCBidXR0b24gaWNvbiBzaG91bGQgYmUgcHVsbGVkIHZlcnRpY2FsbHkgdG8gY2VudGVyIGl0IG9uIGljb24gYnV0dG9uLlxuLy8gU2hvdWxkIGJlIGRlZmluZWQgaW4gZW0gdG8gbWFrZSBpdCByZWxhdGl2ZSB0byBidXR0b24ncyBmb250IHNpemUuXG4kYnV0dG9uX2ljb24tb2Zmc2V0OiAwLjFlbSAhZGVmYXVsdDtcblxuLy8gc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tY2FsYy1uby11bnNwYWNlZC1vcGVyYXRvclxuXG5AbWl4aW4gYnV0dG9uKFxuICAgICR0eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSxcbiAgICAkaWNvbl9wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvcyxcbiAgICAkdGV4dF90cmFuc2Zvcm06ICRidXR0b25fdGV4dC10cmFuc2Zvcm0sXG4gICAgJGJvcmRlci1yYWRpdXM6ICRidXR0b25fYm9yZGVyLXJhZGl1c1xuKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGJ1dHRvbl9mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRidXR0b25fZm9udC13ZWlnaHQ7XG4gICAgdGV4dC1hbGlnbjogJGJ1dHRvbl90ZXh0LWFsaWduO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbl9saW5lLWhlaWdodDtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06ICR0ZXh0X3RyYW5zZm9ybTtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBmb250LWZhbWlseTogJGZvbnRfZmFtaWx5LXByaW1hcnk7XG4gICAgcGFkZGluZzogOHB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG5cbiAgICBAaWYgKCR0eXBlICE9ICdsaW5rJykge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRidXR0b25fYW5pbWF0aW9uLXRpbWUsXG4gICAgICAgIGJvcmRlci1jb2xvciAkYnV0dG9uX2FuaW1hdGlvbi10aW1lLCBmaWxsICRidXR0b25fYW5pbWF0aW9uLXRpbWUsXG4gICAgICAgIGNvbG9yICRidXR0b25fYW5pbWF0aW9uLXRpbWU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAnYWRkdG8nKSB7XG4gICAgICAgIEBpZiAoJGJ1dHRvbl9wcmltYXJ5LWVuYWJsZS1hbmltYXRpb24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9hbmltYXRpb24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgICAgICAkY29sb3Jfc3RhcnQ6ICRidXR0b25fYWRkdG8tYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAkY29sb3JfZW5kOiAkYnV0dG9uX2FkZHRvLS1ob3Zlci1iYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJGljb25fcG9zXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAncHJpbWFyeScpIHtcbiAgICAgICAgQGlmICgkYnV0dG9uX3ByaW1hcnktZW5hYmxlLWFuaW1hdGlvbikge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2FuaW1hdGlvbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICAgICRjb2xvcl9zdGFydDogJGJ1dHRvbl9wcmltYXJ5LWJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgJGNvbG9yX2VuZDogJGJ1dHRvbl9wcmltYXJ5LS1ob3Zlci1iYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJGljb25fcG9zXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAnc2Vjb25kYXJ5Jykge1xuICAgICAgICBAaWYgKCRidXR0b25fc2Vjb25kYXJ5LWVuYWJsZS1hbmltYXRpb24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9hbmltYXRpb24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgICAgICRjb2xvcl9zdGFydDogJGJ1dHRvbl9zZWNvbmRhcnktYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAkY29sb3JfZW5kOiAkYnV0dG9uX3NlY29uZGFyeS0taG92ZXItYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRpY29uX3Bvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ2xpbmsnKSB7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICRidXR0b25fYW5pbWF0aW9uLXRpbWUsIGZpbGwgJGJ1dHRvbl9hbmltYXRpb24tdGltZTtcbiAgICAgICAgd2lsbC1jaGFuZ2U6IGZpbGwsIGNvbG9yO1xuXG4gICAgICAgICoge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJGJ1dHRvbl9hbmltYXRpb24tdGltZSxcbiAgICAgICAgICAgIGZpbGwgJGJ1dHRvbl9hbmltYXRpb24tdGltZTtcbiAgICAgICAgICAgIHdpbGwtY2hhbmdlOiBmaWxsLCBjb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ3N1Y2Nlc3MnKSB7XG4gICAgICAgIEBpZiAoJGJ1dHRvbl9zdWNjZXNzLWVuYWJsZS1hbmltYXRpb24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9hbmltYXRpb24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICdzdWNjZXNzJyxcbiAgICAgICAgICAgICAgICAkY29sb3Jfc3RhcnQ6ICRidXR0b25fc3VjY2Vzcy1iYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgICRjb2xvcl9lbmQ6ICRidXR0b25fc3VjY2Vzcy0taG92ZXItYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRpY29uX3Bvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ2Vycm9yJykge1xuICAgICAgICBAaWYgKCRidXR0b25fZXJyb3ItZW5hYmxlLWFuaW1hdGlvbikge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2FuaW1hdGlvbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJ2Vycm9yJyxcbiAgICAgICAgICAgICAgICAkY29sb3Jfc3RhcnQ6ICRidXR0b25fZXJyb3ItYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAkY29sb3JfZW5kOiAkYnV0dG9uX2Vycm9yLS1ob3Zlci1iYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJGljb25fcG9zXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5tZWRpdW0ge1xuICAgICAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIH1cbiAgICAmLmxhcmdlIHtcbiAgICAgICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICB9XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5XG4gICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgICYsXG4gICAgJjp2aXNpdGVkIHtcbiAgICAgICAgQGlmICgkdHlwZSAhPSAnbGluaycpIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCR0eXBlID09ICdhZGR0bycpIHtcbiAgICAgICAgICAgIGJvcmRlcjogJGJ1dHRvbl9hZGR0by1ib3JkZXI7XG4gICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9hZGR0by1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25fYWRkdG8tYmFja2dyb3VuZDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRidXR0b25fYWRkdG8tYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGJ1dHRvbl9hZGR0by1mb250LXNpemU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25fYWRkdG8tYmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYnV0dG9uX2FkZHRvLWJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYnV0dG9uX2FkZHRvLWJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbl9hZGR0by0taG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbl9hZGR0by1ib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX2FkZHRvLWNvbG9yO1xuICAgICAgICAgICAgICAgIGZpbGw6ICRidXR0b25fYWRkdG8tZmlsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJHR5cGUgPT0gJ3ByaW1hcnknKSB7XG4gICAgICAgICAgICBib3JkZXI6ICRidXR0b25fcHJpbWFyeS1ib3JkZXI7XG4gICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9wcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbl9wcmltYXJ5LWJhY2tncm91bmQ7XG5cbiAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX3ByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAgICAgZmlsbDogJGJ1dHRvbl9wcmltYXJ5LWZpbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCR0eXBlID09ICdzZWNvbmRhcnknKSB7XG4gICAgICAgICAgICBib3JkZXI6ICRidXR0b25fc2Vjb25kYXJ5LWJvcmRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX3NlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25fc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG5cbiAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX3NlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICBmaWxsOiAkYnV0dG9uX3NlY29uZGFyeS1maWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkdHlwZSA9PSAnbGluaycpIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX2xpbmstY29sb3I7XG5cbiAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX2xpbmstY29sb3I7XG4gICAgICAgICAgICAgICAgZmlsbDogJGJ1dHRvbl9saW5rLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkdHlwZSA9PSAnc3VjY2VzcycpIHtcbiAgICAgICAgICAgIGJvcmRlcjogJGJ1dHRvbl9zdWNjZXNzLWJvcmRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX3N1Y2Nlc3MtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uX3N1Y2Nlc3MtYmFja2dyb3VuZDtcblxuICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fc3VjY2Vzcy1jb2xvcjtcbiAgICAgICAgICAgICAgICBmaWxsOiAkYnV0dG9uX3N1Y2Nlc3MtZmlsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJHR5cGUgPT0gJ2Vycm9yJykge1xuICAgICAgICAgICAgYm9yZGVyOiAkYnV0dG9uX2Vycm9yLWJvcmRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX2Vycm9yLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbl9lcnJvci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9lcnJvci1jb2xvcjtcbiAgICAgICAgICAgICAgICBmaWxsOiAkYnV0dG9uX2Vycm9yLWZpbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gc3R5bGVsaW50LWVuYWJsZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgICAmOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICAgICAgICBAaWYgKCR0eXBlICE9ICdsaW5rJykge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoJHR5cGUgPT0gJ2FkZHRvJykge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogJGJ1dHRvbl9hZGR0by0taG92ZXItYm9yZGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX2FkZHRvLS1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uX2FkZHRvLS1ob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJ1dHRvbl9hZGR0by0taG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbl9hZGR0by0taG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fYWRkdG8tLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkYnV0dG9uX2FkZHRvLS1ob3Zlci1maWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICgkdHlwZSA9PSAncHJpbWFyeScpIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6ICRidXR0b25fcHJpbWFyeS0taG92ZXItYm9yZGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX3ByaW1hcnktLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25fcHJpbWFyeS0taG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9wcmltYXJ5LS1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJGJ1dHRvbl9wcmltYXJ5LS1ob3Zlci1maWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICgkdHlwZSA9PSAnc2Vjb25kYXJ5Jykge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogJGJ1dHRvbl9zZWNvbmRhcnktLWhvdmVyLWJvcmRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9zZWNvbmRhcnktLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25fc2Vjb25kYXJ5LS1ob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX3NlY29uZGFyeS0taG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRidXR0b25fc2Vjb25kYXJ5LS1ob3Zlci1maWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICgkdHlwZSA9PSAnbGluaycpIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9saW5rLS1ob3Zlci1jb2xvcjtcblxuICAgICAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9saW5rLS1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJGJ1dHRvbl9saW5rLS1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoJHR5cGUgPT0gJ3N1Y2Nlc3MnKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAkYnV0dG9uX3N1Y2Nlc3MtLWhvdmVyLWJvcmRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9zdWNjZXNzLS1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uX3N1Y2Nlc3MtLWhvdmVyLWJhY2tncm91bmQ7XG5cbiAgICAgICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fc3VjY2Vzcy0taG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRidXR0b25fc3VjY2Vzcy0taG92ZXItZmlsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoJHR5cGUgPT0gJ2Vycm9yJykge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogJGJ1dHRvbl9lcnJvci0taG92ZXItYm9yZGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX2Vycm9yLS1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uX2Vycm9yLS1ob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX2Vycm9yLS1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJGJ1dHRvbl9lcnJvci0taG92ZXItZmlsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICAgIGN1cnNvcjogYXV0bztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b24taG9vaygkdHlwZSwgJGljb25fcG9zKTtcbn1cblxuQG1peGluIGJ1dHRvbl9zcGFuKFxuICAgICR0eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSxcbiAgICAkaWNvbl9wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvc1xuKSB7XG4gICAgbWFyZ2luLXRvcDogJGJ1dHRvbl9zcGFuLWZvbnQtb2Zmc2V0O1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC13ZWlnaHQ6ICRidXR0b25fZm9udC13ZWlnaHQ7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbl9saW5lLWhlaWdodDtcbiAgICBsZXR0ZXItc3BhY2luZzogJGJ1dHRvbl90ZXh0LWxldHRlci1zcGFjaW5nO1xuXG4gICAgQGlmICgkaWNvbl9wb3MgPT0gJ3JpZ2h0Jykge1xuICAgICAgICBAaWYgKCR0eXBlID09ICdsaW5rJykge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGJ1dHRvbl9saW5rLWljb24tcGFkZGluZztcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAaWYgKFxuICAgICAgICAgICAgICAgIHVuaXQoJGJ1dHRvbl9wYWRkaW5nLXdoZW4taWNvbikgPT1cbiAgICAgICAgICAgICAgICAgICAgdW5pdChcbiAgICAgICAgICAgICAgICAgICAgICAgIGdldC12YWx1ZS1mcm9tLWxpc3QoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJHZhcmlhYmxlOiAkYnV0dG9uX3BhZGRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNpZGU6ICRpY29uX3Bvc1xuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkYnV0dG9uX3BhZGRpbmctd2hlbi1pY29uICtcbiAgICAgICAgICAgICAgICAgICAgZ2V0LXZhbHVlLWZyb20tbGlzdChcbiAgICAgICAgICAgICAgICAgICAgICAgICR2YXJpYWJsZTogJGJ1dHRvbl9wYWRkaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgJHNpZGU6ICRpY29uX3Bvc1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogY2FsYyhcbiAgICAgICAgICAgICAgICAgICAgI3skYnV0dG9uX3BhZGRpbmctd2hlbi1pY29ufSArXG4gICAgICAgICAgICAgICAgICAgICN7Z2V0LXZhbHVlLWZyb20tbGlzdChcbiAgICAgICAgICAgICAgICAgICAgICAgICR2YXJpYWJsZTogJGJ1dHRvbl9wYWRkaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgJHNpZGU6ICRpY29uX3Bvc1xuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIGlmICgkaWNvbl9wb3MgPT0gJ2xlZnQnKSB7XG4gICAgICAgIEBpZiAoJHR5cGUgPT0gJ2xpbmsnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRidXR0b25fbGluay1pY29uLXBhZGRpbmc7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQGlmIChcbiAgICAgICAgICAgICAgICB1bml0KCRidXR0b25fcGFkZGluZy13aGVuLWljb24pID09XG4gICAgICAgICAgICAgICAgICAgIHVuaXQoXG4gICAgICAgICAgICAgICAgICAgICAgICBnZXQtdmFsdWUtZnJvbS1saXN0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICR2YXJpYWJsZTogJGJ1dHRvbl9wYWRkaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlOiAkaWNvbl9wb3NcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkYnV0dG9uX3BhZGRpbmctd2hlbi1pY29uICtcbiAgICAgICAgICAgICAgICAgICAgZ2V0LXZhbHVlLWZyb20tbGlzdChcbiAgICAgICAgICAgICAgICAgICAgICAgICR2YXJpYWJsZTogJGJ1dHRvbl9wYWRkaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgJHNpZGU6ICRpY29uX3Bvc1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKFxuICAgICAgICAgICAgICAgICAgICAjeyRidXR0b25fcGFkZGluZy13aGVuLWljb259ICtcbiAgICAgICAgICAgICAgICAgICAgI3tnZXQtdmFsdWUtZnJvbS1saXN0KFxuICAgICAgICAgICAgICAgICAgICAgICAgJHZhcmlhYmxlOiAkYnV0dG9uX3BhZGRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAkc2lkZTogJGljb25fcG9zXG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0gQGVsc2UgaWYgKCRpY29uX3BvcyA9PSAnb25seS1pY29uJykge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuLWhvb2soJHR5cGUsICRpY29uX3Bvcyk7XG59XG5cbkBtaXhpbiBidXR0b25faWNvbihcbiAgICAkdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUsXG4gICAgJGljb25fcG9zOiAkYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3Ncbikge1xuICAgIG1heC13aWR0aDogMWVtO1xuICAgIG1heC1oZWlnaHQ6ICRidXR0b25fZm9udC1zaXplO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGlmICgkaWNvbl9wb3MgPT0gJ3JpZ2h0Jykgb3IgKCRpY29uX3BvcyA9PSAnbGVmdCcpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgICB9XG5cbiAgICBAaWYgKCRpY29uX3BvcyA9PSAnb25seS1pY29uJykge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogJGJ1dHRvbl9pY29uLW9mZnNldDtcblxuICAgICAgICBAaWYgKCR0eXBlID09ICdsaW5rJykge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRidXR0b25fbGluay1pY29uLXBhZGRpbmcgLyAyO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkYnV0dG9uX2xpbmstaWNvbi1wYWRkaW5nIC8gMjtcbiAgICAgICAgfVxuICAgIH0gQGVsc2UgaWYgKCRpY29uX3BvcyA9PSAncmlnaHQnKSB7XG4gICAgICAgIEBpZiAoJHR5cGUgPT0gJ2xpbmsnKSB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICByaWdodDogZ2V0LXZhbHVlLWZyb20tbGlzdChcbiAgICAgICAgICAgICAgICAkdmFyaWFibGU6ICRidXR0b25fcGFkZGluZyxcbiAgICAgICAgICAgICAgICAkc2lkZTogJGljb25fcG9zXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfSBAZWxzZSBpZiAoJGljb25fcG9zID09ICdsZWZ0Jykge1xuICAgICAgICBAaWYgKCR0eXBlID09ICdsaW5rJykge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIGxlZnQ6IGdldC12YWx1ZS1mcm9tLWxpc3QoXG4gICAgICAgICAgICAgICAgJHZhcmlhYmxlOiAkYnV0dG9uX3BhZGRpbmcsXG4gICAgICAgICAgICAgICAgJHNpZGU6ICRpY29uX3Bvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbl9pY29uLWhvb2soJHR5cGUsICRpY29uX3Bvcyk7XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKlxuICogQmVjYXVzZSBwcmljZS1ib3ggaXMgdXNlZCBpbiBtdWx0aXBsZSBjb21wb25lbnRzIGxpa2UgdGlsZSwgYnV5Ym94IGV0YyxcbiAqIHdlIG5lZWQgdG8gbW92ZSB2YXJpYWJsZXMgdG8gc2VwYXJhdGUgZmlsZSB0byBoYXZlIHBvc3NpYmlsaXR5IHRvIGluY2x1ZGUgdGhlbVxuICogaW4gZWFjaCBjb21wb25lbnQgd2l0aG91dCBnZW5lcmF0ZSBwcmljZS1ib3ggY29tcG9uZW50IHN0eWxlcyBtdWx0aXBsZSB0aW1lc1xuKi9cbi5jcy1hdXRvY29tcGxldGUge1xuICB3aWR0aDogMTAwJTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjE3KTtcbiAgei1pbmRleDogMjAwO1xuICBtYXJnaW4tdG9wOiAtMXB4OyB9XG4gIC5jcy1hdXRvY29tcGxldGUgLmF1dG9jb21wbGV0ZS1saXN0IGRkLCAuY3MtYXV0b2NvbXBsZXRlX19pdGVtIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBsaW5lYXI7XG4gICAgZm9udC1zaXplOiAxLjI5cmVtOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAuY3MtYXV0b2NvbXBsZXRlIC5hdXRvY29tcGxldGUtbGlzdCBkZCwgLmNzLWF1dG9jb21wbGV0ZV9faXRlbSB7XG4gICAgcGFkZGluZzogMXJlbTsgfSB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZSAuYXV0b2NvbXBsZXRlLWxpc3QgZGQ6aG92ZXIsIC5jcy1hdXRvY29tcGxldGUgLmF1dG9jb21wbGV0ZS1saXN0IGRkLnNlbGVjdGVkLCAuY3MtYXV0b2NvbXBsZXRlX19pdGVtOmhvdmVyLCAuY3MtYXV0b2NvbXBsZXRlX19pdGVtLnNlbGVjdGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuY3MtYXV0b2NvbXBsZXRlIC5hdXRvY29tcGxldGUtbGlzdCBkZDpsYXN0LWNoaWxkLCAuY3MtYXV0b2NvbXBsZXRlX19pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgIC5jcy1hdXRvY29tcGxldGUgLmF1dG9jb21wbGV0ZS1saXN0IGRkLWltYWdlLWNvbnRhaW5lciwgLmNzLWF1dG9jb21wbGV0ZV9faXRlbS1pbWFnZS1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5jcy1hdXRvY29tcGxldGUgLmF1dG9jb21wbGV0ZS1saXN0IGRkLWltYWdlLCAuY3MtYXV0b2NvbXBsZXRlX19pdGVtLWltYWdlIHtcbiAgICAgIHdpZHRoOiA0LjVyZW07XG4gICAgICBoZWlnaHQ6IDQuNXJlbTsgfVxuICAgIC5jcy1hdXRvY29tcGxldGUgLmF1dG9jb21wbGV0ZS1saXN0IGRkLWRldGFpbHMsIC5jcy1hdXRvY29tcGxldGVfX2l0ZW0tZGV0YWlscyB7XG4gICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmNzLWF1dG9jb21wbGV0ZSAuYXV0b2NvbXBsZXRlLWxpc3QgZGQtZGV0YWlscyAuZi1maXgsIC5jcy1hdXRvY29tcGxldGVfX2l0ZW0tZGV0YWlscyAuZi1maXgge1xuICAgICAgICBoZWlnaHQ6IDUuOHJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIC5jcy1hdXRvY29tcGxldGUgLmF1dG9jb21wbGV0ZS1saXN0IGRkLWRldGFpbHMgaW1nLCAuY3MtYXV0b2NvbXBsZXRlX19pdGVtLWRldGFpbHMgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuY3MtYXV0b2NvbXBsZXRlIC5hdXRvY29tcGxldGUtbGlzdCBkZC1icmFuZCwgLmNzLWF1dG9jb21wbGV0ZV9faXRlbS1icmFuZCB7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIGNvbG9yOiAjM0UzRTNFOyB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZSAuYXV0b2NvbXBsZXRlLWxpc3QgZGQtbmFtZSwgLmNzLWF1dG9jb21wbGV0ZV9faXRlbS1uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yOXJlbTtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5jcy1hdXRvY29tcGxldGUgLmF1dG9jb21wbGV0ZS1saXN0IGRkLXByaWNlLCAuY3MtYXV0b2NvbXBsZXRlX19pdGVtLXByaWNlIHtcbiAgICAgIG1hcmdpbjogMC4zcmVtIDAgMDsgfVxuICAuY3MtYXV0b2NvbXBsZXRlIC5wcmljZS1ib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuY3MtYXV0b2NvbXBsZXRlIC5wcmljZS1ib3ggPiAucHJpY2Uge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAuY3MtYXV0b2NvbXBsZXRlIC5wcmljZS1ib3ggLm9sZC1wcmljZSA+IC5wcmljZSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZSAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlID4gLnByaWNlIHtcbiAgICAgIGNvbG9yOiAjQ0MxQzNBO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZSAucHJpY2UtYm94IC5taW5pbWFsLXByaWNlLWxpbmsge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1hdXRvY29tcGxldGUgLnByaWNlLWJveCAub2xkLXByaWNlIHtcbiAgICAgIG9yZGVyOiAtMTsgfVxuICAgICAgLmNzLWF1dG9jb21wbGV0ZSAucHJpY2UtYm94IC5vbGQtcHJpY2UgLnByaWNlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlcyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBhZGRpbmc6IDEwcHggMTVweCAxMHB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtaW4taGVpZ2h0OiAyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAyNXB4O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDI1cHg7XG4gICAgbWF4LXdpZHRoOiAxMjVweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgbWF4LXdpZHRoOiA4OHB4O1xuICAgICAgICBwYWRkaW5nOiA4cHggMTNweDsgfSB9XG4gICAgLmllMTEgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2U6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgZm9udC1zaXplOiAwOyB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UgKyAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cbiAgICAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS0tcG9wdWxhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTlDNTQ2O1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlLS1wb3B1bGFyIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlLXRleHQge1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAgIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlLS1wb3B1bGFyIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlLXRleHQgKyAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS0tcG9wdWxhciAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtLWZyZWUtc2hpcHBpbmcge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0E5QzU0NjtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS0tZnJlZS1zaGlwcGluZyAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgICAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS0tZnJlZS1zaGlwcGluZyAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS10ZXh0ICsgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtLWZyZWUtc2hpcHBpbmcgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS10ZXh0IHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlLXRleHQgKyAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS10ZXh0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH0gfVxuXG4uYXV0b2NvbXBsZXRlLWxpc3Qge1xuICBtYXJnaW46IC0xcHggMCAxcmVtO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RjZGNkYzsgfVxuICAuYXV0b2NvbXBsZXRlLWxpc3Q6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3A6IDA7IH1cbiAgLmF1dG9jb21wbGV0ZS1saXN0Omxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmF1dG9jb21wbGV0ZS1saXN0IC5hbW91bnQge1xuICAgIGNvbG9yOiAjM0UzRTNFO1xuICAgIGZvbnQtc2l6ZTogMS4yOXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgICAuYXV0b2NvbXBsZXRlLWxpc3QgLmFtb3VudDpub3QoOmVtcHR5KTphZnRlciB7XG4gICAgICBjb250ZW50OiAnKSc7IH1cbiAgICAuYXV0b2NvbXBsZXRlLWxpc3QgLmFtb3VudDpub3QoOmVtcHR5KTpiZWZvcmUge1xuICAgICAgY29udGVudDogJygnOyB9XG5cbi5hdXRvY29tcGxldGUtbGlzdC10aXRsZSB7XG4gIHBhZGRpbmc6IDEuMnJlbSAzcmVtIDFyZW0gMXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgY29sb3I6ICMzRTNFM0U7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMS4yOXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgbWFyZ2luOiAwOyB9XG4gIC5hdXRvY29tcGxldGUtbGlzdC10aXRsZTpob3ZlciwgLmF1dG9jb21wbGV0ZS1saXN0LXRpdGxlLnNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYXV0b2NvbXBsZXRlLWxpc3QtdGl0bGU6bm90KDplbXB0eSk6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3A6IHRyYW5zcGFyZW50OyB9XG4iLCIvKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuQG1peGluIGJhZGdlX2hvb2soJHR5cGUpIHtcbn1cblxuQG1peGluIGJhZGdlX3R5cGUtaG9vaygkdHlwZSkge1xufVxuXG5AbWl4aW4gYmFkZ2Vfc3Bhbi1ob29rKCR0eXBlKSB7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCIvKlxuICogQmVjYXVzZSBwcmljZS1ib3ggaXMgdXNlZCBpbiBtdWx0aXBsZSBjb21wb25lbnRzIGxpa2UgdGlsZSwgYnV5Ym94IGV0YyxcbiAqIHdlIG5lZWQgdG8gbW92ZSB2YXJpYWJsZXMgdG8gc2VwYXJhdGUgZmlsZSB0byBoYXZlIHBvc3NpYmlsaXR5IHRvIGluY2x1ZGUgdGhlbVxuICogaW4gZWFjaCBjb21wb25lbnQgd2l0aG91dCBnZW5lcmF0ZSBwcmljZS1ib3ggY29tcG9uZW50IHN0eWxlcyBtdWx0aXBsZSB0aW1lc1xuKi9cblxuJHByaWNlLWJveF9ub3JtYWwtcHJpY2UtY29sb3I6ICRjb2xvcl9ibGFjayAhZGVmYXVsdDtcbiRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtc2l6ZTogMS40cmVtICFkZWZhdWx0O1xuJHByaWNlLWJveF9ub3JtYWwtcHJpY2UtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcblxuJHByaWNlLWJveF9zcGVjaWFsLXByaWNlLWNvbG9yOiAkY29sb3JfcHJpbWFyeS1yZWQgIWRlZmF1bHQ7XG4kcHJpY2UtYm94X3NwZWNpYWwtcHJpY2UtZm9udC1zaXplOiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kcHJpY2UtYm94X3NwZWNpYWwtcHJpY2UtZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuXG4kcHJpY2UtYm94X29sZC1wcmljZS1jb2xvcjogJGNvbG9yX2JsYWNrICFkZWZhdWx0O1xuJHByaWNlLWJveF9vbGQtcHJpY2UtZm9udC1zaXplOiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kcHJpY2UtYm94X29sZC1wcmljZS1mb250LXdlaWdodDogJHByaWNlLWJveF9ub3JtYWwtcHJpY2UtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kcHJpY2UtYm94X29sZC1wcmljZS10ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaCAhZGVmYXVsdDtcblxuJHByaWNlLWJveF9sYWJlbC1jb2xvcjogJGNvbG9yX2JsYWNrICFkZWZhdWx0O1xuJHByaWNlLWJveF9sYWJlbC1mb250LXNpemU6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRwcmljZS1ib3hfbGFiZWwtZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJHByaWNlLWJveF9sYWJlbC1kaXNwbGF5LWNvbG9uOiB0cnVlICFkZWZhdWx0O1xuJHByaWNlLWJveF9sYWJlbC1tYXJnaW46IDAuM3JlbSAhZGVmYXVsdDtcblxuJHByaWNlLWJveF9zcGFjZS1iZXR3ZWVuLXByaWNlczogMXJlbSAhZGVmYXVsdDtcbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZS9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3ByaWNlLWJveC92YXJpYWJsZXMnO1xuXG4kYXV0b2NvbXBsZXRlX2xpc3QtYmFja2dyb3VuZDogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9saXN0LWJvcmRlci1yYWRpdXM6IDNweCAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfbGlzdC1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfbGlzdC1ib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoJGNvbG9yX3RleHQtOTAwLCAwLjE3KSAhZGVmYXVsdDtcblxuJGF1dG9jb21wbGV0ZV90aXRsZS1wYWRkaW5nOiAxLjJyZW0gM3JlbSAxcmVtIDFyZW0gIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX3RpdGxlLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfdGl0bGUtYm9yZGVyOiBub25lICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV90aXRsZS1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV90aXRsZS1mb250LXNpemU6IDEuMjlyZW0gIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX3RpdGxlLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG5cbiRhdXRvY29tcGxldGVfaXRlbS1oZWlnaHQ6IDUuOHJlbSAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1wYWRkaW5nOiAwLjVyZW0gMXJlbSAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tYmFja2dyb3VuZDogJGF1dG9jb21wbGV0ZV9saXN0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGNvbG9yX2JhY2tncm91bmQtNTAwICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLXRodW1ibmFpbC13aWR0aDogNC41cmVtICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLXRodW1ibmFpbC1oZWlnaHQ6IDQuNXJlbSAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1mb250LXNpemU6IDEuMjlyZW0gIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1uYW1lLWNvbG9yOiAkY29sb3JfdGV4dC05MDAgIWRlZmF1bHQ7XG5cbiRhdXRvY29tcGxldGVfaXRlbV9icmFuZC1mb250LXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbV9icmFuZC1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuXG4kYXV0b2NvbXBsZXRlX2l0ZW0tcHJpY2UtY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1wcmljZS1mb250LXdlaWdodDogJGF1dG9jb21wbGV0ZV9pdGVtLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLXF1YW50aXR5LWNvbG9yOiAkY29sb3JfdGV4dC00MDAgIWRlZmF1bHQ7XG5cbiRhdXRvY29tcGxldGVfaXRlbV9kaXNwbGF5LW9sZC1wcmljZS1maXJzdDogdHJ1ZSAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1ub3JtYWwtcHJpY2UtY29sb3I6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWNvbG9yICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLW5vcm1hbC1wcmljZS1mb250LXNpemU6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1ub3JtYWwtcHJpY2UtZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLW9sZC1wcmljZS1jb2xvcjogJHByaWNlLWJveF9vbGQtcHJpY2UtY29sb3IgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tb2xkLXByaWNlLWZvbnQtc2l6ZTogJHByaWNlLWJveF9vbGQtcHJpY2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLW9sZC1wcmljZS1mb250LXdlaWdodDogJHByaWNlLWJveF9vbGQtcHJpY2UtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tb2xkLXByaWNlLXRleHQtZGVjb3JhdGlvbjogJHByaWNlLWJveF9vbGQtcHJpY2UtdGV4dC1kZWNvcmF0aW9uICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLXNwZWNpYWwtcHJpY2UtY29sb3I6ICRwcmljZS1ib3hfc3BlY2lhbC1wcmljZS1jb2xvciAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1zcGVjaWFsLXByaWNlLWZvbnQtc2l6ZTogJHByaWNlLWJveF9zcGVjaWFsLXByaWNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1zcGVjaWFsLXByaWNlLWZvbnQtd2VpZ2h0OiAkcHJpY2UtYm94X3NwZWNpYWwtcHJpY2UtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG5cbi4jeyRuc31hdXRvY29tcGxldGUge1xuICAgICRyb290OiAmO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXV0b2NvbXBsZXRlX2xpc3QtYmFja2dyb3VuZDtcbiAgICBib3JkZXItcmFkaXVzOiAkYXV0b2NvbXBsZXRlX2xpc3QtYm9yZGVyLXJhZGl1cztcbiAgICBib3gtc2hhZG93OiAkYXV0b2NvbXBsZXRlX2xpc3QtYm94LXNoYWRvdztcbiAgICB6LWluZGV4OiAyMDA7XG4gICAgbWFyZ2luLXRvcDogLTFweDtcblxuICAgIC5hdXRvY29tcGxldGUtbGlzdCBkZCxcbiAgICAmX19pdGVtIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGF1dG9jb21wbGV0ZV9pdGVtLWJhY2tncm91bmQ7XG4gICAgICAgIHBhZGRpbmc6ICRhdXRvY29tcGxldGVfaXRlbS1wYWRkaW5nO1xuICAgICAgICBtYXJnaW46ICRhdXRvY29tcGxldGVfaXRlbS1tYXJnaW47XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRhdXRvY29tcGxldGVfaXRlbS1ib3JkZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgbGluZWFyO1xuICAgICAgICBmb250LXNpemU6ICRhdXRvY29tcGxldGVfaXRlbS1mb250LXNpemU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5zZWxlY3RlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXV0b2NvbXBsZXRlX2l0ZW0tYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtaW1hZ2Uge1xuICAgICAgICAgICAgd2lkdGg6ICRhdXRvY29tcGxldGVfaXRlbS10aHVtYm5haWwtd2lkdGg7XG4gICAgICAgICAgICBoZWlnaHQ6ICRhdXRvY29tcGxldGVfaXRlbS10aHVtYm5haWwtaGVpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi1kZXRhaWxzIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAuZi1maXgge1xuICAgICAgICAgICAgICAgIGhlaWdodDogJGF1dG9jb21wbGV0ZV9pdGVtLWhlaWdodDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWJyYW5kIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGF1dG9jb21wbGV0ZV9pdGVtX2JyYW5kLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkYXV0b2NvbXBsZXRlX2l0ZW1fYnJhbmQtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmLW5hbWUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkYXV0b2NvbXBsZXRlX2l0ZW0tZm9udC1zaXplO1xuICAgICAgICAgICAgY29sb3I6ICRhdXRvY29tcGxldGVfaXRlbS1uYW1lLWNvbG9yO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRhdXRvY29tcGxldGVfaXRlbS1mb250LXdlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtcHJpY2Uge1xuICAgICAgICAgICAgbWFyZ2luOiAwLjNyZW0gMCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByaWNlLWJveCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgPiAucHJpY2Uge1xuICAgICAgICAgICAgY29sb3I6ICRhdXRvY29tcGxldGVfaXRlbS1ub3JtYWwtcHJpY2UtY29sb3I7XG4gICAgICAgICAgICBmb250LXNpemU6ICRhdXRvY29tcGxldGVfaXRlbS1ub3JtYWwtcHJpY2UtZm9udC1zaXplO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRhdXRvY29tcGxldGVfaXRlbS1wcmljZS1mb250LXdlaWdodDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vbGQtcHJpY2Uge1xuICAgICAgICAgICAgPiAucHJpY2Uge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGF1dG9jb21wbGV0ZV9pdGVtLW9sZC1wcmljZS10ZXh0LWRlY29yYXRpb247XG4gICAgICAgICAgICAgICAgY29sb3I6ICRhdXRvY29tcGxldGVfaXRlbS1vbGQtcHJpY2UtY29sb3I7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkYXV0b2NvbXBsZXRlX2l0ZW0tb2xkLXByaWNlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGF1dG9jb21wbGV0ZV9pdGVtLW9sZC1wcmljZS1mb250LXdlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zcGVjaWFsLXByaWNlIHtcbiAgICAgICAgICAgID4gLnByaWNlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGF1dG9jb21wbGV0ZV9pdGVtLXNwZWNpYWwtcHJpY2UtY29sb3I7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkYXV0b2NvbXBsZXRlX2l0ZW0tc3BlY2lhbC1wcmljZS1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRhdXRvY29tcGxldGVfaXRlbS1zcGVjaWFsLXByaWNlLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1pbmltYWwtcHJpY2UtbGluayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkYXV0b2NvbXBsZXRlX2l0ZW1fZGlzcGxheS1vbGQtcHJpY2UtZmlyc3QpIHtcbiAgICAgICAgICAgIC5vbGQtcHJpY2Uge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAtMTtcblxuICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHByaWNlLWJveF9zcGFjZS1iZXR3ZWVuLXByaWNlcztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgLnNwZWNpYWwtcHJpY2Uge1xuICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHByaWNlLWJveF9zcGFjZS1iZXR3ZWVuLXByaWNlcztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19iYWRnZXMge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICB9XG5cbiAgICAmX19iYWRnZSB7XG4gICAgICAgIEBpbmNsdWRlIGJhZGdlKCk7XG5cbiAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXBvcHVsYXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2VfdHlwZSgncG9wdWxhcicpO1xuXG4gICAgICAgICAgICAjeyRyb290fV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2Vfc3BhbigncG9wdWxhcicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZnJlZS1zaGlwcGluZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV90eXBlKCdmcmVlLXNoaXBwaW5nJyk7XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19iYWRnZS10ZXh0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV9zcGFuKCdmcmVlLXNoaXBwaW5nJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19iYWRnZS10ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgYmFkZ2Vfc3BhbigpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXBob25lJykge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmF1dG9jb21wbGV0ZS1saXN0IHtcbiAgICBtYXJnaW46IC0xcHggMCAxcmVtO1xuICAgIGJvcmRlci10b3A6ICRhdXRvY29tcGxldGVfbGlzdC1ib3JkZXI7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5hbW91bnQge1xuICAgICAgICBjb2xvcjogJGF1dG9jb21wbGV0ZV9pdGVtLXF1YW50aXR5LWNvbG9yO1xuICAgICAgICBmb250LXNpemU6ICRhdXRvY29tcGxldGVfaXRlbS1mb250LXNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkYXV0b2NvbXBsZXRlX2l0ZW0tZm9udC13ZWlnaHQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG5cbiAgICAgICAgJjpub3QoOmVtcHR5KSB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnKSc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnKCc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hdXRvY29tcGxldGUtbGlzdC10aXRsZSB7XG4gICAgcGFkZGluZzogJGF1dG9jb21wbGV0ZV90aXRsZS1wYWRkaW5nO1xuICAgIGJvcmRlci1ib3R0b206ICRhdXRvY29tcGxldGVfdGl0bGUtYm9yZGVyO1xuICAgIGNvbG9yOiAkYXV0b2NvbXBsZXRlX3RpdGxlLWNvbG9yO1xuICAgIGZvbnQtd2VpZ2h0OiAkYXV0b2NvbXBsZXRlX3RpdGxlLWZvbnQtd2VpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAkYXV0b2NvbXBsZXRlX3RpdGxlLWZvbnQtc2l6ZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIG1hcmdpbjogJGF1dG9jb21wbGV0ZV90aXRsZS1tYXJnaW47XG5cbiAgICAmOmhvdmVyLFxuICAgICYuc2VsZWN0ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmOm5vdCg6ZW1wdHkpIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZS9ob29rJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbiRiYWRnZV9mb250LXNpemU6IDEuM3JlbSAhZGVmYXVsdDtcbiRiYWRnZV9mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xuJGJhZGdlX2hlaWdodDogMmVtICFkZWZhdWx0O1xuJGJhZGdlX3BhZGRpbmc6IDEwcHggMTVweCAxMHB4IDI1cHggIWRlZmF1bHQ7XG4kYmFkZ2VfYm9yZGVyOiAwICFkZWZhdWx0O1xuJGJhZGdlX2JvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XG4kYmFkZ2VfdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcblxuJGJhZGdlX3RyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcbiRiYWRnZV9zcGFuLXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcblxuJGJhZGdlLS1kZWZhdWx0LWJhY2tncm91bmQ6ICRjb2xvcl9tYWluX19icmFuZCAhZGVmYXVsdDtcbiRiYWRnZS0tZGVmYXVsdC1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuXG4kYmFkZ2UtLW5ldy1iYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeS1ncmVlbiAhZGVmYXVsdDtcbiRiYWRnZS0tbmV3LWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG5cbiRiYWRnZS0tZGlzY291bnQtYmFja2dyb3VuZDogJGNvbG9yX21haW5fX2JyYW5kICFkZWZhdWx0O1xuJGJhZGdlLS1kaXNjb3VudC1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuXG4kYmFkZ2UtLXNhbGUtYmFja2dyb3VuZDogJGNvbG9yX3ByaW1hcnktcmVkICFkZWZhdWx0O1xuJGJhZGdlLS1zYWxlLWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG5cbiRiYWRnZS0tZnJlZS1iYWNrZ3JvdW5kOiAkY29sb3Jfc3VjY2Vzcy01MDAgIWRlZmF1bHQ7XG4kYmFkZ2UtLWZyZWUtY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcblxuJGJhZGdlLS1mcmVlLXNoaXBwaW5nLWJhY2tncm91bmQ6ICRjb2xvcl9zdWNjZXNzLTUwMCAhZGVmYXVsdDtcbiRiYWRnZS0tZnJlZS1zaGlwcGluZy1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuXG4kYmFkZ2UtLXBvcHVsYXItYmFja2dyb3VuZDogJGNvbG9yX3N1Y2Nlc3MtNTAwICFkZWZhdWx0O1xuJGJhZGdlLS1wb3B1bGFyLWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG5cbiRiYWRnZS0tcmVjZW50bHktYm91Z2h0LWJhY2tncm91bmQ6ICRjb2xvcl9zdWNjZXNzLTUwMCAhZGVmYXVsdDtcbiRiYWRnZS0tcmVjZW50bHktYm91Z2h0LWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG5cbiRiYWRnZS0tZGFpbHlkZWFsLWJhY2tncm91bmQ6ICRjb2xvcl9lcnJvci01MDAgIWRlZmF1bHQ7XG4kYmFkZ2UtLWRhaWx5ZGVhbC1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuXG4kYmFkZ2UtLXRvcC1iYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kYmFkZ2UtLXRvcC1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuXG5AbWl4aW4gYmFkZ2UoJHR5cGU6ICdkZWZhdWx0Jykge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zZm9ybTogJGJhZGdlX3RyYW5zZm9ybTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFkZ2UtLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhZGdlLS1kZWZhdWx0LWNvbG9yO1xuICAgIGJvcmRlcjogJGJhZGdlX2JvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAkYmFkZ2VfYm9yZGVyLXJhZGl1cztcbiAgICBwYWRkaW5nOiAkYmFkZ2VfcGFkZGluZztcbiAgICBmb250LXNpemU6ICRiYWRnZV9mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRiYWRnZV9mb250LXdlaWdodDtcbiAgICBtaW4taGVpZ2h0OiAkYmFkZ2VfaGVpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiAkYmFkZ2VfdGV4dC10cmFuc2Zvcm07XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMjVweDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAyNXB4O1xuICAgIG1heC13aWR0aDogMTI1cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDg4cHg7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxM3B4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJhZGdlX2hvb2soJHR5cGUpO1xufVxuXG5AbWl4aW4gYmFkZ2VfdHlwZSgkdHlwZTogJ2RlZmF1bHQnKSB7XG4gICAgQGlmICgkdHlwZSA9PSAnbmV3Jykge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFkZ2UtLW5ldy1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGJhZGdlLS1uZXctY29sb3I7XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAnZnJlZScpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhZGdlLS1mcmVlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkYmFkZ2UtLWZyZWUtY29sb3I7XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAnZnJlZS1zaGlwcGluZycpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhZGdlLS1mcmVlLXNoaXBwaW5nLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkYmFkZ2UtLWZyZWUtc2hpcHBpbmctY29sb3I7XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAncG9wdWxhcicpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhZGdlLS1wb3B1bGFyLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkYmFkZ2UtLXBvcHVsYXItY29sb3I7XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAnZGlzY291bnQnKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWRnZS0tZGlzY291bnQtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRiYWRnZS0tZGlzY291bnQtY29sb3I7XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAnc2FsZScpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhZGdlLS1zYWxlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkYmFkZ2UtLXNhbGUtY29sb3I7XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAncmVjZW50bHktYm91Z2h0Jykge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFkZ2UtLXJlY2VudGx5LWJvdWdodC1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGJhZGdlLS1yZWNlbnRseS1ib3VnaHQtY29sb3I7XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAnZGFpbHlkZWFsJykge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFkZ2UtLWRhaWx5ZGVhbC1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGJhZGdlLS1kYWlseWRlYWwtY29sb3I7XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAnZGFpbHlkZWFsLXBkcCcpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhZGdlLS1kYWlseWRlYWwtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRiYWRnZS0tZGFpbHlkZWFsLWNvbG9yO1xuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ3RvcCcpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhZGdlLS10b3AtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRiYWRnZS0tdG9wLWNvbG9yO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJhZGdlX3R5cGUtaG9vaygkdHlwZSk7XG59XG5cbkBtaXhpbiBiYWRnZV9zcGFuKCR0eXBlOiAnZGVmYXVsdCcpIHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIHRyYW5zZm9ybTogJGJhZGdlX3NwYW4tdHJhbnNmb3JtO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgJiArICYge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4taG9vaygkdHlwZSk7XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogUmVtb3ZlIGJyb3dzZXIncyBtYXJnaW5zLCBwYWRkaW5ncyBhbmQgbGlzdCBzdHlsZSBydWxlc1xuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4uY3MtYnJlYWRjcnVtYnMge1xuICBwYWRkaW5nLXRvcDogMS4zcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS4zcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgLmNzLWJyZWFkY3J1bWJzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAuY3MtYnJlYWRjcnVtYnNfX2xpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmNzLWJyZWFkY3J1bWJzX19pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDEuOTVlbSAwIDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgLmNzLWJyZWFkY3J1bWJzX19pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGNvbG9yOiAjNkU2RTZFO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgLmNzLWJyZWFkY3J1bWJzX19pdGVtOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogMC44ZW07XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiA1cHg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGNvbG9yOiAjRkY0NjA0O1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2Fycm93LXJpZ2h0QDF4LnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNXB4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuICAuY3MtYnJlYWRjcnVtYnNfX2xpbmsge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAuY3MtYnJlYWRjcnVtYnNfX2xpbms6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogI0ZGNDYwNDsgfVxuICAgIC5jcy1icmVhZGNydW1ic19fbGluazpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogI0ZGNDYwNDsgfVxuICAgIC5jcy1icmVhZGNydW1ic19fbGluazphZnRlciB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjRkY0NjA0O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmNzLWJyZWFkY3J1bWJzX19saW5rOnZpc2l0ZWQ6aG92ZXIsIC5jcy1icmVhZGNydW1ic19fbGluazpob3ZlciB7XG4gICAgICBjb2xvcjogI0ZGNDYwNDsgfVxuICAgICAgLmNzLWJyZWFkY3J1bWJzX19saW5rOnZpc2l0ZWQ6aG92ZXI6YWZ0ZXIsIC5jcy1icmVhZGNydW1ic19fbGluazpob3ZlcjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNGRjQ2MDQ7IH1cbiAgLmNzLWJyZWFkY3J1bWJzX19zZXBhcmF0b3ItaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAwLjVlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgd2lkdGg6IDAuOGVtO1xuICAgIGhlaWdodDogMC44ZW07XG4gICAgZmlsbDogI0ZGNDYwNDsgfVxuIiwiLyoqKlxuICogUmVtb3ZlIGJyb3dzZXIncyBtYXJnaW5zLCBwYWRkaW5ncyBhbmQgbGlzdCBzdHlsZSBydWxlc1xuICovXG5cbkBtaXhpbiByZXNldC1saXN0LXN0eWxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5AaW1wb3J0ICdldGMvdmlldy5zY3NzJztcbkBpbXBvcnQgJ3V0aWxzL2RlZXAtZ2V0L2RlZXAtZ2V0LnNjc3MnO1xuXG4kYnJlYWRjcnVtYnNfc2VwYXJhdG9yLWN1c3RvbS1kYXRhOiBkZWVwLWdldChcbiAgICAkdmlldy14bWwsXG4gICAgdmFycyxcbiAgICBNYWdlbnRvX1RoZW1lLFxuICAgIGJyZWFkY3J1bWJzLFxuICAgIGN1c3RvbV9zZXBhcmF0b3JcbikgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYnNfc2VwYXJhdG9yLWN1c3RvbS1zaG93OiAje21hcC1nZXQoXG4gICAgICAgICRicmVhZGNydW1ic19zZXBhcmF0b3ItY3VzdG9tLWRhdGEsXG4gICAgICAgIGRpc3BsYXlcbiAgICApfSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWJzX2JhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJyZWFkY3J1bWJzX2JhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYnNfYmFja2dyb3VuZDogJGJyZWFkY3J1bWJzX2JhY2tncm91bmQtY29sb3JcbiAgICAkYnJlYWRjcnVtYnNfYmFja2dyb3VuZC1pbWFnZSBuby1yZXBlYXQgcmlnaHQgLyBhdXRvIDYuOHJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWJzX2l0ZW0tZm9udC1zaXplOiAxLjRyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYnNfaXRlbS1jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWJzX2l0ZW0taG92ZXItY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1ic19pdGVtLXZpc2l0ZWQtY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1ic19sYXN0LWl0ZW0tY29sb3I6ICRjb2xvcl9ncmF5ICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYnNfc2VwYXJhdG9yLWNvbG9yOiAkYnJlYWRjcnVtYnNfaXRlbS1jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1ic19zZXBhcmF0b3ItY29udGVudDogJ1xcMjA0NCcgIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1ic192ZXJ0aWNhbC1zcGFjZTogMS4zcmVtICFkZWZhdWx0O1xuXG4uI3skbnN9YnJlYWRjcnVtYnMge1xuICAgICRyb290OiAmO1xuICAgIHBhZGRpbmctdG9wOiAkYnJlYWRjcnVtYnNfdmVydGljYWwtc3BhY2U7XG4gICAgcGFkZGluZy1ib3R0b206ICRicmVhZGNydW1ic192ZXJ0aWNhbC1zcGFjZTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZSgpO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDEuOTVlbSAwIDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYnNfaXRlbS1mb250LXNpemU7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzX2xhc3QtaXRlbS1jb2xvcjtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHJpZ2h0OiAwLjhlbTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgY29sb3I6ICRicmVhZGNydW1ic19zZXBhcmF0b3ItY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvYXJyb3ctcmlnaHRAMXguc3ZnXCIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA1cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkYnJlYWRjcnVtYnNfc2VwYXJhdG9yLWN1c3RvbS1zaG93ICE9ICcnKSB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzX2l0ZW0tY29sb3I7XG5cbiAgICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnNfaXRlbS12aXNpdGVkLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzX2l0ZW0taG92ZXItY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRicmVhZGNydW1ic19pdGVtLWNvbG9yO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgJjp2aXNpdGVkOmhvdmVyLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnNfaXRlbS1ob3Zlci1jb2xvcjtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJyZWFkY3J1bWJzX2l0ZW0taG92ZXItY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zZXBhcmF0b3ItaWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHJpZ2h0OiAwLjVlbTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB3aWR0aDogMC44ZW07XG4gICAgICAgIGhlaWdodDogMC44ZW07XG4gICAgICAgIGZpbGw6ICRicmVhZGNydW1ic19zZXBhcmF0b3ItY29sb3I7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqKlxuICogUmVtb3ZlIGJyb3dzZXIncyBtYXJnaW5zLCBwYWRkaW5ncyBhbmQgbGlzdCBzdHlsZSBydWxlc1xuICovXG4uY3MtYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICBwYWRkaW5nOiA4cHggMjVweDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgei1pbmRleDogNTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjsgfVxuICAuY3MtYnV0dG9uLm1lZGl1bSB7XG4gICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gIC5jcy1idXR0b24ubGFyZ2Uge1xuICAgIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAuY3MtYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNzLWJ1dHRvbiwgLmNzLWJ1dHRvbjp2aXNpdGVkIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAuY3MtYnV0dG9uICosIC5jcy1idXR0b246dmlzaXRlZCAqIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAuY3MtYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY3NDQyOyB9XG4gICAgLmNzLWJ1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWJ1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gIC5jcy1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjY1O1xuICAgIGN1cnNvcjogYXV0bzsgfVxuICAuY3MtYnV0dG9uX19zcGFuIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgcGFkZGluZy1yaWdodDogNGVtOyB9XG4gIC5jcy1idXR0b25fX2ljb24ge1xuICAgIG1heC13aWR0aDogMWVtO1xuICAgIG1heC1oZWlnaHQ6IDEuNHJlbTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcmlnaHQ6IDFlbTsgfVxuXG4uY3MtYnV0dG9uLWNvbXBvbmVudCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIjtcbiAgcGFkZGluZzogOHB4IDI1cHg7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHotaW5kZXg6IDU7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7XG4gIG1hcmdpbjogMCAwIDNyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLmNzLWJ1dHRvbi1jb21wb25lbnQubWVkaXVtIHtcbiAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgLmNzLWJ1dHRvbi1jb21wb25lbnQubGFyZ2Uge1xuICAgIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAuY3MtYnV0dG9uLWNvbXBvbmVudDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1idXR0b24tY29tcG9uZW50LCAuY3MtYnV0dG9uLWNvbXBvbmVudDp2aXNpdGVkIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAuY3MtYnV0dG9uLWNvbXBvbmVudCAqLCAuY3MtYnV0dG9uLWNvbXBvbmVudDp2aXNpdGVkICoge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gIC5jcy1idXR0b24tY29tcG9uZW50OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWJ1dHRvbi1jb21wb25lbnQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtYnV0dG9uLWNvbXBvbmVudDphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjc0NDI7IH1cbiAgICAuY3MtYnV0dG9uLWNvbXBvbmVudDpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWJ1dHRvbi1jb21wb25lbnQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1idXR0b24tY29tcG9uZW50OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgLmNzLWJ1dHRvbi1jb21wb25lbnRbZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjY1O1xuICAgIGN1cnNvcjogYXV0bzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1idXR0b24tY29tcG9uZW50IHtcbiAgICAgIG1hcmdpbjogMCAwIDRyZW07IH0gfVxuICAuY3MtYnV0dG9uLWNvbXBvbmVudC0tc2tpcC1zcGFjaW5nIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNzLWJ1dHRvbi1jb21wb25lbnRfX3NwYW4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07IH1cbiAgLmNzLWJ1dHRvbi1jb21wb25lbnRfX2ljb24ge1xuICAgIG1heC13aWR0aDogMWVtO1xuICAgIG1heC1oZWlnaHQ6IDEuNHJlbTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcmlnaHQ6IDFlbTsgfVxuICAuY3MtYnV0dG9uLWNvbXBvbmVudF9fYW1vdW50OmJlZm9yZSB7XG4gICAgY29udGVudDogJygnOyB9XG4gIC5jcy1idXR0b24tY29tcG9uZW50X19hbW91bnQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcpJzsgfVxuXG4uYnV0dG9uLnNlY29uZGFyeSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIjtcbiAgcGFkZGluZzogOHB4IDI1cHg7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHotaW5kZXg6IDU7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnkubWVkaXVtIHtcbiAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnkubGFyZ2Uge1xuICAgIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAuYnV0dG9uLnNlY29uZGFyeTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5LCAuYnV0dG9uLnNlY29uZGFyeTp2aXNpdGVkIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLnNlY29uZGFyeSAqLCAuYnV0dG9uLnNlY29uZGFyeTp2aXNpdGVkICoge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmaWxsOiAjRkY0NjA0OyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuYnV0dG9uLnNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzRTNFM0U7IH1cbiAgICAuYnV0dG9uLnNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5idXR0b24uc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjY1O1xuICAgIGN1cnNvcjogYXV0bzsgfVxuXG4uYnV0dG9uLnByaW1hcnkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gIG1hcmdpbjogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gIHBhZGRpbmc6IDhweCAyNXB4O1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB6LWluZGV4OiA1O1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5Lm1lZGl1bSB7XG4gICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gIC5idXR0b24ucHJpbWFyeS5sYXJnZSB7XG4gICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gIC5idXR0b24ucHJpbWFyeTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5idXR0b24ucHJpbWFyeSwgLmJ1dHRvbi5wcmltYXJ5OnZpc2l0ZWQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDsgfVxuICAgIC5idXR0b24ucHJpbWFyeSAqLCAuYnV0dG9uLnByaW1hcnk6dmlzaXRlZCAqIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLnByaW1hcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuYnV0dG9uLnByaW1hcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY3NDQyOyB9XG4gICAgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5idXR0b24ucHJpbWFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgY3Vyc29yOiBhdXRvOyB9XG5cbi5pY29uX19hcnJvdy1yb3VuZC1yaWdodCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5pY29uX19hcnJvdy1yb3VuZC1yaWdodDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2Fycm93QDF4LnN2Z1wiKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB3aWR0aDogMjdweDtcbiAgICBoZWlnaHQ6IDI3cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7IH1cblxuLmljb25fX2Fycm93LXJvdW5kLWxlZnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuaWNvbl9fYXJyb3ctcm91bmQtbGVmdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy9hcnJvd2xlZnRAMXguc3ZnXCIpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIHdpZHRoOiAyN3B4O1xuICAgIGhlaWdodDogMjdweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH1cblxuLmxpbmtzLWxpc3Qge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgLmxpbmtzLWxpc3Qge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9XG4gIC5saW5rcy1saXN0X19pdGVtIHtcbiAgICBmbGV4OiAxIDE7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgLmxpbmtzLWxpc3RfX2l0ZW0ge1xuICAgICAgICBmbGV4OiAxIDEgNTAlO1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAubGlua3MtbGlzdF9fbGluayB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjRweDtcbiAgICBwYWRkaW5nOiAyMHB4IDEwcHg7IH1cbiAgICAubGlua3MtbGlzdF9fbGluazp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5saW5rcy1saXN0X19saW5rIHtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogcHJlOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgLmxpbmtzLWxpc3RfX2xpbms6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogMjFweDtcbiAgICAgICAgaGVpZ2h0OiAyMXB4O1xuICAgICAgICBtaW4td2lkdGg6IDIxcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH0gfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd1dGlscy9jb21wb25lbnQtc3BhY2luZyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9taXhpbic7XG5AaW1wb3J0ICd1dGlscy9yZXNldC1saXN0LXN0eWxlJztcblxuJGJ1dHRvbi1mYWxsYmFja190eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSAhZGVmYXVsdDtcbiRidXR0b24tZmFsbGJhY2tfaWNvbi1wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvcyAhZGVmYXVsdDtcblxuJGJ1dHRvbi1jb21wb25lbnRfdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUgIWRlZmF1bHQ7XG4kYnV0dG9uLWNvbXBvbmVudF9pY29uLXBvczogJGJ1dHRvbl9kZWZhdWx0LWljb24tcG9zICFkZWZhdWx0O1xuJGJ1dHRvbi1jb21wb25lbnRfaG9yaXpvbnRhbC1wb3NpdGlvbjogNTAlICFkZWZhdWx0O1xuJGJ1dHRvbi1jb21wb25lbnRfaG9yaXpvbnRhbC10cmFuc2xhdGlvbjogdHJhbnNsYXRlWCgtNTAlKSAhZGVmYXVsdDtcblxuLiN7JG5zfWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAkdHlwZTogJGJ1dHRvbi1mYWxsYmFja190eXBlLFxuICAgICAgICAkaWNvbl9wb3M6ICRidXR0b24tZmFsbGJhY2tfaWNvbi1wb3NcbiAgICApO1xuXG4gICAgJl9fc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgJHR5cGU6ICRidXR0b24tZmFsbGJhY2tfdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGJ1dHRvbi1mYWxsYmFja19pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICR0eXBlOiAkYnV0dG9uLWZhbGxiYWNrX3R5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRidXR0b24tZmFsbGJhY2tfaWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICB9XG59XG5cbi4jeyRuc31idXR0b24tY29tcG9uZW50IHtcbiAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICR0eXBlOiAkYnV0dG9uLWNvbXBvbmVudF90eXBlLFxuICAgICAgICAkaWNvbl9wb3M6ICRidXR0b24tY29tcG9uZW50X2ljb24tcG9zXG4gICAgKTtcbiAgICBAaW5jbHVkZSBjb21wb25lbnQtc3BhY2luZygpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6ICRidXR0b24tY29tcG9uZW50X2hvcml6b250YWwtcG9zaXRpb247XG4gICAgdHJhbnNmb3JtOiAkYnV0dG9uLWNvbXBvbmVudF9ob3Jpem9udGFsLXRyYW5zbGF0aW9uO1xuXG4gICAgJl9fc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgJHR5cGU6ICRidXR0b24tY29tcG9uZW50X3R5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRidXR0b24tY29tcG9uZW50X2ljb24tcG9zXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9pY29uKFxuICAgICAgICAgICAgJHR5cGU6ICRidXR0b24tY29tcG9uZW50X3R5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRidXR0b24tY29tcG9uZW50X2ljb24tcG9zXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgJl9fYW1vdW50IHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJygnO1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyknO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYnV0dG9uIHtcbiAgICAmLnNlY29uZGFyeSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICRpY29uX3BvczogbnVsbCxcbiAgICAgICAgICAgICR0ZXh0X3RyYW5zZm9ybTogdXBwZXJjYXNlLFxuICAgICAgICAgICAgJGJvcmRlci1yYWRpdXM6IDI1cHhcbiAgICAgICAgKTtcbiAgICB9XG4gICAgJi5wcmltYXJ5IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgJHR5cGU6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgICRpY29uX3BvczogbnVsbCxcbiAgICAgICAgICAgICR0ZXh0X3RyYW5zZm9ybTogdXBwZXJjYXNlLFxuICAgICAgICAgICAgJGJvcmRlci1yYWRpdXM6IDI1cHhcbiAgICAgICAgKTtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIH1cbn1cblxuLmljb25fX2Fycm93LXJvdW5kLXJpZ2h0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy9hcnJvd0AxeC5zdmdcIikgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDI3cHg7XG4gICAgICAgIGhlaWdodDogMjdweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgfVxufVxuXG4uaWNvbl9fYXJyb3ctcm91bmQtbGVmdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2Fycm93bGVmdEAxeC5zdmdcIikgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDI3cHg7XG4gICAgICAgIGhlaWdodDogMjdweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIH1cbn1cblxuXG4ubGlua3MtbGlzdCB7XG4gICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZSgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBmbGV4OiAxIDE7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgZmxleDogMSAxIDUwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBjb2xvcjogJGNvbG9yX2JsYWNrO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC40cHg7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMTBweDtcblxuICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9ibGFjaztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIxcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMXB4O1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMjFweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG59XG5cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29uZmlnL2JyZWFrcG9pbnRzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbkBtaXhpbiBjb21wb25lbnQtc3BhY2luZygkbWFyZ2lucy1jb25maWc6ICRjb21wb25lbnQtc3BhY2luZy1jb25maWd1cmF0aW9uKSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRtYXJnaW5zLWNvbmZpZywgZGVmYXVsdCkge1xuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJG1hcmdpbnMtY29uZmlnLCBkZWZhdWx0KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gRGVmYXVsdCBjb21wb25lbnQgbWFyZ2luIHZhbHVlXG4gICAgICAgIG1hcmdpbjogMCAwIDNyZW07XG4gICAgfVxuXG4gICAgQGlmIG1hcC1oYXMta2V5KCRtYXJnaW5zLWNvbmZpZywgcmVzcG9uc2l2ZSkge1xuICAgICAgICAvLyBBZGRpbmcgbWFyZ2luIHJ1bGVzIGZvciBlYWNoIHBhc3NlZCBicmVha3BvaW50XG4gICAgICAgIEBlYWNoICRicmVha3BvaW50LCAkbWFyZ2luIGluIG1hcC1nZXQoJG1hcmdpbnMtY29uZmlnLCByZXNwb25zaXZlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgjeyRicmVha3BvaW50fSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogJG1hcmdpbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXNraXAtc3BhY2luZyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIE1peGlucyBmb3IgZmxleGlibGUgY29udGFpbmVycyBkZWNsYXJhdGlvbi5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIHBhZ2UgY29udGFpbmVyLiBUaGlzIG1peGluIG1ha2VzIHN1cmUgdGhhdCB0aGUgY29udGVudCBoYXMgYWx3YXlzIGVxdWFsIHBhZGRpbmdcbiAqIGZvciBtb2JpbGUgc2NyZWVucyBvbiBib3RoIHNpemUgb2YgdGhlIGRldmljZS5cbiAqL1xuLyoqXG4gKiBOZWdhdGVzIHBhcmVudCBjb250YWluZXIncyBwYWRkaW5nIGFuZCBzZXRzIGl0IG93bi5cbiAqIFNvbWV0aGltZXMgdGhpcyBoYXMgdG8gYmUgZG9uZSB0byBtYWtlIGJhY2tncm91bmQgZXZlbiB0byBvdGhlciBjb250YWluZXJzJyBjb250ZW50LlxuICovXG4vKipcbiAqIERlZmluZXMgY29udGFpbmVyIHdyYXBwZXIgdGhhdCBtYWtlcyBzdXJlIGNvbnRuZXQgZG9lc24ndCBleHRlbmQgYWJvdmUgY2VydGFpbiB3aWR0aCBhbmQgaXMgYWx3YXlzIGNlbnRlcmVkLlxuICovXG5ib2R5LmNtcy1uby1yb3V0ZSAuY3MtY29udGFpbmVyX19pbm5lciBoMSwgYm9keS5jbXMtbm8tcm91dGUgLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyBoMSB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBmb250LWZhbWlseTogMjhweDtcbiAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuYm9keS5jbXMtbm8tcm91dGUgLmNzLWNvbnRhaW5lcl9faW5uZXIgaDIsIGJvZHkuY21zLW5vLXJvdXRlIC5jcy1jb250YWluZXJfX3Jldmlld3MgaDIsIGJvZHkuY21zLW5vLXJvdXRlIC5jcy1jb250YWluZXJfX2lubmVyIGgzLCBib2R5LmNtcy1uby1yb3V0ZSAuY3MtY29udGFpbmVyX19yZXZpZXdzIGgzIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG5ib2R5LmNtcy1uby1yb3V0ZSAuY3MtY29udGFpbmVyX19pbm5lciB1bC5idXR0b25zLXNldCwgYm9keS5jbXMtbm8tcm91dGUgLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyB1bC5idXR0b25zLXNldCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMjBweCAwIDA7IH1cbiAgYm9keS5jbXMtbm8tcm91dGUgLmNzLWNvbnRhaW5lcl9faW5uZXIgdWwuYnV0dG9ucy1zZXQgYnV0dG9uLCBib2R5LmNtcy1uby1yb3V0ZSAuY3MtY29udGFpbmVyX19yZXZpZXdzIHVsLmJ1dHRvbnMtc2V0IGJ1dHRvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbmJvZHkuY21zLW5vLXJvdXRlIC5jb2x1bW5zIC5jb2x1bW4ubWFpbiB7XG4gIHBhZGRpbmc6IDQ1cHggMTVweCAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IDEzOHJlbTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgYm9keS5jbXMtbm8tcm91dGUgLmNvbHVtbnMgLmNvbHVtbi5tYWluIGgxIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LWZhbWlseTogMjhweDtcbiAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gIGJvZHkuY21zLW5vLXJvdXRlIC5jb2x1bW5zIC5jb2x1bW4ubWFpbiBoMiwgYm9keS5jbXMtbm8tcm91dGUgLmNvbHVtbnMgLmNvbHVtbi5tYWluIGgzIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgYm9keS5jbXMtbm8tcm91dGUgLmNvbHVtbnMgLmNvbHVtbi5tYWluIHVsLmJ1dHRvbnMtc2V0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMjBweCAwIDA7IH1cbiAgICBib2R5LmNtcy1uby1yb3V0ZSAuY29sdW1ucyAuY29sdW1uLm1haW4gdWwuYnV0dG9ucy1zZXQgYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG4uY3MtY29udGFpbmVyIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gIC5jcy1jb250YWluZXJfX2lubmVyLCAuY3MtY29udGFpbmVyX19yZXZpZXdzIHtcbiAgICBtYXgtd2lkdGg6IDEyNHJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3MtY29udGFpbmVyX19pbm5lcjpiZWZvcmUsIC5jcy1jb250YWluZXJfX3Jldmlld3M6YmVmb3JlLCAuY3MtY29udGFpbmVyX19pbm5lcjphZnRlciwgLmNzLWNvbnRhaW5lcl9fcmV2aWV3czphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAuY3MtY29udGFpbmVyX19pbm5lci0tZmxleCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtY29udGFpbmVyX19pbm5lci0tZmxleCB7XG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuICAgICAgLmNzLWNvbnRhaW5lcl9faW5uZXItLWZsZXg6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1jb250YWluZXJfX2FzaWRlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19hc2lkZSB7XG4gICAgICAgIHdpZHRoOiAzMyU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19hc2lkZSB7XG4gICAgICAgIHdpZHRoOiAyNC44JTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX2FzaWRlIHtcbiAgICAgICAgd2lkdGg6IDI0LjglOyB9IH1cbiAgLmNzLWNvbnRhaW5lcl9fbWFpbi1jb2x1bW4ge1xuICAgIHdpZHRoOiA1NiU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX21haW4tY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IDY1JTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX21haW4tY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IDcxLjQlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fbWFpbi1jb2x1bW4ge1xuICAgICAgICB3aWR0aDogNzEuNCU7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbiB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gIC5wYWdlLXByb2R1Y3QtYnVuZGxlIC5jcy1jb250YWluZXJfX21haW4tY29sdW1uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbi0tc3BhY2UtdG9wIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDNyZW07IH0gfVxuICAuY3MtY29udGFpbmVyX19yZXZpZXdzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19yZXZpZXdzIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgICAgcGFkZGluZzogMCAycmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyB7XG4gICAgICAgIHBhZGRpbmc6IDJyZW0gMCAwOyB9IH1cbiAgICAuY3MtY29udGFpbmVyX19yZXZpZXdzOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuY3MtY29udGFpbmVyX19jYXJ0LWNvdXBvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX2NhcnQtY291cG9ucyB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICAuY3MtY29udGFpbmVyLS1jb250cmFzdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyLS1jb250cmFzdCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9iYWNrZ3JvdW5kLnBuZ1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfSB9XG4gIC5jcy1jb250YWluZXItLXRvcC1iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAuY3MtY29udGFpbmVyLS1zcGFjaW91cyB7XG4gICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lci0tc3BhY2lvdXMge1xuICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jcy1jb250YWluZXItLXNwYWNpb3VzLFxuICAgICAgLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5jcy1jb250YWluZXItLXNwYWNpb3VzIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICAuY3MtY29udGFpbmVyLS1pbWFnZS10ZWFzZXItd2luZG93LXdpZHRoLCAuY3MtY29udGFpbmVyLS1zdG9yZS1sb2NhdG9yIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuY3MtY29udGFpbmVyLS1ncmlkLXRlYXNlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuY3MtY29udGFpbmVyLS1oZXJvLXRlYXNlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuY3MtY29udGFpbmVyLS1ub3Njcm9sbCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1jb250YWluZXItLXBkcCB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gIC5jcy1jb250YWluZXItLXVzcHMgLmNzLWNvbnRhaW5lci0taGVhZGxpbmUge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNzLWNvbnRhaW5lci0tY3JlYXRlLWFjY291bnQtcGFnZSwgLmNzLWNvbnRhaW5lci0tbG9naW4tcGFnZSwgLmNzLWNvbnRhaW5lci0tc3VjY2Vzcy1wYWdlLCAuY3MtY29udGFpbmVyLS1sb2dvdXQtcGFnZSB7XG4gICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lci0tY3JlYXRlLWFjY291bnQtcGFnZSwgLmNzLWNvbnRhaW5lci0tbG9naW4tcGFnZSwgLmNzLWNvbnRhaW5lci0tc3VjY2Vzcy1wYWdlLCAuY3MtY29udGFpbmVyLS1sb2dvdXQtcGFnZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogOHJlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAuY3MtY29udGFpbmVyLS1teS1hY2NvdW50LXBhZ2Uge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfSB9XG4gIC5jcy1jb250YWluZXItLW9udG9wIHtcbiAgICB6LWluZGV4OiAzMDE7IH1cbiAgLmNzLWNvbnRhaW5lci0tdmlld3BvcnQtd2lkdGgge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgIC5jcy1jb250YWluZXItLXBhZ2UtcGRwLWRldGFpbHMtYXdfcHFfYWpheF9jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5jcy1jb250YWluZXItLWNhcnQtcGFnZSAuY3MtY29udGFpbmVyLS1wcm9kdWN0cy1jYXJvdXNlbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmNzLWNvbnRhaW5lci0tY2FydC1wYWdlIC5jcy1jb250YWluZXItLWhlYWRsaW5lIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuY3MtY29udGFpbmVyLS1jbXMtdGVhc2VyIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtOyB9XG4gIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkgYW5kIChncmlkLWF1dG8tZmxvdzogcm93KSB7XG4gICAgLmNzLWNvbnRhaW5lci0tZ3JpZC10ZWFzZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IH0gfVxuXG4uY29udGFjdC1pbmRleC1pbmRleCAuY3MtYnJlYWRjcnVtYnMge1xuICBwYWRkaW5nLXRvcDogMTVweDtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7IH1cblxuLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNtcy1jb250YWN0LWZvcm0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbjogMjBweCAwIDgwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY21zLWNvbnRhY3QtZm9ybSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luOiAyMHB4IDAgNDVweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyLCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIHtcbiAgICBwYWRkaW5nOiAwIDE1cHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1mb3JtLCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWZvcm0ge1xuICAgIGZsZXg6IDEgMSA2OCU7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1mb3JtLCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWZvcm0ge1xuICAgIG9yZGVyOiAyOyB9IH1cblxuLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9faW5uZXIgLmNvbnRhY3QtZm9ybSBmaWVsZHNldC5maWVsZHNldCwgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyAuY29udGFjdC1mb3JtIGZpZWxkc2V0LmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG4gIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyIC5jb250YWN0LWZvcm0gZmllbGRzZXQuZmllbGRzZXQgaDMsIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX3Jldmlld3MgLmNvbnRhY3QtZm9ybSBmaWVsZHNldC5maWVsZHNldCBoMyB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9faW5uZXIgLmNvbnRhY3QtZm9ybSBmaWVsZHNldC5maWVsZHNldCBoMywgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyAuY29udGFjdC1mb3JtIGZpZWxkc2V0LmZpZWxkc2V0IGgzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9IH1cbiAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9faW5uZXIgLmNvbnRhY3QtZm9ybSBmaWVsZHNldC5maWVsZHNldCA+IHNwYW4sIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX3Jldmlld3MgLmNvbnRhY3QtZm9ybSBmaWVsZHNldC5maWVsZHNldCA+IHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1mb3JtIC5mb3JtIC5maWVsZCArIC5maWVsZCwgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyAuY29udGFjdC1mb3JtIC5mb3JtIC5maWVsZCArIC5maWVsZCB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQwLjAxZW0pIHtcbiAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9faW5uZXIgLmNvbnRhY3QtZm9ybSAuZmxleC1yb3csIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX3Jldmlld3MgLmNvbnRhY3QtZm9ybSAuZmxleC1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0MC4wMWVtKSB7XG4gIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyIC5jb250YWN0LWZvcm0gLmZsZXgtcm93IC5maWVsZCwgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyAuY29udGFjdC1mb3JtIC5mbGV4LXJvdyAuZmllbGQge1xuICAgIGZsZXg6IDEgMSA0OCU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDAuMDFlbSkge1xuICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1mb3JtIC5mbGV4LXJvdyAuZmllbGQ6bGFzdC1jaGlsZCwgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyAuY29udGFjdC1mb3JtIC5mbGV4LXJvdyAuZmllbGQ6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH0gfVxuXG4uY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1mb3JtIC5wcmltYXJ5LCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWZvcm0gLnByaW1hcnkge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4uY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1hZGRyZXNzLCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWFkZHJlc3Mge1xuICBiYWNrZ3JvdW5kOiAjRjRGNEY0O1xuICBwYWRkaW5nOiAyMHB4IDI1cHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1hZGRyZXNzLCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWFkZHJlc3Mge1xuICAgICAgcGFkZGluZzogMTBweCAxNXB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1hZGRyZXNzLCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWFkZHJlc3Mge1xuICAgICAgb3JkZXI6IDE7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7IH0gfVxuICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1hZGRyZXNzX19pdGVtLCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWFkZHJlc3NfX2l0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyIC5jb250YWN0LWFkZHJlc3NfX2l0ZW0sIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX3Jldmlld3MgLmNvbnRhY3QtYWRkcmVzc19faXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH0gfVxuICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1hZGRyZXNzIHAsIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX3Jldmlld3MgLmNvbnRhY3QtYWRkcmVzcyBwIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1hZGRyZXNzIHAsIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX3Jldmlld3MgLmNvbnRhY3QtYWRkcmVzcyBwLFxuICAgIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyIC5jb250YWN0LWFkZHJlc3Mgc3BhbixcbiAgICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWFkZHJlc3Mgc3BhbiB7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfSB9XG4gIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyIC5jb250YWN0LWFkZHJlc3MgLmljb24tdGV4dCwgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyAuY29udGFjdC1hZGRyZXNzIC5pY29uLXRleHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9faW5uZXIgLmNvbnRhY3QtYWRkcmVzcyAuaWNvbi10ZXh0OmJlZm9yZSwgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyAuY29udGFjdC1hZGRyZXNzIC5pY29uLXRleHQ6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTBweCAxNXB4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiA1cHg7XG4gICAgICB3aWR0aDogMTVweDtcbiAgICAgIGhlaWdodDogMTVweDsgfVxuICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1hZGRyZXNzIC5pY29uLWxvY2F0aW9uOmJlZm9yZSwgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyAuY29udGFjdC1hZGRyZXNzIC5pY29uLWxvY2F0aW9uOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL21hcC1waW4uc3ZnXCIpOyB9XG4gIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyIC5jb250YWN0LWFkZHJlc3MgLmljb24tcGhvbmU6YmVmb3JlLCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWFkZHJlc3MgLmljb24tcGhvbmU6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvcGhvbmUtZGFyay5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG4gIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyIC5jb250YWN0LWFkZHJlc3MgLmljb24tZW1haWw6YmVmb3JlLCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWFkZHJlc3MgLmljb24tZW1haWw6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvZW1haWxAMXguc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICB3aWR0aDogMTdweDtcbiAgICB0b3A6IDZweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyIC5jb250YWN0LWFkZHJlc3MsIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX3Jldmlld3MgLmNvbnRhY3QtYWRkcmVzcyB7XG4gICAgICBmbGV4OiAxIDEgMzMlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDguMDFlbSkge1xuICAuY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aC1uYXJyb3cgLmNvbHVtbnMgLmNzLWNvbnRhaW5lci0tYnJhbmQtY2Fyb3VzZWwsXG4gIC5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoIC5jb2x1bW5zIC5jcy1jb250YWluZXItLWJyYW5kLWNhcm91c2VsLFxuICAuY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC0xY29sdW0gLmNvbHVtbnMgLmNzLWNvbnRhaW5lci0tYnJhbmQtY2Fyb3VzZWwge1xuICAgIG1hcmdpbi10b3A6IDQ1cHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAuY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aC1uYXJyb3cgLmNvbHVtbnMgLmNzLWNvbnRhaW5lci0tYnJhbmQtY2Fyb3VzZWwsXG4gIC5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoIC5jb2x1bW5zIC5jcy1jb250YWluZXItLWJyYW5kLWNhcm91c2VsLFxuICAuY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC0xY29sdW0gLmNvbHVtbnMgLmNzLWNvbnRhaW5lci0tYnJhbmQtY2Fyb3VzZWwge1xuICAgIG1hcmdpbi10b3A6IDM1cHg7IH0gfVxuXG4uY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aC1uYXJyb3cgLmNzLWNvbnRhaW5lci0tYnJlYWRjcnVtYnMgLmNzLWJyZWFkY3J1bWJzLFxuLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGggLmNzLWNvbnRhaW5lci0tYnJlYWRjcnVtYnMgLmNzLWJyZWFkY3J1bWJzLFxuLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtMWNvbHVtIC5jcy1jb250YWluZXItLWJyZWFkY3J1bWJzIC5jcy1icmVhZGNydW1icyB7XG4gIHBhZGRpbmctdG9wOiAxLjVyZW07IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAuY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aC1uYXJyb3cgLmNzLWNvbnRhaW5lci0tYnJlYWRjcnVtYnMgLmNzLWJyZWFkY3J1bWJzLFxuICAgIC5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoIC5jcy1jb250YWluZXItLWJyZWFkY3J1bWJzIC5jcy1icmVhZGNydW1icyxcbiAgICAuY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC0xY29sdW0gLmNzLWNvbnRhaW5lci0tYnJlYWRjcnVtYnMgLmNzLWJyZWFkY3J1bWJzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuXG4uY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aC1uYXJyb3cgLmNvbHVtbnMgLmNvbHVtbi5tYWluLFxuLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGggLmNvbHVtbnMgLmNvbHVtbi5tYWluLFxuLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtMWNvbHVtIC5jb2x1bW5zIC5jb2x1bW4ubWFpbiB7XG4gIHBhZGRpbmctdG9wOiAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OC4wMWVtKSB7XG4gICAgLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGgtbmFycm93IC5jb2x1bW5zIC5jb2x1bW4ubWFpbixcbiAgICAuY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aCAuY29sdW1ucyAuY29sdW1uLm1haW4sXG4gICAgLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtMWNvbHVtIC5jb2x1bW5zIC5jb2x1bW4ubWFpbiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGgtbmFycm93IC5jb2x1bW5zIC5jb2x1bW4ubWFpbixcbiAgICAuY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aCAuY29sdW1ucyAuY29sdW1uLm1haW4sXG4gICAgLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtMWNvbHVtIC5jb2x1bW5zIC5jb2x1bW4ubWFpbiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDsgfSB9XG5cbi5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoLW5hcnJvdyAuY3MtY29udGFpbmVyLS1icmVhZGNydW1icyAuY3MtY29udGFpbmVyX19pbm5lciwgLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGgtbmFycm93IC5jcy1jb250YWluZXItLWJyZWFkY3J1bWJzIC5jcy1jb250YWluZXJfX3Jldmlld3MsXG4uY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aC1uYXJyb3cgLmNvbHVtbnMgLmNzLWNvbnRhaW5lcjpub3QoLmNzLWNvbnRhaW5lci0tYnJhbmQtY2Fyb3VzZWwpIC5jcy1jb250YWluZXJfX2lubmVyLFxuLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGgtbmFycm93IC5jb2x1bW5zIC5jcy1jb250YWluZXI6bm90KC5jcy1jb250YWluZXItLWJyYW5kLWNhcm91c2VsKSAuY3MtY29udGFpbmVyX19yZXZpZXdzIHtcbiAgbWF4LXdpZHRoOiAxMDNyZW07IH1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLmNzLWNvb2tpZS1tZXNzYWdlIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMS4ycmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBjb2xvcjogIzAwMDtcbiAgYm94LXNoYWRvdzogMCAtMC4zcmVtIDAuNXJlbSAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGZvbnQtc2l6ZTogODUlO1xuICB6LWluZGV4OiA5ODtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMTAlLCAwKTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzIGVhc2Utb3V0LCBvcGFjaXR5IDAuMThzIGxpbmVhcjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNzLWNvb2tpZS1tZXNzYWdlLS1zaG93biB7XG4gICAgei1pbmRleDogOTk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5jcy1jb29raWUtbWVzc2FnZV9faW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDhyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWNvb2tpZS1tZXNzYWdlX19pbm5lciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbi13cmFwcGVyIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICBhbGlnbi1zZWxmOiB1bnNldDsgfSB9XG4gIC5jcy1jb29raWUtbWVzc2FnZV9fdGV4dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1jb29raWUtbWVzc2FnZV9fdGV4dCAuYmxvY2stY21zLWxpbmsud2lkZ2V0LFxuICAgIC5jcy1jb29raWUtbWVzc2FnZV9fdGV4dCBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAgIC5jcy1jb29raWUtbWVzc2FnZV9fdGV4dCBhIHtcbiAgICAgIGNvbG9yOiAjRkY0NjA0OyB9XG4gICAgICAuY3MtY29va2llLW1lc3NhZ2VfX3RleHQgYTp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6ICNGRjc0NDI7IH1cbiAgICAgIC5jcy1jb29raWUtbWVzc2FnZV9fdGV4dCBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNGRjc0NDI7IH1cbiAgICAgIC5jcy1jb29raWUtbWVzc2FnZV9fdGV4dCBhOmFjdGl2ZSwgLmNzLWNvb2tpZS1tZXNzYWdlX190ZXh0IGE6Zm9jdXMge1xuICAgICAgICBjb2xvcjogI0ZGNzQ0MjsgfVxuICAuY3MtY29va2llLW1lc3NhZ2VfX2ljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwLjVyZW07XG4gICAgd2lkdGg6IDUuNXJlbTtcbiAgICBoZWlnaHQ6IDUuNXJlbTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWNvb2tpZS1tZXNzYWdlX19pY29uIHtcbiAgICAgICAgdG9wOiAtMy41cmVtO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuICAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICAgIHBhZGRpbmc6IDhweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgbWFyZ2luLXRvcDogMS4ycmVtOyB9XG4gICAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b24ubWVkaXVtIHtcbiAgICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b24ubGFyZ2Uge1xuICAgICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b24sIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uOnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAgIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uICosIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uOnZpc2l0ZWQgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNzQ0MjsgfVxuICAgICAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuMnJlbTsgfSB9XG4gIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uLXNwYW4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07IH1cbiAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b24taWNvbiB7XG4gICAgbWF4LXdpZHRoOiAxZW07XG4gICAgbWF4LWhlaWdodDogMS40cmVtO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICByaWdodDogMWVtOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcbkBpbXBvcnQgJ3V0aWxzL2xpbmsnO1xuXG4kY29va2llLW1lc3NhZ2VfYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJGNvb2tpZS1tZXNzYWdlX2ZvbnQtc2l6ZTogODUlICFkZWZhdWx0O1xuJGNvb2tpZS1tZXNzYWdlX2ZvbnQtY29sb3I6ICRjb2xvcl90ZXh0LTkwMCAhZGVmYXVsdDtcbiRjb29raWUtbWVzc2FnZV9saW5rLWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kY29va2llLW1lc3NhZ2VfbGluay1jb2xvci0taG92ZXI6ICRjb2xvcl9wcmltYXJ5LTgwMCAhZGVmYXVsdDtcblxuJGNvb2tpZS1tZXNzYWdlX2J1dHRvbi10eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSAhZGVmYXVsdDtcbiRjb29raWUtbWVzc2FnZV9pY29uLXBvczogJGJ1dHRvbl9kZWZhdWx0LWljb24tcG9zICFkZWZhdWx0O1xuXG4kY29va2llLW1lc3NhZ2VfYnV0dG9uLXBvcy1icmVha3BvaW50OiAndGFibGV0JyAhZGVmYXVsdDtcbiRjb29raWUtbWVzc2FnZV9idXR0b24tcG9zLWFsaWduOiBmbGV4LXN0YXJ0ICFkZWZhdWx0O1xuXG4uI3skbnN9Y29va2llLW1lc3NhZ2Uge1xuICAgICRyb290OiAmO1xuXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZzogMS4ycmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb29raWUtbWVzc2FnZV9iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGNvbG9yOiAkY29va2llLW1lc3NhZ2VfZm9udC1jb2xvcjtcbiAgICBib3gtc2hhZG93OiAwIC0wLjNyZW0gMC41cmVtIDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICBmb250LXNpemU6ICRjb29raWUtbWVzc2FnZV9mb250LXNpemU7XG4gICAgei1pbmRleDogOTg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMTAlLCAwKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cyBlYXNlLW91dCwgb3BhY2l0eSAwLjE4cyBsaW5lYXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJi0tc2hvd24ge1xuICAgICAgICB6LWluZGV4OiA5OTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAmX19pbm5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogOHJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj0jeyRjb29raWUtbWVzc2FnZV9idXR0b24tcG9zLWJyZWFrcG9pbnR9Jykge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgYWxpZ24tc2VsZjogJGNvb2tpZS1tZXNzYWdlX2J1dHRvbi1wb3MtYWxpZ247XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49I3skY29va2llLW1lc3NhZ2VfYnV0dG9uLXBvcy1icmVha3BvaW50fScpIHtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IHVuc2V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIC5ibG9jay1jbXMtbGluay53aWRnZXQsXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaW5rKFxuICAgICAgICAgICAgICAgICRjb29raWUtbWVzc2FnZV9saW5rLWNvbG9yLFxuICAgICAgICAgICAgICAgICRjb29raWUtbWVzc2FnZV9saW5rLWNvbG9yLS1ob3ZlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDAuNXJlbTtcbiAgICAgICAgd2lkdGg6IDUuNXJlbTtcbiAgICAgICAgaGVpZ2h0OiA1LjVyZW07XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49I3skY29va2llLW1lc3NhZ2VfYnV0dG9uLXBvcy1icmVha3BvaW50fScpIHtcbiAgICAgICAgICAgIHRvcDogLTMuNXJlbTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAkY29va2llLW1lc3NhZ2VfYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRjb29raWUtbWVzc2FnZV9pY29uLXBvc1xuICAgICAgICApO1xuXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuMnJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj0jeyRjb29raWUtbWVzc2FnZV9idXR0b24tcG9zLWJyZWFrcG9pbnR9Jykge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxLjJyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24tc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgJHR5cGU6ICRjb29raWUtbWVzc2FnZV9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGNvb2tpZS1tZXNzYWdlX2ljb24tcG9zXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLWljb24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICR0eXBlOiAkY29va2llLW1lc3NhZ2VfYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRjb29raWUtbWVzc2FnZV9pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAuY3MtZGlzcGxheS1jb250cm9sbGVyLS1oaWRkZW4tbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNzLWRpc3BsYXktY29udHJvbGxlci0taGlkZGVuLWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG4uI3skbnN9ZGlzcGxheS1jb250cm9sbGVyIHtcbiAgICAmLS1oaWRkZW4tbW9iaWxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0taGlkZGVuLWRlc2t0b3Age1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLmNzLWRyb3Bkb3duLXN3aXRjaGVyIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlciAubWFnZS1kcm9wZG93bi1kaWFsb2cge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgcmlnaHQ6IC0xcmVtO1xuICAgICAgbGVmdDogMXJlbTsgfSB9XG4gIC5jcy1kcm9wZG93bi1zd2l0Y2hlci0tY3VycmVuY3kgLm1hZ2UtZHJvcGRvd24tZGlhbG9nIHtcbiAgICByaWdodDogLTFyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleC1zaHJpbms6IDA7IH1cbiAgICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAxLjNyZW07XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBib3JkZXItbGVmdDogMC4ycmVtIHNvbGlkICNmZmZmZmY7XG4gICAgICAgIHRyYW5zZm9ybTogc2tldygtMThkZWcpO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyLS1zdG9yZXM6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX29wdGlvbi1pY29uIHtcbiAgICBtaW4td2lkdGg6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNnJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjJyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlci0tbGFuZ3VhZ2UgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX19vcHRpb24taWNvbiB7XG4gICAgICAgIHdpZHRoOiAxLjVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlciAuc3dpdGNoZXItb3B0aW9ucyB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX190cmlnZ2VyIHtcbiAgICBwYWRkaW5nOiAyLjRyZW0gMnJlbTtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCAjZGNkY2RjIHNvbGlkO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXI6YmVmb3JlLCAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHdpZHRoOiAwLjdyZW07XG4gICAgICBoZWlnaHQ6IDAuMXJlbTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0O1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciwgcmlnaHQgMC4xNXMgbGluZWFyLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGxpbmVhcjtcbiAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlcjpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgcmlnaHQ6IDNyZW07IH1cbiAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXI6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgIHJpZ2h0OiAyLjVyZW07IH1cbiAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXIuYWN0aXZlOmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX190cmlnZ2VyLmFjdGl2ZTphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX190cmlnZ2VyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbSAwIDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXI6YmVmb3JlLCAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXI6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB3aWR0aDogMC43cmVtO1xuICAgICAgICAgIGhlaWdodDogMC4xcmVtO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyLCByaWdodCAwLjE1cyBsaW5lYXIsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgbGluZWFyO1xuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgICAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXI6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgcmlnaHQ6IDAuNXJlbTsgfVxuICAgICAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXI6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX190cmlnZ2VyLmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgICAgICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX190cmlnZ2VyLmFjdGl2ZTphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9IH1cbiAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXIuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4O1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgICAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXIuYWN0aXZlIHtcbiAgICAgICAgICBwYWRkaW5nOiAyLjRyZW0gMnJlbTtcbiAgICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7IH0gfVxuICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlci1zcGFuIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjBmMGYwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX19saXN0IHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlOyB9IH1cbiAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX2xpc3QtaXRlbSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX19saXN0LWl0ZW0tbGluayB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGNvbG9yOiAjMjEyMTIxICFpbXBvcnRhbnQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX19saXN0LWl0ZW0tbGluazpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX19saXN0LWl0ZW0tbGluayB7XG4gICAgICAgICAgcGFkZGluZzogMS40cmVtIDJyZW07XG4gICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX19saXN0LWl0ZW0tbGluayB7XG4gICAgICAgICAgcGFkZGluZzogMC42cmVtIDEuOHJlbTtcbiAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTsgfSB9XG4iLCIvKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuQG1peGluIHBzZXVkb2ljb25fYmVmb3JlLWhvb2soJHR5cGUpIHtcbn1cblxuQG1peGluIHBzZXVkb2ljb25fYWZ0ZXItaG9vaygkdHlwZSkge1xufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BzZXVkb2ljb24vbWl4aW4nO1xuXG4kZHJvcGRvd24tc3dpdGNoZXJfYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtYm90dG9tLWJvcmRlcjogMXB4ICRjb2xvcl9ib3JkZXItNTAwIHNvbGlkICFkZWZhdWx0O1xuXG4vLyBPZmZjYW52YXMgdHJpZ2dlciBvcHRpb25zXG4kZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItZW5hYmxlZDogdHJ1ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWNvbG9yLS1ob3ZlcjogJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWNvbG9yLS1hY3RpdmU6ICRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci10eXBlOiAnYXJyb3cnICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWFycm93LWRlZmF1bHQ6ICdkb3duJyAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1hcnJvdy1hY3RpdmU6ICd1cCcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItd2lkdGg6IDAuN3JlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1oZWlnaHQ6IDAuMXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1hcnJvdy1vZmZzZXQ6IDNyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItcG9zaXRpb24tc2lkZS1vZmZzZXQ6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8gRHJvcGRvd24gdHJpZ2dlciBvcHRpb25zXG4kZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1lbmFibGVkOiB0cnVlICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItY29sb3I6ICRjb2xvcl9iYWNrZ3JvdW5kLTgwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWNvbG9yLS1ob3ZlcjogJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1jb2xvci0tYWN0aXZlOiAkZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLXR5cGU6ICdhcnJvdycgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1hcnJvdy1kZWZhdWx0OiAnZG93bicgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1hcnJvdy1hY3RpdmU6ICd1cCcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci13aWR0aDogMC43cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItaGVpZ2h0OiAwLjFyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1hcnJvdy1vZmZzZXQ6IDAuNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLXBvc2l0aW9uLXNpZGUtb2Zmc2V0OiAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tc3dpdGNoZXJfbGlzdC1ib3JkZXItY29sb3I6ICRjb2xvcl9ib3JkZXItMjAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX2xpc3QtYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX2xpc3QtaXRlbS1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tc3dpdGNoZXJfaG92ZXItYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtNTAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tc3dpdGNoZXJfdG9wYmFyLXNlcGFyYXRvci1ib3JkZXI6IDAuMnJlbSBzb2xpZCAkY29sb3JfYm9yZGVyLTEwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl90b3BiYXItc2VwYXJhdG9yLXRyYW5zZm9ybTogJHRyYW5zZm9ybV9za2V3LTQwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLXN3aXRjaGVyX2JvcmRlci1yYWRpdXM6IDNweCAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl9sYW5ndWFnZS1mbGFnLXdpZHRoOiAxLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfbGFuZ3VhZ2UtZmxhZy1oZWlnaHQ6IDEuNXJlbSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLXN3aXRjaGVyX2ZvbnQtc2l6ZS1wcmltYXJ5OiAxLjRyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfZm9udC1zaXplLXNlY29uZGFyeTogMS4xcmVtICFkZWZhdWx0O1xuXG4uI3skbnN9ZHJvcGRvd24tc3dpdGNoZXIge1xuICAgICRyb290OiAmO1xuXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIC5tYWdlLWRyb3Bkb3duLWRpYWxvZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICByaWdodDogLTFyZW07XG4gICAgICAgICAgICBsZWZ0OiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tY3VycmVuY3kge1xuICAgICAgICAubWFnZS1kcm9wZG93bi1kaWFsb2cge1xuICAgICAgICAgICAgcmlnaHQ6IC0xcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LXNocmluazogMDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAxLjNyZW07XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAkZHJvcGRvd24tc3dpdGNoZXJfdG9wYmFyLXNlcGFyYXRvci1ib3JkZXI7XG4gICAgICAgICAgICB0cmFuc2Zvcm06ICRkcm9wZG93bi1zd2l0Y2hlcl90b3BiYXItc2VwYXJhdG9yLXRyYW5zZm9ybTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tc3RvcmVzIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19vcHRpb24ge1xuICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAkZHJvcGRvd24tc3dpdGNoZXJfbGFuZ3VhZ2UtZmxhZy13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogJGRyb3Bkb3duLXN3aXRjaGVyX2xhbmd1YWdlLWZsYWctaGVpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjZyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjJyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1sYW5ndWFnZSAmIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkZHJvcGRvd24tc3dpdGNoZXJfbGFuZ3VhZ2UtZmxhZy13aWR0aDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3dpdGNoZXItb3B0aW9ucyB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190cmlnZ2VyIHtcbiAgICAgICAgcGFkZGluZzogMi40cmVtIDJyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogJGRyb3Bkb3duLXN3aXRjaGVyX2ZvbnQtc2l6ZS1wcmltYXJ5O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAkZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLWJvdHRvbS1ib3JkZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaWYgJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWVuYWJsZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvaWNvbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLXR5cGUsXG4gICAgICAgICAgICAgICAgJGFycm93LWRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1hcnJvdy1kZWZhdWx0LFxuICAgICAgICAgICAgICAgICRhcnJvdy1hY3RpdmU6ICRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1hcnJvdy1hY3RpdmUsXG4gICAgICAgICAgICAgICAgJHdpZHRoOiAkZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItd2lkdGgsXG4gICAgICAgICAgICAgICAgJGhlaWdodDogJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWhlaWdodCxcbiAgICAgICAgICAgICAgICAkYXJyb3ctb2Zmc2V0OiAkZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItYXJyb3ctb2Zmc2V0LFxuICAgICAgICAgICAgICAgICRwb3NpdGlvbi1zaWRlLW9mZnNldDpcbiAgICAgICAgICAgICAgICAgICAgJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLXBvc2l0aW9uLXNpZGUtb2Zmc2V0LFxuICAgICAgICAgICAgICAgICRjb2xvcjogJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWNvbG9yLFxuICAgICAgICAgICAgICAgICRjb2xvci1ob3ZlcjogJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWNvbG9yLS1ob3ZlcixcbiAgICAgICAgICAgICAgICAkY29sb3ItZXhwYW5kZWQ6XG4gICAgICAgICAgICAgICAgICAgICRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1jb2xvci0tYWN0aXZlLFxuICAgICAgICAgICAgICAgICRhY3RpdmUtc2VsZWN0b3I6ICcmLmFjdGl2ZSdcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMnJlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRyb3Bkb3duLXN3aXRjaGVyX2ZvbnQtc2l6ZS1zZWNvbmRhcnk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxLjVyZW0gMCAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcblxuICAgICAgICAgICAgQGlmICRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWVuYWJsZWQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBzZXVkb2ljb24oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci10eXBlLFxuICAgICAgICAgICAgICAgICAgICAkYXJyb3ctZGVmYXVsdDogJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItYXJyb3ctZGVmYXVsdCxcbiAgICAgICAgICAgICAgICAgICAgJGFycm93LWFjdGl2ZTogJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItYXJyb3ctYWN0aXZlLFxuICAgICAgICAgICAgICAgICAgICAkd2lkdGg6ICRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLXdpZHRoLFxuICAgICAgICAgICAgICAgICAgICAkaGVpZ2h0OiAkZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1oZWlnaHQsXG4gICAgICAgICAgICAgICAgICAgICRhcnJvdy1vZmZzZXQ6ICRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWFycm93LW9mZnNldCxcbiAgICAgICAgICAgICAgICAgICAgJHBvc2l0aW9uLXNpZGUtb2Zmc2V0OlxuICAgICAgICAgICAgICAgICAgICAgICAgJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItcG9zaXRpb24tc2lkZS1vZmZzZXQsXG4gICAgICAgICAgICAgICAgICAgICRjb2xvcjogJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItY29sb3IsXG4gICAgICAgICAgICAgICAgICAgICRjb2xvci1ob3ZlcjogJGRyb3Bkb3duLXN3aXRjaGVyLXRyaWdnZXItY29sb3ItLWhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAkY29sb3ItZXhwYW5kZWQ6ICRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWNvbG9yLS1hY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgICRhY3RpdmUtc2VsZWN0b3I6ICcmLmFjdGl2ZSdcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3duLXN3aXRjaGVyX2JhY2tncm91bmQ7XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkZHJvcGRvd24tc3dpdGNoZXJfYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkZHJvcGRvd24tc3dpdGNoZXJfYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyLjRyZW0gMnJlbTtcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLXNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZSgpO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBmb250LXNpemU6ICRkcm9wZG93bi1zd2l0Y2hlcl9mb250LXNpemUtc2Vjb25kYXJ5O1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkZHJvcGRvd24tc3dpdGNoZXJfYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRkcm9wZG93bi1zd2l0Y2hlcl9ib3JkZXItcmFkaXVzO1xuICAgICAgICBib3JkZXItY29sb3I6ICRkcm9wZG93bi1zd2l0Y2hlcl9saXN0LWJvcmRlci1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1zd2l0Y2hlcl9saXN0LWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmLWl0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtaXRlbS1saW5rIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgY29sb3I6ICRkcm9wZG93bi1zd2l0Y2hlcl9saXN0LWl0ZW0tY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tc3dpdGNoZXJfaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuNHJlbSAycmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRyb3Bkb3duLXN3aXRjaGVyX2ZvbnQtc2l6ZS1wcmltYXJ5O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC42cmVtIDEuOHJlbTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRkcm9wZG93bi1zd2l0Y2hlcl9mb250LXNpemUtc2Vjb25kYXJ5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BzZXVkb2ljb24vaG9vayc7XG5cbiRwc2V1ZG9pY29uLXR5cGU6ICdwbHVzJyAhZGVmYXVsdDsgLy8gcGx1cyAoZGVmYXVsdCkgb3IgYXJyb3dcbi8vIEFuaW1hdGlvbiBmb3IgYXJyb3dzIHdvcmtzIG9ubHkgaWYgZGVmYXVsdCBhbmQgYWN0aXZlIGRpcmVjdGlvbiBhcmUgb3Bwb3NpdGVcbiRwc2V1ZG9pY29uLWFuaW1hdGU6IHRydWUgIWRlZmF1bHQ7XG4kcHNldWRvaWNvbi1hbmltYXRpb24tdGltZTogMC4xNXMgIWRlZmF1bHQ7XG4kcHNldWRvaWNvbi1jb2xvcjogJGNvbG9yX2JvcmRlci03MDAgIWRlZmF1bHQ7XG4kcHNldWRvaWNvbi1ob3Zlci1jb2xvcjogJGNvbG9yX2JvcmRlci03MDAgIWRlZmF1bHQ7XG4kcHNldWRvaWNvbi1leHBhbmRlZC1jb2xvcjogJGNvbG9yX2JvcmRlci03MDAgIWRlZmF1bHQ7XG4kcHNldWRvaWNvbi13aWR0aDogMS4ycmVtICFkZWZhdWx0O1xuJHBzZXVkb2ljb24taGVpZ2h0OiAwLjJyZW0gIWRlZmF1bHQ7XG4kcHNldWRvaWNvbi1wb3NpdGlvbi1zaWRlLW9mZnNldDogJHBhZ2VfZWRnZS1ndXR0ZXIgIWRlZmF1bHQ7XG5cbi8vIEFkZGl0aW9uYWwgc2V0dGluZ3MgZm9yIGFycm93c1xuJHBzZXVkb2ljb24tYXJyb3ctZGVmYXVsdC1kaXJlY3Rpb246ICd1cCcgIWRlZmF1bHQ7XG4kcHNldWRvaWNvbi1hcnJvdy1hY3RpdmUtZGlyZWN0aW9uOiAnZG93bicgIWRlZmF1bHQ7XG4vLyBJbiBzb21lIGNhc2VzIChpdCBkZXBlbmRzIG9uICRwc2V1ZG9pY29uLXdpZHRoL2hlaWdodCB2YWx1ZSksIHdlIG5lZWQgdG8gZml4IG9mZnNldCBmb3IgbGVmdCBwYXJ0IG9mIGljb25cbiRwc2V1ZG9pY29uLWFycm93LWxlZnQtb2Zmc2V0OiBjYWxjKFxuICAgICN7JHBzZXVkb2ljb24tcG9zaXRpb24tc2lkZS1vZmZzZXR9ICsgI3skcHNldWRvaWNvbi13aWR0aH0gLSAjezIgKlxuICAgICAgICAkcHNldWRvaWNvbi1oZWlnaHR9XG4pICFkZWZhdWx0O1xuXG4kcHNldWRvaWNvbi1hY3RpdmUtc2VsZWN0b3I6ICcmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdJyAhZGVmYXVsdDtcblxuQG1peGluIHBzZXVkb2ljb24oXG4gICAgJHR5cGU6ICRwc2V1ZG9pY29uLXR5cGUsXG4gICAgJGFuaW1hdGVkOiAkcHNldWRvaWNvbi1hbmltYXRlLFxuICAgICRhbmltYXRpb24tdGltZTogJHBzZXVkb2ljb24tYW5pbWF0aW9uLXRpbWUsXG4gICAgJGNvbG9yOiAkcHNldWRvaWNvbi1jb2xvcixcbiAgICAkY29sb3ItaG92ZXI6ICRwc2V1ZG9pY29uLWhvdmVyLWNvbG9yLFxuICAgICRjb2xvci1leHBhbmRlZDogJHBzZXVkb2ljb24tZXhwYW5kZWQtY29sb3IsXG4gICAgJHdpZHRoOiAkcHNldWRvaWNvbi13aWR0aCxcbiAgICAkaGVpZ2h0OiAkcHNldWRvaWNvbi1oZWlnaHQsXG4gICAgJHBvc2l0aW9uLXNpZGUtb2Zmc2V0OiAkcHNldWRvaWNvbi1wb3NpdGlvbi1zaWRlLW9mZnNldCxcbiAgICAkYXJyb3ctZGVmYXVsdDogJHBzZXVkb2ljb24tYXJyb3ctZGVmYXVsdC1kaXJlY3Rpb24sXG4gICAgJGFycm93LWFjdGl2ZTogJHBzZXVkb2ljb24tYXJyb3ctYWN0aXZlLWRpcmVjdGlvbixcbiAgICAkYXJyb3ctb2Zmc2V0OiAkcHNldWRvaWNvbi1hcnJvdy1sZWZ0LW9mZnNldCxcbiAgICAkYWN0aXZlLXNlbGVjdG9yOiAkcHNldWRvaWNvbi1hY3RpdmUtc2VsZWN0b3Jcbikge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6ICR3aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgICAgQGlmICgkYW5pbWF0ZWQpIHtcbiAgICAgICAgICAgIEBpZiAoJHR5cGUgPT0gJ2Fycm93Jykge1xuICAgICAgICAgICAgICAgIEBpZiAoKCRhcnJvdy1kZWZhdWx0ID09ICd1cCcpIGFuZCAoJGFycm93LWFjdGl2ZSA9PSAnZG93bicpKSBvclxuICAgICAgICAgICAgICAgICAgICAoKCRhcnJvdy1kZWZhdWx0ID09ICdkb3duJykgYW5kICgkYXJyb3ctYWN0aXZlID09ICd1cCcpKSBvclxuICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAoJGFycm93LWRlZmF1bHQgPT0gJ2xlZnQnKSBhbmRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJGFycm93LWFjdGl2ZSA9PSAncmlnaHQnKVxuICAgICAgICAgICAgICAgICAgICApIG9yXG4gICAgICAgICAgICAgICAgICAgICgoJGFycm93LWRlZmF1bHQgPT0gJ3JpZ2h0JykgYW5kICgkYXJyb3ctYWN0aXZlID09ICdsZWZ0JykpXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGFuaW1hdGlvbi10aW1lIGxpbmVhcixcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0ICRhbmltYXRpb24tdGltZSBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yICRhbmltYXRpb24tdGltZSBsaW5lYXI7XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJGFuaW1hdGlvbi10aW1lIGxpbmVhcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gKDIgKiAkYW5pbWF0aW9uLXRpbWUpIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5ICRhbmltYXRpb24tdGltZSBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAkYW5pbWF0aW9uLXRpbWUgbGluZWFyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEBpZiAoJGNvbG9yLWhvdmVyICE9ICRjb2xvcikge1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJGFuaW1hdGlvbi10aW1lIGxpbmVhcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICBAaWYgKCRjb2xvci1ob3ZlciAhPSAkY29sb3IpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICN7JGFjdGl2ZS1zZWxlY3Rvcn0ge1xuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaWYgKCRjb2xvci1leHBhbmRlZCAhPSAkY29sb3IpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZXhwYW5kZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKCR0eXBlID09ICdhcnJvdycpIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgQGlmICgkYXJyb3ctZGVmYXVsdCA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIDAsIDApO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAkcG9zaXRpb24tc2lkZS1vZmZzZXQ7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctZGVmYXVsdCA9PSAnZG93bicpIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgcmlnaHQ6ICRhcnJvdy1vZmZzZXQ7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctZGVmYXVsdCA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoNTAlLCAtNTAlLCAwKTtcbiAgICAgICAgICAgICAgICByaWdodDogJGFycm93LW9mZnNldDtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1kZWZhdWx0ID09ICd1cCcpIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAkYXJyb3ctb2Zmc2V0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaWYgKCRhcnJvdy1kZWZhdWx0ID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgICAgICByaWdodDogJHBvc2l0aW9uLXNpZGUtb2Zmc2V0O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctZGVmYXVsdCA9PSAnZG93bicpIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAkcG9zaXRpb24tc2lkZS1vZmZzZXQ7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctZGVmYXVsdCA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgICAgICByaWdodDogJGFycm93LW9mZnNldDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgNTAlLCAwKTtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1kZWZhdWx0ID09ICd1cCcpIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgcmlnaHQ6ICRwb3NpdGlvbi1zaWRlLW9mZnNldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JGFjdGl2ZS1zZWxlY3Rvcn0ge1xuICAgICAgICAgICAgQGlmICgkYXJyb3ctZGVmYXVsdCA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBAaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ2Rvd24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICRhcnJvdy1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoNTAlLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkYXJyb3ctb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICd1cCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkcG9zaXRpb24tc2lkZS1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkYXJyb3ctYWN0aXZlID09ICdkb3duJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkcG9zaXRpb24tc2lkZS1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJGFycm93LW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWFjdGl2ZSA9PSAndXAnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjI1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkYXJyb3ctb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKCRhcnJvdy1kZWZhdWx0ID09ICdkb3duJykge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkYXJyb3ctYWN0aXZlID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJHBvc2l0aW9uLXNpZGUtb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKSB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkYXJyb3ctb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICd1cCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkYXJyb3ctYWN0aXZlID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJHBvc2l0aW9uLXNpZGUtb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJGFycm93LW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWFjdGl2ZSA9PSAndXAnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoJGFycm93LWRlZmF1bHQgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBAaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICRwb3NpdGlvbi1zaWRlLW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWFjdGl2ZSA9PSAnZG93bicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJHBvc2l0aW9uLXNpZGUtb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICd1cCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJGFycm93LW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZykgdHJhbnNsYXRlM2QoNTAlLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkcG9zaXRpb24tc2lkZS1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ2Rvd24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkYXJyb3ctb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICd1cCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkcG9zaXRpb24tc2lkZS1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoJGFycm93LWRlZmF1bHQgPT0gJ3VwJykge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkYXJyb3ctYWN0aXZlID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkcG9zaXRpb24tc2lkZS1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ2Rvd24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKSB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkYXJyb3ctb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGFycm93LWFjdGl2ZSA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ2Rvd24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICRhcnJvdy1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgcmlnaHQ6ICRwb3NpdGlvbi1zaWRlLW9mZnNldDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKSByb3RhdGUoOTBkZWcpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRhY3RpdmUtc2VsZWN0b3J9IHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApIHJvdGF0ZSgtOTBkZWcpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKSByb3RhdGUoMCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgcHNldWRvaWNvbl9iZWZvcmUtaG9vaygkdHlwZSk7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIHBzZXVkb2ljb25fYWZ0ZXItaG9vaygkdHlwZSk7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogUmFkaW8gYW5kIGNoZWNrYm94IHN0eWxpbmcgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHkgKi9cbi5jcy1maWVsZCxcbi5jcy1pbnB1dCB7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwIDAgMTBweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLWZpZWxkX19jb250cm9sLFxuICAuY3MtaW5wdXRfX2NvbnRyb2wge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1maWVsZF9fbGFiZWwsXG4gIC5jcy1pbnB1dF9fbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgbWFyZ2luOiAwIDAgM3B4IDA7IH1cbiAgICAucmVxdWlyZWQgLmNzLWZpZWxkX19sYWJlbDphZnRlciwgLnJlcXVpcmVkXG4gICAgLmNzLWlucHV0X19sYWJlbDphZnRlciB7XG4gICAgICBjb250ZW50OiAnIConO1xuICAgICAgY29sb3I6ICNDQzFDM0E7IH1cbiAgLmNzLWZpZWxkX19pbnB1dCwgLmNzLWZpZWxkX190ZXh0YXJlYSxcbiAgLmNzLWlucHV0X19pbnB1dCxcbiAgLmNzLWlucHV0X190ZXh0YXJlYSB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgcGFkZGluZzogMTFweCAxMHB4O1xuICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41cztcbiAgICBtYXJnaW46IDAgMCAwLjJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiA0MHB4O1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IH1cbiAgICAuY3MtZmllbGRfX2lucHV0OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWZpZWxkX19pbnB1dDpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1maWVsZF9fdGV4dGFyZWE6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtZmllbGRfX3RleHRhcmVhOmZvY3VzOm5vdChbZGlzYWJsZWRdKSxcbiAgICAuY3MtaW5wdXRfX2lucHV0OmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAuY3MtaW5wdXRfX2lucHV0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSxcbiAgICAuY3MtaW5wdXRfX3RleHRhcmVhOmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAuY3MtaW5wdXRfX3RleHRhcmVhOmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRkY0NjA0O1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5jcy1maWVsZF9faW5wdXQ6OnBsYWNlaG9sZGVyLCAuY3MtZmllbGRfX3RleHRhcmVhOjpwbGFjZWhvbGRlcixcbiAgICAuY3MtaW5wdXRfX2lucHV0OjpwbGFjZWhvbGRlcixcbiAgICAuY3MtaW5wdXRfX3RleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29sb3I6ICM2RTZFNkU7IH1cbiAgICAuY3MtZmllbGRfX2lucHV0W2Rpc2FibGVkXSwgLmNzLWZpZWxkX190ZXh0YXJlYVtkaXNhYmxlZF0sXG4gICAgLmNzLWlucHV0X19pbnB1dFtkaXNhYmxlZF0sXG4gICAgLmNzLWlucHV0X190ZXh0YXJlYVtkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTsgfVxuICAgIC5jcy1maWVsZF9faW5wdXQubWFnZS1lcnJvciwgLmNzLWZpZWxkX19pbnB1dC5tYWdlLWVycm9yOmhvdmVyOm5vdCg6Zm9jdXMpLCAuY3MtZmllbGRfX3RleHRhcmVhLm1hZ2UtZXJyb3IsIC5jcy1maWVsZF9fdGV4dGFyZWEubWFnZS1lcnJvcjpob3Zlcjpub3QoOmZvY3VzKSxcbiAgICAuY3MtaW5wdXRfX2lucHV0Lm1hZ2UtZXJyb3IsXG4gICAgLmNzLWlucHV0X19pbnB1dC5tYWdlLWVycm9yOmhvdmVyOm5vdCg6Zm9jdXMpLFxuICAgIC5jcy1pbnB1dF9fdGV4dGFyZWEubWFnZS1lcnJvcixcbiAgICAuY3MtaW5wdXRfX3RleHRhcmVhLm1hZ2UtZXJyb3I6aG92ZXI6bm90KDpmb2N1cykge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0NDMUMzQTsgfVxuICAuY3MtZmllbGRfX3NlbGVjdCxcbiAgLmNzLWlucHV0X19zZWxlY3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIHBhZGRpbmc6IDExcHggMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjNlbTtcbiAgICBjb2xvcjogIzIxMjEyMTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgMCAwLjJlbTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgOScgZmlsbD0nJTIzZGNkY2RjJyUzZSUzY3BhdGggZD0nTTAgMS4yQzAgLjUuNiAwIDEuMiAwYy4zIDAgLjYuMS44LjNsNiA1LjkgNi01LjljLjUtLjQgMS4yLS4zIDEuNy4xLjQuNC40IDEuMSAwIDEuNUw4LjkgOC43Yy0uNS40LTEuMi40LTEuNyAwTC40IDJhLjkuOSAwIDAgMS0uNC0uOHonLyUzZSUzYy9zdmclM2VcIiksIGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCwgcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuOGVtIHRvcCA1MiUsIDAgMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDAuN2VtIGF1dG8sIDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7IH1cbiAgICAuY3MtZmllbGRfX3NlbGVjdDotbW96LWZvY3VzcmluZywgLmNzLWZpZWxkX19zZWxlY3Q6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLmNzLWlucHV0X19zZWxlY3Q6LW1vei1mb2N1c3JpbmcsXG4gICAgLmNzLWlucHV0X19zZWxlY3Q6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAwIDAgIzAwMCAhaW1wb3J0YW50OyB9XG4gICAgLmNzLWZpZWxkX19zZWxlY3Q6Oi1tcy1leHBhbmQsXG4gICAgLmNzLWlucHV0X19zZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1maWVsZF9fc2VsZWN0OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWZpZWxkX19zZWxlY3Q6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5jcy1pbnB1dF9fc2VsZWN0OmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAuY3MtaW5wdXRfX3NlbGVjdDpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0ZGNDYwNDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgOScgZmlsbD0nJTIzRkY0NjA0JyUzZSUzY3BhdGggZD0nTTAgMS4yQzAgLjUuNiAwIDEuMiAwYy4zIDAgLjYuMS44LjNsNiA1LjkgNi01LjljLjUtLjQgMS4yLS4zIDEuNy4xLjQuNC40IDEuMSAwIDEuNUw4LjkgOC43Yy0uNS40LTEuMi40LTEuNyAwTC40IDJhLjkuOSAwIDAgMS0uNC0uOHonLyUzZSUzYy9zdmclM2VcIiksIGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7IH1cbiAgICAgIC5pZTExIC5jcy1maWVsZF9fc2VsZWN0OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmllMTEgLmNzLWZpZWxkX19zZWxlY3Q6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuaWUxMVxuICAgICAgLmNzLWlucHV0X19zZWxlY3Q6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuaWUxMVxuICAgICAgLmNzLWlucHV0X19zZWxlY3Q6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDknIGZpbGw9JyUyM0ZGNDYwNCclM2UlM2NwYXRoIGQ9J00wIDEuMkMwIC41LjYgMCAxLjIgMGMuMyAwIC42LjEuOC4zbDYgNS45IDYtNS45Yy41LS40IDEuMi0uMyAxLjcuMS40LjQuNCAxLjEgMCAxLjVMOC45IDguN2MtLjUuNC0xLjIuNC0xLjcgMEwuNCAyYS45LjkgMCAwIDEtLjQtLjh6Jy8lM2UlM2Mvc3ZnJTNlXCIpOyB9XG4gICAgLmNzLWZpZWxkX19zZWxlY3RbZGlzYWJsZWRdLFxuICAgIC5jcy1pbnB1dF9fc2VsZWN0W2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1OyB9XG4gICAgLmNzLWZpZWxkX19zZWxlY3Qgb3B0aW9uLFxuICAgIC5jcy1pbnB1dF9fc2VsZWN0IG9wdGlvbiB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGNvbG9yOiBpbml0aWFsOyB9XG4gICAgLmllMTEgLmNzLWZpZWxkX19zZWxlY3QsIC5pZTExXG4gICAgLmNzLWlucHV0X19zZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDknIGZpbGw9JyUyM2RjZGNkYyclM2UlM2NwYXRoIGQ9J00wIDEuMkMwIC41LjYgMCAxLjIgMGMuMyAwIC42LjEuOC4zbDYgNS45IDYtNS45Yy41LS40IDEuMi0uMyAxLjcuMS40LjQuNCAxLjEgMCAxLjVMOC45IDguN2MtLjUuNC0xLjIuNC0xLjcgMEwuNCAyYS45LjkgMCAwIDEtLjQtLjh6Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAwLjdlbSAwLjdlbSwgMTAwJTsgfVxuICAuY3MtZmllbGRfX3JhZGlvLFxuICAuY3MtaW5wdXRfX3JhZGlvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDFlbSAxZW07XG4gICAgb3V0bGluZTogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41czsgfVxuICAgIC5jcy1maWVsZF9fcmFkaW86Oi1tcy1jaGVjayxcbiAgICAuY3MtaW5wdXRfX3JhZGlvOjotbXMtY2hlY2sge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMWVtIDFlbTtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuY3MtZmllbGRfX3JhZGlvOjotbW96LWZvY3VzLWlubmVyLCAuY3MtZmllbGRfX3JhZGlvOi1tb3otZm9jdXNyaW5nLFxuICAgIC5jcy1pbnB1dF9fcmFkaW86Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLmNzLWlucHV0X19yYWRpbzotbW96LWZvY3VzcmluZyB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjMDAwICFpbXBvcnRhbnQ7IH1cbiAgICAuY3MtZmllbGRfX3JhZGlvOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWZpZWxkX19yYWRpbzpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLmNzLWlucHV0X19yYWRpbzpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLmNzLWlucHV0X19yYWRpbzpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0ZGNzQ0MjtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5jcy1maWVsZF9fcmFkaW86Y2hlY2tlZCxcbiAgICAuY3MtaW5wdXRfX3JhZGlvOmNoZWNrZWQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHdpZHRoPScxNCcgaGVpZ2h0PScxNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY2NpcmNsZSBmaWxsPSclMjNGRjQ2MDQnIHI9JzQnIGN5PSc3JyBjeD0nNycvJTNlJTNjL3N2ZyUzZVwiKTsgfVxuICAgICAgLmNzLWZpZWxkX19yYWRpbzpjaGVja2VkOjotbXMtY2hlY2ssXG4gICAgICAuY3MtaW5wdXRfX3JhZGlvOmNoZWNrZWQ6Oi1tcy1jaGVjayB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NjaXJjbGUgZmlsbD0nJTIzRkY0NjA0JyByPSc0JyBjeT0nNi41JyBjeD0nNi41Jy8lM2UlM2Mvc3ZnJTNlXCIpOyB9XG4gICAgICAuY3MtZmllbGRfX3JhZGlvOmNoZWNrZWQsIC5jcy1maWVsZF9fcmFkaW86Y2hlY2tlZDpob3ZlciwgLmNzLWZpZWxkX19yYWRpbzpjaGVja2VkOmZvY3VzLFxuICAgICAgLmNzLWlucHV0X19yYWRpbzpjaGVja2VkLFxuICAgICAgLmNzLWlucHV0X19yYWRpbzpjaGVja2VkOmhvdmVyLFxuICAgICAgLmNzLWlucHV0X19yYWRpbzpjaGVja2VkOmZvY3VzIHtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICBib3JkZXI6IDZweCBzb2xpZCAjRkY0NjA0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5jcy1maWVsZF9fcmFkaW9bZGlzYWJsZWRdLFxuICAgIC5jcy1maWVsZF9fcmFkaW9bZGlzYWJsZWRdICsgLmxhYmVsLFxuICAgIC5jcy1maWVsZF9fcmFkaW9bZGlzYWJsZWRdICsgLmNzLWlucHV0X19sYWJlbCxcbiAgICAuY3MtaW5wdXRfX3JhZGlvW2Rpc2FibGVkXSxcbiAgICAuY3MtaW5wdXRfX3JhZGlvW2Rpc2FibGVkXSArIC5sYWJlbCxcbiAgICAuY3MtaW5wdXRfX3JhZGlvW2Rpc2FibGVkXSArIC5jcy1pbnB1dF9fbGFiZWwge1xuICAgICAgb3BhY2l0eTogMC42NTsgfVxuICAuY3MtZmllbGRfX2NoZWNrYm94LFxuICAuY3MtaW5wdXRfX2NoZWNrYm94IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDFlbSAxZW07XG4gICAgb3V0bGluZTogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cztcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMWVtIDFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH1cbiAgICAuY3MtZmllbGRfX2NoZWNrYm94OjotbXMtY2hlY2ssXG4gICAgLmNzLWlucHV0X19jaGVja2JveDo6LW1zLWNoZWNrIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDFlbSAxZW07XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmNzLWZpZWxkX19jaGVja2JveDo6LW1vei1mb2N1cy1pbm5lciwgLmNzLWZpZWxkX19jaGVja2JveDotbW96LWZvY3VzcmluZyxcbiAgICAuY3MtaW5wdXRfX2NoZWNrYm94OjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5jcy1pbnB1dF9fY2hlY2tib3g6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAwIDAgIzAwMCAhaW1wb3J0YW50OyB9XG4gICAgLmNzLWZpZWxkX19jaGVja2JveDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1maWVsZF9fY2hlY2tib3g6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5jcy1pbnB1dF9fY2hlY2tib3g6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5jcy1pbnB1dF9fY2hlY2tib3g6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRjc0NDI7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuY3MtZmllbGRfX2NoZWNrYm94OmNoZWNrZWQsXG4gICAgLmNzLWlucHV0X19jaGVja2JveDpjaGVja2VkIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NjaXJjbGUgZmlsbD0nJTIzRkY0NjA0JyByPSc0JyBjeT0nNycgY3g9JzcnLyUzZSUzYy9zdmclM2VcIik7IH1cbiAgICAgIC5jcy1maWVsZF9fY2hlY2tib3g6Y2hlY2tlZDo6LW1zLWNoZWNrLFxuICAgICAgLmNzLWlucHV0X19jaGVja2JveDpjaGVja2VkOjotbXMtY2hlY2sge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2Nzdmcgd2lkdGg9JzE0JyBoZWlnaHQ9JzE0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjY2lyY2xlIGZpbGw9JyUyM0ZGNDYwNCcgcj0nNCcgY3k9JzYuNScgY3g9JzYuNScvJTNlJTNjL3N2ZyUzZVwiKTsgfVxuICAgICAgLmNzLWZpZWxkX19jaGVja2JveDpjaGVja2VkLCAuY3MtZmllbGRfX2NoZWNrYm94OmNoZWNrZWQ6aG92ZXIsIC5jcy1maWVsZF9fY2hlY2tib3g6Y2hlY2tlZDpmb2N1cyxcbiAgICAgIC5jcy1pbnB1dF9fY2hlY2tib3g6Y2hlY2tlZCxcbiAgICAgIC5jcy1pbnB1dF9fY2hlY2tib3g6Y2hlY2tlZDpob3ZlcixcbiAgICAgIC5jcy1pbnB1dF9fY2hlY2tib3g6Y2hlY2tlZDpmb2N1cyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgYm9yZGVyOiA2cHggc29saWQgI0ZGNDYwNDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuY3MtZmllbGRfX2NoZWNrYm94W2Rpc2FibGVkXSxcbiAgICAuY3MtZmllbGRfX2NoZWNrYm94W2Rpc2FibGVkXSArIC5sYWJlbCxcbiAgICAuY3MtZmllbGRfX2NoZWNrYm94W2Rpc2FibGVkXSArIC5jcy1pbnB1dF9fbGFiZWwsXG4gICAgLmNzLWlucHV0X19jaGVja2JveFtkaXNhYmxlZF0sXG4gICAgLmNzLWlucHV0X19jaGVja2JveFtkaXNhYmxlZF0gKyAubGFiZWwsXG4gICAgLmNzLWlucHV0X19jaGVja2JveFtkaXNhYmxlZF0gKyAuY3MtaW5wdXRfX2xhYmVsIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7IH1cbiAgICAuY3MtZmllbGRfX2NoZWNrYm94OjotbXMtY2hlY2ssXG4gICAgLmNzLWlucHV0X19jaGVja2JveDo6LW1zLWNoZWNrIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDFlbSAxZW07IH1cbiAgICAuY3MtZmllbGRfX2NoZWNrYm94OmhvdmVyLFxuICAgIC5jcy1pbnB1dF9fY2hlY2tib3g6aG92ZXIge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0ZGNDYwNDsgfVxuICAgIC5jcy1maWVsZF9fY2hlY2tib3g6Y2hlY2tlZCxcbiAgICAuY3MtaW5wdXRfX2NoZWNrYm94OmNoZWNrZWQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHdpZHRoPScxNCcgaGVpZ2h0PScxNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY3BhdGggZmlsbD0nJTIzRkY0NjA0JyBkPSdNNS4zMTMgMTAuMTA4SDUuMjRhMS4wNjQgMS4wMDUgMCAwIDEtLjc1LS40MWwtMS45NDctMi41NWExLjA2NCAxLjAwNSAwIDAgMSAxLjcyMy0xLjE3NUw1LjQ2MyA3LjU2IDkuMDYgNC4xOWExLjA2NCAxLjAwNSAwIDAgMSAuNzUtLjI5N2guODQ2YTEuMDY0IDEuMDA1IDAgMCAxIDAgMi4wMDRoLS40NUw2LjA2NCA5LjgxYTEuMDY0IDEuMDA1IDAgMCAxLS43NS4yOTh6Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0ZGNDYwNDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgICAgLmNzLWZpZWxkX19jaGVja2JveDpjaGVja2VkOjotbXMtY2hlY2ssXG4gICAgICAuY3MtaW5wdXRfX2NoZWNrYm94OmNoZWNrZWQ6Oi1tcy1jaGVjayB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NwYXRoIGZpbGw9JyUyM0ZGNDYwNCcgZD0nTTUuMzEzIDEwLjEwOEg1LjI0YTEuMDY0IDEuMDA1IDAgMCAxLS43NS0uNDFsLTEuOTQ3LTIuNTVhMS4wNjQgMS4wMDUgMCAwIDEgMS43MjMtMS4xNzVMNS40NjMgNy41NiA5LjA2IDQuMTlhMS4wNjQgMS4wMDUgMCAwIDEgLjc1LS4yOTdoLjg0NmExLjA2NCAxLjAwNSAwIDAgMSAwIDIuMDA0aC0uNDVMNi4wNjQgOS44MWExLjA2NCAxLjAwNSAwIDAgMS0uNzUuMjk4eicvJTNlJTNjL3N2ZyUzZVwiKTsgfVxuICAgICAgLmNzLWZpZWxkX19jaGVja2JveDpjaGVja2VkOmZvY3VzLCAuY3MtZmllbGRfX2NoZWNrYm94OmNoZWNrZWQ6aG92ZXIsXG4gICAgICAuY3MtaW5wdXRfX2NoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsXG4gICAgICAuY3MtaW5wdXRfX2NoZWNrYm94OmNoZWNrZWQ6aG92ZXIge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NwYXRoIGZpbGw9JyUyM0ZGNDYwNCcgZD0nTTUuMzEzIDEwLjEwOEg1LjI0YTEuMDY0IDEuMDA1IDAgMCAxLS43NS0uNDFsLTEuOTQ3LTIuNTVhMS4wNjQgMS4wMDUgMCAwIDEgMS43MjMtMS4xNzVMNS40NjMgNy41NiA5LjA2IDQuMTlhMS4wNjQgMS4wMDUgMCAwIDEgLjc1LS4yOTdoLjg0NmExLjA2NCAxLjAwNSAwIDAgMSAwIDIuMDA0aC0uNDVMNi4wNjQgOS44MWExLjA2NCAxLjAwNSAwIDAgMS0uNzUuMjk4eicvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0ZGNDYwNDsgfVxuICAgIC5jcy1maWVsZF9fY2hlY2tib3gubWFnZS1lcnJvciwgLmNzLWZpZWxkX19jaGVja2JveC5tYWdlLWVycm9yOmhvdmVyOm5vdCg6Zm9jdXMpLFxuICAgIC5jcy1pbnB1dF9fY2hlY2tib3gubWFnZS1lcnJvcixcbiAgICAuY3MtaW5wdXRfX2NoZWNrYm94Lm1hZ2UtZXJyb3I6aG92ZXI6bm90KDpmb2N1cykge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0NDMUMzQTsgfVxuICAuY3MtZmllbGRfX2ljb24sXG4gIC5jcy1pbnB1dF9faWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxLjNlbTtcbiAgICBoZWlnaHQ6IDEuM2VtO1xuICAgIHJpZ2h0OiAwLjhlbTtcbiAgICB0b3A6IDAuOGVtO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWZpZWxkX19ub3RlLFxuICAuY3MtaW5wdXRfX25vdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIHBhZGRpbmc6IDAuM2VtIDAgMDtcbiAgICBjb2xvcjogIzY5Njk2OTsgfVxuICAuY3MtZmllbGRfX2Vycm9yLFxuICAuY3MtaW5wdXRfX2Vycm9yIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICBwYWRkaW5nOiAwLjNlbSAwIDA7XG4gICAgY29sb3I6ICM2OTY5Njk7XG4gICAgY29sb3I6ICNDQzFDM0E7IH1cblxuLmZpZWxkIHtcbiAgZm9udC1zaXplOiAxLjNyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDAgMCAxMHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICAuZmllbGQubm90ZSB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OyB9XG4gIC5maWVsZC5fc3VjY2Vzczpub3QoLl93YXJuKSAuY29udHJvbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmZpZWxkLl9zdWNjZXNzOm5vdCguX3dhcm4pIC5jb250cm9sOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxLjNlbTtcbiAgICAgIGhlaWdodDogMS4zZW07XG4gICAgICByaWdodDogMC44ZW07XG4gICAgICB0b3A6IDAuOGVtO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9jaGVjay1ncmVlbi5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIvY29udGFpbjtcbiAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5maWVsZCAuY29udHJvbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuZmllbGQgLmNvbnRyb2wgPiB0ZXh0YXJlYSB7XG4gICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgICAgcGFkZGluZzogMTFweCAxMHB4O1xuICAgICAgY29sb3I6ICMyMTIxMjE7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41cztcbiAgICAgIG1hcmdpbjogMCAwIDAuMmVtO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtaGVpZ2h0OiA0MHB4O1xuICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG4gICAgICAuZmllbGQgLmNvbnRyb2wgPiB0ZXh0YXJlYTpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5maWVsZCAuY29udHJvbCA+IHRleHRhcmVhOmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRjQ2MDQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAgIC5maWVsZCAuY29udHJvbCA+IHRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGNvbG9yOiAjNkU2RTZFOyB9XG4gICAgICAuZmllbGQgLmNvbnRyb2wgPiB0ZXh0YXJlYVtkaXNhYmxlZF0ge1xuICAgICAgICBvcGFjaXR5OiAwLjY1OyB9XG4gIC5maWVsZCAubGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgbWFyZ2luOiAwIDAgM3B4IDA7IH1cbiAgLmZpZWxkLnJlcXVpcmVkID4gLmxhYmVsOmFmdGVyLCAuZmllbGQuX3JlcXVpcmVkID4gLmxhYmVsOmFmdGVyIHtcbiAgICBjb250ZW50OiAnIConO1xuICAgIGNvbG9yOiAjQ0MxQzNBOyB9XG4gIC5maWVsZC5yZXF1aXJlZCAuX3JlcXVpcmVkID4gLmxhYmVsOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5maWVsZCAuaW5wdXQtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgcGFkZGluZzogMTFweCAxMHB4O1xuICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41cztcbiAgICBtYXJnaW46IDAgMCAwLjJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiA0MHB4O1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IH1cbiAgICAuZmllbGQgLmlucHV0LXRleHQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuZmllbGQgLmlucHV0LXRleHQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRjQ2MDQ7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmZpZWxkIC5pbnB1dC10ZXh0OjpwbGFjZWhvbGRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29sb3I6ICM2RTZFNkU7IH1cbiAgICAuZmllbGQgLmlucHV0LXRleHRbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7IH1cbiAgICAuZmllbGQgLmlucHV0LXRleHQubWFnZS1lcnJvciwgLmZpZWxkIC5pbnB1dC10ZXh0Lm1hZ2UtZXJyb3I6aG92ZXI6bm90KDpmb2N1cykge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0NDMUMzQTsgfVxuICAgIC5maWVsZCAuaW5wdXQtdGV4dC5yZXF1aXJlZC1lbnRyeSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5maWVsZCAuc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBwYWRkaW5nOiAxMXB4IDEwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMi4zZW07XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDAgMC4yZW07XG4gICAgb3V0bGluZTogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDknIGZpbGw9JyUyM2RjZGNkYyclM2UlM2NwYXRoIGQ9J00wIDEuMkMwIC41LjYgMCAxLjIgMGMuMyAwIC42LjEuOC4zbDYgNS45IDYtNS45Yy41LS40IDEuMi0uMyAxLjcuMS40LjQuNCAxLjEgMCAxLjVMOC45IDguN2MtLjUuNC0xLjIuNC0xLjcgMEwuNCAyYS45LjkgMCAwIDEtLjQtLjh6Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBsaW5lYXItZ3JhZGllbnQoMGRlZywgdHJhbnNwYXJlbnQgMCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQsIHJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwLjhlbSB0b3AgNTIlLCAwIDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiAwLjdlbSBhdXRvLCAxMDAlO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjVzOyB9XG4gICAgLmZpZWxkIC5zZWxlY3Q6LW1vei1mb2N1c3JpbmcsIC5maWVsZCAuc2VsZWN0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IDAgMCAwICMwMDAgIWltcG9ydGFudDsgfVxuICAgIC5maWVsZCAuc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuZmllbGQgLnNlbGVjdDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5maWVsZCAuc2VsZWN0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRkY0NjA0O1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiA5JyBmaWxsPSclMjNGRjQ2MDQnJTNlJTNjcGF0aCBkPSdNMCAxLjJDMCAuNS42IDAgMS4yIDBjLjMgMCAuNi4xLjguM2w2IDUuOSA2LTUuOWMuNS0uNCAxLjItLjMgMS43LjEuNC40LjQgMS4xIDAgMS41TDguOSA4LjdjLS41LjQtMS4yLjQtMS43IDBMLjQgMmEuOS45IDAgMCAxLS40LS44eicvJTNlJTNjL3N2ZyUzZVwiKSwgbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDAlLCB0cmFuc3BhcmVudCAxMDAlKTsgfVxuICAgICAgLmllMTEgLmZpZWxkIC5zZWxlY3Q6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuaWUxMSAuZmllbGQgLnNlbGVjdDpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgOScgZmlsbD0nJTIzRkY0NjA0JyUzZSUzY3BhdGggZD0nTTAgMS4yQzAgLjUuNiAwIDEuMiAwYy4zIDAgLjYuMS44LjNsNiA1LjkgNi01LjljLjUtLjQgMS4yLS4zIDEuNy4xLjQuNC40IDEuMSAwIDEuNUw4LjkgOC43Yy0uNS40LTEuMi40LTEuNyAwTC40IDJhLjkuOSAwIDAgMS0uNC0uOHonLyUzZSUzYy9zdmclM2VcIik7IH1cbiAgICAuZmllbGQgLnNlbGVjdFtkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTsgfVxuICAgIC5maWVsZCAuc2VsZWN0IG9wdGlvbiB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGNvbG9yOiBpbml0aWFsOyB9XG4gICAgLmllMTEgLmZpZWxkIC5zZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDknIGZpbGw9JyUyM2RjZGNkYyclM2UlM2NwYXRoIGQ9J00wIDEuMkMwIC41LjYgMCAxLjIgMGMuMyAwIC42LjEuOC4zbDYgNS45IDYtNS45Yy41LS40IDEuMi0uMyAxLjcuMS40LjQuNCAxLjEgMCAxLjVMOC45IDguN2MtLjUuNC0xLjIuNC0xLjcgMEwuNCAyYS45LjkgMCAwIDEtLjQtLjh6Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAwLjdlbSAwLjdlbSwgMTAwJTsgfVxuICAuZmllbGQgLmNoZWNrYm94IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDFlbSAxZW07XG4gICAgb3V0bGluZTogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cztcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMWVtIDFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH1cbiAgICAuZmllbGQgLmNoZWNrYm94OjotbXMtY2hlY2sge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMWVtIDFlbTtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuZmllbGQgLmNoZWNrYm94OjotbW96LWZvY3VzLWlubmVyLCAuZmllbGQgLmNoZWNrYm94Oi1tb3otZm9jdXNyaW5nIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IDAgMCAwICMwMDAgIWltcG9ydGFudDsgfVxuICAgIC5maWVsZCAuY2hlY2tib3g6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuZmllbGQgLmNoZWNrYm94OmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRkY3NDQyO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmZpZWxkIC5jaGVja2JveDpjaGVja2VkIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NjaXJjbGUgZmlsbD0nJTIzRkY0NjA0JyByPSc0JyBjeT0nNycgY3g9JzcnLyUzZSUzYy9zdmclM2VcIik7IH1cbiAgICAgIC5maWVsZCAuY2hlY2tib3g6Y2hlY2tlZDo6LW1zLWNoZWNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHdpZHRoPScxNCcgaGVpZ2h0PScxNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY2NpcmNsZSBmaWxsPSclMjNGRjQ2MDQnIHI9JzQnIGN5PSc2LjUnIGN4PSc2LjUnLyUzZSUzYy9zdmclM2VcIik7IH1cbiAgICAgIC5maWVsZCAuY2hlY2tib3g6Y2hlY2tlZCwgLmZpZWxkIC5jaGVja2JveDpjaGVja2VkOmhvdmVyLCAuZmllbGQgLmNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMge1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgIGJvcmRlcjogNnB4IHNvbGlkICNGRjQ2MDQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmZpZWxkIC5jaGVja2JveFtkaXNhYmxlZF0sXG4gICAgLmZpZWxkIC5jaGVja2JveFtkaXNhYmxlZF0gKyAubGFiZWwsXG4gICAgLmZpZWxkIC5jaGVja2JveFtkaXNhYmxlZF0gKyAuY3MtaW5wdXRfX2xhYmVsIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7IH1cbiAgICAuZmllbGQgLmNoZWNrYm94OjotbXMtY2hlY2sge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMWVtIDFlbTsgfVxuICAgIC5maWVsZCAuY2hlY2tib3g6aG92ZXIge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0ZGNDYwNDsgfVxuICAgIC5maWVsZCAuY2hlY2tib3g6Y2hlY2tlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2Nzdmcgd2lkdGg9JzE0JyBoZWlnaHQ9JzE0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjcGF0aCBmaWxsPSclMjNGRjQ2MDQnIGQ9J001LjMxMyAxMC4xMDhINS4yNGExLjA2NCAxLjAwNSAwIDAgMS0uNzUtLjQxbC0xLjk0Ny0yLjU1YTEuMDY0IDEuMDA1IDAgMCAxIDEuNzIzLTEuMTc1TDUuNDYzIDcuNTYgOS4wNiA0LjE5YTEuMDY0IDEuMDA1IDAgMCAxIC43NS0uMjk3aC44NDZhMS4wNjQgMS4wMDUgMCAwIDEgMCAyLjAwNGgtLjQ1TDYuMDY0IDkuODFhMS4wNjQgMS4wMDUgMCAwIDEtLjc1LjI5OHonLyUzZSUzYy9zdmclM2VcIik7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRkY0NjA0O1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9XG4gICAgICAuZmllbGQgLmNoZWNrYm94OmNoZWNrZWQ6Oi1tcy1jaGVjayB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NwYXRoIGZpbGw9JyUyM0ZGNDYwNCcgZD0nTTUuMzEzIDEwLjEwOEg1LjI0YTEuMDY0IDEuMDA1IDAgMCAxLS43NS0uNDFsLTEuOTQ3LTIuNTVhMS4wNjQgMS4wMDUgMCAwIDEgMS43MjMtMS4xNzVMNS40NjMgNy41NiA5LjA2IDQuMTlhMS4wNjQgMS4wMDUgMCAwIDEgLjc1LS4yOTdoLjg0NmExLjA2NCAxLjAwNSAwIDAgMSAwIDIuMDA0aC0uNDVMNi4wNjQgOS44MWExLjA2NCAxLjAwNSAwIDAgMS0uNzUuMjk4eicvJTNlJTNjL3N2ZyUzZVwiKTsgfVxuICAgICAgLmZpZWxkIC5jaGVja2JveDpjaGVja2VkOmZvY3VzLCAuZmllbGQgLmNoZWNrYm94OmNoZWNrZWQ6aG92ZXIge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NwYXRoIGZpbGw9JyUyM0ZGNDYwNCcgZD0nTTUuMzEzIDEwLjEwOEg1LjI0YTEuMDY0IDEuMDA1IDAgMCAxLS43NS0uNDFsLTEuOTQ3LTIuNTVhMS4wNjQgMS4wMDUgMCAwIDEgMS43MjMtMS4xNzVMNS40NjMgNy41NiA5LjA2IDQuMTlhMS4wNjQgMS4wMDUgMCAwIDEgLjc1LS4yOTdoLjg0NmExLjA2NCAxLjAwNSAwIDAgMSAwIDIuMDA0aC0uNDVMNi4wNjQgOS44MWExLjA2NCAxLjAwNSAwIDAgMS0uNzUuMjk4eicvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0ZGNDYwNDsgfVxuICAgIC5maWVsZCAuY2hlY2tib3gubWFnZS1lcnJvciwgLmZpZWxkIC5jaGVja2JveC5tYWdlLWVycm9yOmhvdmVyOm5vdCg6Zm9jdXMpIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNDQzFDM0E7IH1cbiAgLmZpZWxkIC5yYWRpbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxZW0gMWVtO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXM7IH1cbiAgICAuZmllbGQgLnJhZGlvOjotbXMtY2hlY2sge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMWVtIDFlbTtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuZmllbGQgLnJhZGlvOjotbW96LWZvY3VzLWlubmVyLCAuZmllbGQgLnJhZGlvOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IDAgMCAwICMwMDAgIWltcG9ydGFudDsgfVxuICAgIC5maWVsZCAucmFkaW86aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuZmllbGQgLnJhZGlvOmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRkY3NDQyO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmZpZWxkIC5yYWRpbzpjaGVja2VkIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NjaXJjbGUgZmlsbD0nJTIzRkY0NjA0JyByPSc0JyBjeT0nNycgY3g9JzcnLyUzZSUzYy9zdmclM2VcIik7IH1cbiAgICAgIC5maWVsZCAucmFkaW86Y2hlY2tlZDo6LW1zLWNoZWNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHdpZHRoPScxNCcgaGVpZ2h0PScxNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY2NpcmNsZSBmaWxsPSclMjNGRjQ2MDQnIHI9JzQnIGN5PSc2LjUnIGN4PSc2LjUnLyUzZSUzYy9zdmclM2VcIik7IH1cbiAgICAgIC5maWVsZCAucmFkaW86Y2hlY2tlZCwgLmZpZWxkIC5yYWRpbzpjaGVja2VkOmhvdmVyLCAuZmllbGQgLnJhZGlvOmNoZWNrZWQ6Zm9jdXMge1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgIGJvcmRlcjogNnB4IHNvbGlkICNGRjQ2MDQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmZpZWxkIC5yYWRpb1tkaXNhYmxlZF0sXG4gICAgLmZpZWxkIC5yYWRpb1tkaXNhYmxlZF0gKyAubGFiZWwsXG4gICAgLmZpZWxkIC5yYWRpb1tkaXNhYmxlZF0gKyAuY3MtaW5wdXRfX2xhYmVsIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7IH1cbiAgLmZpZWxkLmNob2ljZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmZpZWxkLmNob2ljZSBsYWJlbCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmbGV4OiAxO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gICAgLmZpZWxkLmNob2ljZSBkaXYubWFnZS1lcnJvciB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5maWVsZC5jaG9pY2UgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cbiAgLmZpZWxkLmN1c3RvbWVyLW5hbWUtcHJlZml4IHNlbGVjdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgcGFkZGluZzogMTFweCAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuM2VtO1xuICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDAuMmVtO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiA5JyBmaWxsPSclMjNkY2RjZGMnJTNlJTNjcGF0aCBkPSdNMCAxLjJDMCAuNS42IDAgMS4yIDBjLjMgMCAuNi4xLjguM2w2IDUuOSA2LTUuOWMuNS0uNCAxLjItLjMgMS43LjEuNC40LjQgMS4xIDAgMS41TDguOSA4LjdjLS41LjQtMS4yLjQtMS43IDBMLjQgMmEuOS45IDAgMCAxLS40LS44eicvJTNlJTNjL3N2ZyUzZVwiKSwgbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0LCByZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMC44ZW0gdG9wIDUyJSwgMCAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMC43ZW0gYXV0bywgMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41czsgfVxuICAgIC5maWVsZC5jdXN0b21lci1uYW1lLXByZWZpeCBzZWxlY3Q6LW1vei1mb2N1c3JpbmcsIC5maWVsZC5jdXN0b21lci1uYW1lLXByZWZpeCBzZWxlY3Q6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAwIDAgIzAwMCAhaW1wb3J0YW50OyB9XG4gICAgLmZpZWxkLmN1c3RvbWVyLW5hbWUtcHJlZml4IHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmZpZWxkLmN1c3RvbWVyLW5hbWUtcHJlZml4IHNlbGVjdDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5maWVsZC5jdXN0b21lci1uYW1lLXByZWZpeCBzZWxlY3Q6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRjQ2MDQ7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDknIGZpbGw9JyUyM0ZGNDYwNCclM2UlM2NwYXRoIGQ9J00wIDEuMkMwIC41LjYgMCAxLjIgMGMuMyAwIC42LjEuOC4zbDYgNS45IDYtNS45Yy41LS40IDEuMi0uMyAxLjcuMS40LjQuNCAxLjEgMCAxLjVMOC45IDguN2MtLjUuNC0xLjIuNC0xLjcgMEwuNCAyYS45LjkgMCAwIDEtLjQtLjh6Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBsaW5lYXItZ3JhZGllbnQoMGRlZywgdHJhbnNwYXJlbnQgMCUsIHRyYW5zcGFyZW50IDEwMCUpOyB9XG4gICAgICAuaWUxMSAuZmllbGQuY3VzdG9tZXItbmFtZS1wcmVmaXggc2VsZWN0OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmllMTEgLmZpZWxkLmN1c3RvbWVyLW5hbWUtcHJlZml4IHNlbGVjdDpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgOScgZmlsbD0nJTIzRkY0NjA0JyUzZSUzY3BhdGggZD0nTTAgMS4yQzAgLjUuNiAwIDEuMiAwYy4zIDAgLjYuMS44LjNsNiA1LjkgNi01LjljLjUtLjQgMS4yLS4zIDEuNy4xLjQuNC40IDEuMSAwIDEuNUw4LjkgOC43Yy0uNS40LTEuMi40LTEuNyAwTC40IDJhLjkuOSAwIDAgMS0uNC0uOHonLyUzZSUzYy9zdmclM2VcIik7IH1cbiAgICAuZmllbGQuY3VzdG9tZXItbmFtZS1wcmVmaXggc2VsZWN0W2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1OyB9XG4gICAgLmZpZWxkLmN1c3RvbWVyLW5hbWUtcHJlZml4IHNlbGVjdCBvcHRpb24ge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjb2xvcjogaW5pdGlhbDsgfVxuICAgIC5pZTExIC5maWVsZC5jdXN0b21lci1uYW1lLXByZWZpeCBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDknIGZpbGw9JyUyM2RjZGNkYyclM2UlM2NwYXRoIGQ9J00wIDEuMkMwIC41LjYgMCAxLjIgMGMuMyAwIC42LjEuOC4zbDYgNS45IDYtNS45Yy41LS40IDEuMi0uMyAxLjcuMS40LjQuNCAxLjEgMCAxLjVMOC45IDguN2MtLjUuNC0xLjIuNC0xLjcgMEwuNCAyYS45LjkgMCAwIDEtLjQtLjh6Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAwLjdlbSAwLjdlbSwgMTAwJTsgfVxuICAuZmllbGQuX2Vycm9yIC5pbnB1dC10ZXh0LCAuZmllbGQuX2Vycm9yIC5pbnB1dC10ZXh0OmhvdmVyOm5vdCg6Zm9jdXMpLFxuICAuZmllbGQuX2Vycm9yIC5jaGVja2JveCxcbiAgLmZpZWxkLl9lcnJvciAuY2hlY2tib3g6aG92ZXI6bm90KDpmb2N1cykge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNDQzFDM0E7IH1cbiAgLmZpZWxkIC5jb250cm9sLl93aXRoLXRvb2x0aXAgaW5wdXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuZmllbGQgLmZpZWxkLXRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgICAuZmllbGQgLmZpZWxkLXRvb2x0aXAgLmxhYmVsLFxuICAgIC5maWVsZCAuZmllbGQtdG9vbHRpcCAuZmllbGQtdG9vbHRpcC1hY3Rpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5maWVsZCAuZmllbGQtdG9vbHRpcCAuZmllbGQtdG9vbHRpcC1jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICAgIHBhZGRpbmc6IDAuM2VtIDAgMDtcbiAgICAgIGNvbG9yOiAjNjk2OTY5OyB9XG4gICAgICAuZmllbGQgLmZpZWxkLXRvb2x0aXAgLmZpZWxkLXRvb2x0aXAtY29udGVudDpiZWZvcmUsIC5maWVsZCAuZmllbGQtdG9vbHRpcCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuZmllbGQgLm5vdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIHBhZGRpbmc6IDAuM2VtIDAgMDtcbiAgICBjb2xvcjogIzY5Njk2OTsgfVxuXG5kaXYubWFnZS1lcnJvcixcbmRpdi5maWVsZC1lcnJvciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODVlbTtcbiAgcGFkZGluZzogMC4zZW0gMCAwO1xuICBjb2xvcjogIzY5Njk2OTtcbiAgY29sb3I6ICNDQzFDM0E7IH1cblxuLm9wYy13cmFwcGVyIC5zZWxlY3Qtd3JhcCxcbi5lc3RpbWF0ZSAuc2VsZWN0LXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLm9wYy13cmFwcGVyIC5zZWxlY3Qtd3JhcCBzZWxlY3QsXG4gIC5lc3RpbWF0ZSAuc2VsZWN0LXdyYXAgc2VsZWN0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4OyB9XG4gIC5vcGMtd3JhcHBlciAuc2VsZWN0LXdyYXA6YWZ0ZXIsXG4gIC5lc3RpbWF0ZSAuc2VsZWN0LXdyYXA6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3doaXRlLWFycm93LnN2Z1wiKTtcbiAgICB3aWR0aDogNDRweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE1cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuc21hbGwucmVxdWlyZWQtZmllbGRzIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgY29sb3I6ICM2RTZFNkU7IH1cbiAgc21hbGwucmVxdWlyZWQtZmllbGRzIHNwYW4ge1xuICAgIGNvbG9yOiAjQ0MxQzNBOyB9XG5cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG5AbWl4aW4gZmllbGQtaG9vaygpIHtcbn1cblxuQG1peGluIGZpZWxkLWVycm9yLWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1sYWJlbC1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtbGFiZWwtcmVxdWlyZWQtaG9vaygpIHtcbn1cblxuQG1peGluIGZpZWxkLWNvbnRyb2wtaG9vaygpIHtcbn1cblxuQG1peGluIGZpZWxkLWlucHV0LWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1pbnB1dC1lcnJvci1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtaWNvbi1ob29rKCR0eXBlOiAnJykge1xufVxuXG5AbWl4aW4gZmllbGQtbm90ZS1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtZXJyb3ItaG9vaygpIHtcbn1cblxuQG1peGluIGZpZWxkLXdhcm5pbmctaG9vaygpIHtcbn1cblxuQG1peGluIGZpZWxkLXNlbGVjdC1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtcmFkaW8taG9vaygpIHtcbn1cblxuQG1peGluIGZpZWxkLXJhZGlvLWxhYmVsLWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1jaGVja2JveC1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtY2hlY2tib3gtbGFiZWwtaG9vaygpIHtcbn1cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndXRpbHMvdXJpLWZyaWVuZGx5LWhleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZpZWxkL2hvb2snO1xuXG4kZmllbGRfZm9udC1zaXplOiAxLjNyZW0gIWRlZmF1bHQ7XG4kZmllbGRfdHJhbnNpdGlvbi10aW1lOiAwLjVzICFkZWZhdWx0O1xuXG4kZmllbGRfbGFiZWwtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcbiRmaWVsZF9sYWJlbC1mb250LXNpemU6IDAuODVlbSAhZGVmYXVsdDtcbiRmaWVsZF9sYWJlbC1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcbiRmaWVsZF9sYWJlbC10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcbiRmaWVsZF9sYWJlbC1tYXJnaW46IDAgMCAzcHggMCAhZGVmYXVsdDtcblxuJGZpZWxkX2lucHV0LWZvbnQtc2l6ZTogMS4zcmVtICFkZWZhdWx0O1xuJGZpZWxkX2lucHV0LWxpbmUtaGVpZ2h0OiAkYnV0dG9uX2xpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGZpZWxkX2lucHV0LXBhZGRpbmc6IDExcHggMTBweCAhZGVmYXVsdDtcbiRmaWVsZF9pbnB1dC1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJGZpZWxkX2lucHV0LWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRmaWVsZF9pbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRmaWVsZF9pbnB1dC1ib3JkZXItYWN0aXZlOiAxcHggc29saWQgJGNvbG9yLXByaW1hcnktNTAwICFkZWZhdWx0O1xuJGZpZWxkX2lucHV0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2UgIWRlZmF1bHQ7XG4kZmllbGRfaW5wdXQtYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcbiRmaWVsZF9pbnB1dC1ib3gtc2hhZG93LWFjdGl2ZTogbm9uZSAhZGVmYXVsdDtcbiRmaWVsZF9pbnB1dC1kaXNhYmxlZC1vcGFjaXR5OiAwLjY1ICFkZWZhdWx0O1xuJGZpZWxkX2lucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkY29sb3JfZ3JheSAhZGVmYXVsdDtcblxuJGZpZWxkX2Vycm9yLWZvbnQtc2l6ZTogJGZpZWxkX2xhYmVsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmaWVsZF9lcnJvci1pbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfZXJyb3ItNTAwICFkZWZhdWx0O1xuXG4kZmllbGRfbm90ZS1mb250LXNpemU6ICRmaWVsZF9sYWJlbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZmllbGRfbm90ZS1jb2xvcjogJGNvbG9yX3RleHQtNTAwICFkZWZhdWx0O1xuXG4kZmllbGRfZXJyb3ItY29sb3I6ICRjb2xvcl9lcnJvci01MDAgIWRlZmF1bHQ7XG5cbiRmaWVsZF93YXJuaW5nLWNvbG9yOiAkY29sb3Jfd2FybmluZy01MDAgIWRlZmF1bHQ7XG4vLyBCYXNlZCBvbiBodHRwczovL3d3dy5maWxhbWVudGdyb3VwLmNvbS9sYWIvc2VsZWN0LWNzcy5odG1sXG4kZmllbGRfc2VsZWN0LWZvbnQtc2l6ZTogJGZpZWxkX2lucHV0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmaWVsZF9zZWxlY3QtbGluZS1oZWlnaHQ6ICRmaWVsZF9pbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRmaWVsZF9zZWxlY3QtcGFkZGluZzogJGZpZWxkX2lucHV0LXBhZGRpbmcgIWRlZmF1bHQ7XG4kZmllbGRfc2VsZWN0LXBhZGRpbmctcmlnaHQ6IDIuM2VtICFkZWZhdWx0O1xuJGZpZWxkX3NlbGVjdC1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuXG4kZmllbGRfc2VsZWN0LWJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuOGVtIHRvcCA1MiUsIDAgMCAhZGVmYXVsdDtcbiRmaWVsZF9zZWxlY3QtYmFja2dyb3VuZC1zaXplOiAwLjdlbSBhdXRvLCAxMDAlICFkZWZhdWx0O1xuLy8gSUUgZG9lc24ndCB1bmRlcnN0YW5kIGtleXdvcmQgYXV0byBpbiBiYWNrZ3JvdW5kLXNpemVcbiRmaWVsZF9zZWxlY3QtYmFja2dyb3VuZC1zaXplLS1pZTogMC43ZW0gMC43ZW0sIDEwMCUgIWRlZmF1bHQ7XG5cbi8vIE5vdGUgdGhhdCBzZWxlY3QgYmFja2dyb3VuZCBuZWVkcyB0byBiZSBkZWZpbmVkIGFzIGJhY2tncm91bmQtaW1hZ2UgdG8gcHJldmVudFxuLy8gb3B0aW9uIGVsZW1lbnRzIGZyb20gaW5oZXJpdGluZyBpdCBvbiBzb21lIGJyb3dzZXJzLlxuJGZpZWxkX3NlbGVjdC1pY29uLWZpbGw6ICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJGZpZWxkX3NlbGVjdC1pY29uLWZpbGwtYWN0aXZlOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kZmllbGRfc2VsZWN0LWJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiA5JyBmaWxsPScje3VyaS1mcmllbmRseS1oZXgoJGZpZWxkX3NlbGVjdC1pY29uLWZpbGwpfSclM2UlM2NwYXRoIGQ9J00wIDEuMkMwIC41LjYgMCAxLjIgMGMuMyAwIC42LjEuOC4zbDYgNS45IDYtNS45Yy41LS40IDEuMi0uMyAxLjcuMS40LjQuNCAxLjEgMCAxLjVMOC45IDguN2MtLjUuNC0xLjIuNC0xLjcgMEwuNCAyYS45LjkgMCAwIDEtLjQtLjh6Jy8lM2UlM2Mvc3ZnJTNlXCIpLFxuICAgIGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCAwJSwgdHJhbnNwYXJlbnQgMTAwJSkgIWRlZmF1bHQ7XG4vLyBJRSBkb2Vzbid0IHN1cHBvcnQgbGluZWFyLWdyYWRpZW50KCkgdXNlZCBpbiB0aGlzIGNvbnRleHRcbiRmaWVsZF9zZWxlY3QtYmFja2dyb3VuZC1pbWFnZS0taWU6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiA5JyBmaWxsPScje3VyaS1mcmllbmRseS1oZXgoJGZpZWxkX3NlbGVjdC1pY29uLWZpbGwpfSclM2UlM2NwYXRoIGQ9J00wIDEuMkMwIC41LjYgMCAxLjIgMGMuMyAwIC42LjEuOC4zbDYgNS45IDYtNS45Yy41LS40IDEuMi0uMyAxLjcuMS40LjQuNCAxLjEgMCAxLjVMOC45IDguN2MtLjUuNC0xLjIuNC0xLjcgMEwuNCAyYS45LjkgMCAwIDEtLjQtLjh6Jy8lM2UlM2Mvc3ZnJTNlXCIpICFkZWZhdWx0O1xuJGZpZWxkX3NlbGVjdC1iYWNrZ3JvdW5kLWFjdGl2ZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDknIGZpbGw9JyN7dXJpLWZyaWVuZGx5LWhleCgkZmllbGRfc2VsZWN0LWljb24tZmlsbC1hY3RpdmUpfSclM2UlM2NwYXRoIGQ9J00wIDEuMkMwIC41LjYgMCAxLjIgMGMuMyAwIC42LjEuOC4zbDYgNS45IDYtNS45Yy41LS40IDEuMi0uMyAxLjcuMS40LjQuNCAxLjEgMCAxLjVMOC45IDguN2MtLjUuNC0xLjIuNC0xLjcgMEwuNCAyYS45LjkgMCAwIDEtLjQtLjh6Jy8lM2UlM2Mvc3ZnJTNlXCIpLFxuICAgIGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCAwJSwgdHJhbnNwYXJlbnQgMTAwJSkgIWRlZmF1bHQ7XG4vLyBJRSBkb2Vzbid0IHN1cHBvcnQgbGluZWFyLWdyYWRpZW50KCkgdXNlZCBpbiB0aGlzIGNvbnRleHRcbiRmaWVsZF9zZWxlY3QtYmFja2dyb3VuZC1hY3RpdmUtLWllOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgOScgZmlsbD0nI3t1cmktZnJpZW5kbHktaGV4KCRmaWVsZF9zZWxlY3QtaWNvbi1maWxsLWFjdGl2ZSl9JyUzZSUzY3BhdGggZD0nTTAgMS4yQzAgLjUuNiAwIDEuMiAwYy4zIDAgLjYuMS44LjNsNiA1LjkgNi01LjljLjUtLjQgMS4yLS4zIDEuNy4xLjQuNC40IDEuMSAwIDEuNUw4LjkgOC43Yy0uNS40LTEuMi40LTEuNyAwTC40IDJhLjkuOSAwIDAgMS0uNC0uOHonLyUzZSUzYy9zdmclM2VcIikgIWRlZmF1bHQ7XG5cbiRmaWVsZF9zZWxlY3QtYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kZmllbGRfc2VsZWN0LWJvcmRlci1hY3RpdmU6IDFweCBzb2xpZCAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kZmllbGRfc2VsZWN0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2UgIWRlZmF1bHQ7XG4kZmllbGRfc2VsZWN0LWJveC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG4kZmllbGRfc2VsZWN0LWJveC1zaGFkb3ctYWN0aXZlOiBub25lICFkZWZhdWx0O1xuJGZpZWxkX3NlbGVjdC1iYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRfaW5wdXQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmaWVsZF9zZWxlY3QtZGlzYWJsZWQtb3BhY2l0eTogJGZpZWxkX2lucHV0LWRpc2FibGVkLW9wYWNpdHkgIWRlZmF1bHQ7XG5cbi8qIFJhZGlvIGFuZCBjaGVja2JveCBzdHlsaW5nICovXG4kZmllbGRfcmFkaW8tZm9udC1zaXplOiAxLjZyZW0gIWRlZmF1bHQ7XG4kZmllbGRfcmFkaW8tc2l6ZTogMjBweCAhZGVmYXVsdDtcbi8vIExldHMgeW91IGFkanVzdCBib3RoIHJhZGlvIGFuZCBjaGVja2JveCBhbGlnbm1lbnQgYmFzZWQgb24gZm9udCB5b3UndmUgY2hvc2VuLlxuJGZpZWxkX3JhZGlvLW9mZnNldDogLTAuMDYyNWVtICFkZWZhdWx0O1xuLy8gQWxpZ25pbmcgYW55dGhpbmcgdGhhdCBjb21lcyBhZnRlciB3aXRoIGlucHV0IHBhZGRpbmdzLCB0aGlzIDFweCBzdGFuZHMgZm9yIGlucHV0J3MgYm9yZGVyIHdpZHRoLlxuJGZpZWxkX3JhZGlvLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuJGZpZWxkX3JhZGlvLWJhY2tncm91bmQtc2l6ZTogMWVtIDFlbSAhZGVmYXVsdDtcbiRmaWVsZF9yYWRpby1iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRmaWVsZF9yYWRpby1iYWNrZ3JvdW5kLWNvbG9yLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZmllbGRfcmFkaW8tYmFja2dyb3VuZC1jb2xvci1jaGVja2VkOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRmaWVsZF9yYWRpby1pY29uLWZpbGw6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRmaWVsZF9yYWRpby1iYWNrZ3JvdW5kLWltYWdlLWNoZWNrZWQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NjaXJjbGUgZmlsbD0nI3t1cmktZnJpZW5kbHktaGV4KCRmaWVsZF9yYWRpby1pY29uLWZpbGwpfScgcj0nNCcgY3k9JzcnIGN4PSc3Jy8lM2UlM2Mvc3ZnJTNlXCIpICFkZWZhdWx0O1xuJGZpZWxkX3JhZGlvLWJhY2tncm91bmQtaW1hZ2UtY2hlY2tlZC1pZTExOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2Nzdmcgd2lkdGg9JzE0JyBoZWlnaHQ9JzE0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjY2lyY2xlIGZpbGw9JyN7dXJpLWZyaWVuZGx5LWhleCgkZmllbGRfcmFkaW8taWNvbi1maWxsKX0nIHI9JzQnIGN5PSc2LjUnIGN4PSc2LjUnLyUzZSUzYy9zdmclM2VcIikgIWRlZmF1bHQ7XG5cbiRmaWVsZF9yYWRpby1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRmaWVsZF9yYWRpby1ib3JkZXItYWN0aXZlOiAxcHggc29saWQgJGNvbG9yLXByaW1hcnktODAwICFkZWZhdWx0O1xuJGZpZWxkX3JhZGlvLWJvcmRlci1jaGVja2VkOiA2cHggc29saWQgJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGZpZWxkX3JhZGlvLWJveC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG4kZmllbGRfcmFkaW8tYm94LXNoYWRvdy1hY3RpdmU6IG5vbmUgIWRlZmF1bHQ7XG4kZmllbGRfcmFkaW8tYm94LXNoYWRvdy1jaGVja2VkOiBub25lICFkZWZhdWx0O1xuJGZpZWxkX3JhZGlvLWRpc2FibGVkLW9wYWNpdHk6ICRmaWVsZF9pbnB1dC1kaXNhYmxlZC1vcGFjaXR5ICFkZWZhdWx0O1xuXG4kZmllbGRfY2hlY2tib3gtYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcbiRmaWVsZF9jaGVja2JveC1iYWNrZ3JvdW5kLXNpemU6IDFlbSAxZW0gIWRlZmF1bHQ7XG4kZmllbGRfY2hlY2tib3gtaWNvbi1maWxsOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kZmllbGRfY2hlY2tib3gtYmFja2dyb3VuZC1pbWFnZS1jaGVja2VkOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2Nzdmcgd2lkdGg9JzE0JyBoZWlnaHQ9JzE0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjcGF0aCBmaWxsPScje3VyaS1mcmllbmRseS1oZXgoJGZpZWxkX2NoZWNrYm94LWljb24tZmlsbCl9JyBkPSdNNS4zMTMgMTAuMTA4SDUuMjRhMS4wNjQgMS4wMDUgMCAwIDEtLjc1LS40MWwtMS45NDctMi41NWExLjA2NCAxLjAwNSAwIDAgMSAxLjcyMy0xLjE3NUw1LjQ2MyA3LjU2IDkuMDYgNC4xOWExLjA2NCAxLjAwNSAwIDAgMSAuNzUtLjI5N2guODQ2YTEuMDY0IDEuMDA1IDAgMCAxIDAgMi4wMDRoLS40NUw2LjA2NCA5LjgxYTEuMDY0IDEuMDA1IDAgMCAxLS43NS4yOTh6Jy8lM2UlM2Mvc3ZnJTNlXCIpICFkZWZhdWx0O1xuXG4kZmllbGRfaWNvbi13aWR0aDogMS4zZW0gIWRlZmF1bHQ7XG4kZmllbGRfaWNvbi1oZWlnaHQ6IDEuM2VtICFkZWZhdWx0O1xuJGZpZWxkX2ljb24tc3VjY2Vzcy1iYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9jaGVjay1ncmVlbi5zdmcnKSBuby1yZXBlYXRcbiAgICBjZW50ZXIgY2VudGVyIC8gY29udGFpbiAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkKCkge1xuICAgIGZvbnQtc2l6ZTogJGZpZWxkX2ZvbnQtc2l6ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGZpZWxkLWhvb2soKTtcbn1cblxuQG1peGluIGZpZWxkLWVycm9yKCkge1xuICAgIGZvbnQtc2l6ZTogJGZpZWxkX2Vycm9yLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGNvbG9yX2Vycm9yLTUwMDtcbiAgICBtYXJnaW4tdG9wOiAwLjJlbTtcblxuICAgIEBpbmNsdWRlIGZpZWxkLWVycm9yLWhvb2soKTtcbn1cblxuQG1peGluIGZpZWxkLWxhYmVsKCkge1xuICAgIGZvbnQtd2VpZ2h0OiAkZmllbGRfbGFiZWwtZm9udC13ZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkZmllbGRfbGFiZWwtZm9udC1zaXplO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkZmllbGRfbGFiZWwtdGV4dC10cmFuc2Zvcm07XG4gICAgY29sb3I6ICRmaWVsZF9sYWJlbC1jb2xvcjtcbiAgICBtYXJnaW46ICRmaWVsZF9sYWJlbC1tYXJnaW47XG5cbiAgICBAaW5jbHVkZSBmaWVsZC1sYWJlbC1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1sYWJlbC1yZXF1aXJlZCgpIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyAqJztcbiAgICAgICAgY29sb3I6ICRjb2xvcl9lcnJvci01MDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZmllbGQtbGFiZWwtcmVxdWlyZWQtaG9vaygpO1xufVxuXG5AbWl4aW4gZmllbGQtY29udHJvbCgpIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGZpZWxkLWNvbnRyb2wtaG9vaygpO1xufVxuXG5AbWl4aW4gZmllbGQtaW5wdXQoKSB7XG4gICAgZm9udC1zaXplOiAkZmllbGRfaW5wdXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkZmllbGRfaW5wdXQtbGluZS1oZWlnaHQ7XG4gICAgcGFkZGluZzogJGZpZWxkX2lucHV0LXBhZGRpbmc7XG4gICAgY29sb3I6ICRmaWVsZF9pbnB1dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiAkZmllbGRfaW5wdXQtYmFja2dyb3VuZDtcbiAgICBib3JkZXItcmFkaXVzOiAkZmllbGRfaW5wdXQtYm9yZGVyLXJhZGl1cztcbiAgICBib3JkZXI6ICRmaWVsZF9pbnB1dC1ib3JkZXI7XG4gICAgYm94LXNoYWRvdzogJGZpZWxkX2lucHV0LWJveC1zaGFkb3c7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICRmaWVsZF90cmFuc2l0aW9uLXRpbWU7XG4gICAgbWFyZ2luOiAwIDAgMC4yZW07IC8vIEFkZCBzcGFjaW5nIHVuZGVyIGxhYmVsLiBUaGlzIGNhbid0IGJlIGFkZGVkIHRvIGxhYmVsIGl0c2VsZiBiZWNhdXNlIHRoZXkgYXJlIHNvbWV0aW1lcyByZW5kZXJlZCBlbXB0eS5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiA0MHB4O1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7IC8vIFJlbW92ZXMgZHJvcCBzaGFkb3cgZnJvbSBpbnB1dHMgb24gaU9TLlxuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgJjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICAgICAgYm9yZGVyOiAkZmllbGRfaW5wdXQtYm9yZGVyLWFjdGl2ZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRmaWVsZF9pbnB1dC1ib3gtc2hhZG93LWFjdGl2ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29sb3I6ICRmaWVsZF9pbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgIG9wYWNpdHk6ICRmaWVsZF9pbnB1dC1kaXNhYmxlZC1vcGFjaXR5O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZpZWxkLWlucHV0LWhvb2soKTtcbn1cblxuQG1peGluIGZpZWxkLWlucHV0LWVycm9yKCkge1xuICAgICYsXG4gICAgJjpob3Zlcjpub3QoOmZvY3VzKSB7XG4gICAgICAgIGJvcmRlcjogJGZpZWxkX2Vycm9yLWlucHV0LWJvcmRlcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmaWVsZC1pbnB1dC1lcnJvci1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1pY29uKCR0eXBlOiAnJykge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogJGZpZWxkX2ljb24td2lkdGg7XG4gICAgaGVpZ2h0OiAkZmllbGRfaWNvbi1oZWlnaHQ7XG4gICAgcmlnaHQ6IDAuOGVtO1xuICAgIHRvcDogMC44ZW07XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpZiAoJHR5cGUgPT0gJ3N1Y2Nlc3MnKSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRmaWVsZF9pY29uLXN1Y2Nlc3MtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmaWVsZC1pY29uLWhvb2soJHR5cGUpO1xufVxuXG5AbWl4aW4gZmllbGQtbm90ZSgpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRmaWVsZF9ub3RlLWZvbnQtc2l6ZTtcbiAgICBwYWRkaW5nOiAwLjNlbSAwIDA7XG4gICAgY29sb3I6ICRmaWVsZF9ub3RlLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgZmllbGQtbm90ZS1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1lcnJvcigpIHtcbiAgICBAaW5jbHVkZSBmaWVsZC1ub3RlKCk7XG5cbiAgICBjb2xvcjogJGZpZWxkX2Vycm9yLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgZmllbGQtZXJyb3ItaG9vaygpO1xufVxuXG5AbWl4aW4gZmllbGQtd2FybmluZygpIHtcbiAgICBAaW5jbHVkZSBmaWVsZC1ub3RlKCk7XG5cbiAgICBjb2xvcjogJGZpZWxkX3dhcm5pbmctY29sb3I7XG5cbiAgICBAaW5jbHVkZSBmaWVsZC13YXJuaW5nLWhvb2soKTtcbn1cblxuQG1peGluIGZpZWxkLXNlbGVjdCgpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRmaWVsZF9zZWxlY3QtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkZmllbGRfc2VsZWN0LWxpbmUtaGVpZ2h0O1xuICAgIHBhZGRpbmc6ICRmaWVsZF9zZWxlY3QtcGFkZGluZztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZmllbGRfc2VsZWN0LXBhZGRpbmctcmlnaHQ7XG4gICAgY29sb3I6ICRmaWVsZF9zZWxlY3QtY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogJGZpZWxkX3NlbGVjdC1ib3JkZXItcmFkaXVzO1xuICAgIGJvcmRlcjogJGZpZWxkX3NlbGVjdC1ib3JkZXI7XG4gICAgYm94LXNoYWRvdzogJGZpZWxkX3NlbGVjdC1ib3gtc2hhZG93O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgMCAwLjJlbTsgLy8gQWRkIHNwYWNpbmcgdW5kZXIgbGFiZWwuIFRoaXMgY2FuJ3QgYmUgYWRkZWQgdG8gbGFiZWwgaXRzZWxmIGJlY2F1c2UgdGhleSBhcmUgc29tZXRpbWVzIHJlbmRlcmVkIGVtcHR5LlxuICAgIG91dGxpbmU6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRfc2VsZWN0LWJhY2tncm91bmQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogJGZpZWxkX3NlbGVjdC1iYWNrZ3JvdW5kLWltYWdlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQsIHJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZmllbGRfc2VsZWN0LWJhY2tncm91bmQtcG9zaXRpb247XG4gICAgYmFja2dyb3VuZC1zaXplOiAkZmllbGRfc2VsZWN0LWJhY2tncm91bmQtc2l6ZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJGZpZWxkX3RyYW5zaXRpb24tdGltZTtcblxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHlcbiAgICAmOi1tb3otZm9jdXNyaW5nLFxuICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCAwICMwMDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmOjotbXMtZXhwYW5kIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgLy8gSGlkZSBuYXRpdmUgZHJvcGRvd24gYXJyb3cgb24gSUUgMTAvMTEuXG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgJjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICAgICAgYm9yZGVyOiAkZmllbGRfc2VsZWN0LWJvcmRlci1hY3RpdmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkZmllbGRfc2VsZWN0LWJveC1zaGFkb3ctYWN0aXZlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGZpZWxkX3NlbGVjdC1iYWNrZ3JvdW5kLWFjdGl2ZTtcblxuICAgICAgICAgICAgLy8gVXNlIGRpZmZlcmVudCBzZXQgb2YgcHJvcGVydGllcyB0aGF0IHdpbGwgd29yayBpbiBJRVxuICAgICAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGZpZWxkX3NlbGVjdC1iYWNrZ3JvdW5kLWFjdGl2ZS0taWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgIG9wYWNpdHk6ICRmaWVsZF9zZWxlY3QtZGlzYWJsZWQtb3BhY2l0eTtcbiAgICB9XG5cbiAgICBvcHRpb24ge1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjb2xvcjogaW5pdGlhbDtcbiAgICB9XG5cbiAgICAvLyBVc2UgZGlmZmVyZW50IHNldCBvZiBwcm9wZXJ0aWVzIHRoYXQgd2lsbCB3b3JrIGluIElFXG4gICAgLmllMTEgJiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRmaWVsZF9zZWxlY3QtYmFja2dyb3VuZC1pbWFnZS0taWU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGZpZWxkX3NlbGVjdC1iYWNrZ3JvdW5kLXNpemUtLWllO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZpZWxkLXNlbGVjdC1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1yYWRpby1sYWJlbCgpIHtcbiAgICBAaW5jbHVkZSBmaWVsZC1yYWRpby1sYWJlbC1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1yYWRpbygpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAkZmllbGRfcmFkaW8tc2l6ZTtcbiAgICB3aWR0aDogJGZpZWxkX3JhZGlvLXNpemU7XG4gICAgbWFyZ2luOiAkZmllbGRfcmFkaW8tbWFyZ2luO1xuICAgIGZvbnQtc2l6ZTogJGZpZWxkX3JhZGlvLWZvbnQtc2l6ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBmbGV4OiAwIDAgYXV0bzsgLy8gUHJldmVudCBmbGV4IHBhcmVudCBmcm9tIGJyZWFraW5nIGRpbWVuc2lvbnMuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgYm9yZGVyOiAkZmllbGRfcmFkaW8tYm9yZGVyO1xuICAgIGJveC1zaGFkb3c6ICRmaWVsZF9yYWRpby1ib3gtc2hhZG93O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmaWVsZF9yYWRpby1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRmaWVsZF9yYWRpby1iYWNrZ3JvdW5kLXNpemU7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkZmllbGRfdHJhbnNpdGlvbi10aW1lLFxuICAgICAgICBib3JkZXItY29sb3IgJGZpZWxkX3RyYW5zaXRpb24tdGltZTtcblxuICAgIC8vIFN0eWxpbmcgZm9yIElFMTEsIG5lZWRzIHRvIGJlIGR1cGxpY2F0ZWQuXG4gICAgJjo6LW1zLWNoZWNrIHtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6ICRmaWVsZF9yYWRpby1ib3JkZXI7XG4gICAgICAgIGJveC1zaGFkb3c6ICRmaWVsZF9yYWRpby1ib3gtc2hhZG93O1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRmaWVsZF9yYWRpby1iYWNrZ3JvdW5kLXNpemU7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkZmllbGRfdHJhbnNpdGlvbi10aW1lLFxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yICRmaWVsZF90cmFuc2l0aW9uLXRpbWU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmaWVsZF9yYWRpby1iYWNrZ3JvdW5kLWNvbG9yLWNoZWNrZWQ7XG4gICAgfVxuXG4gICAgJjo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjMDAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgJjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICAgICAgYm9yZGVyOiAkZmllbGRfcmFkaW8tYm9yZGVyLWFjdGl2ZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRmaWVsZF9yYWRpby1ib3gtc2hhZG93LWFjdGl2ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmaWVsZF9yYWRpby1iYWNrZ3JvdW5kLWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRmaWVsZF9yYWRpby1iYWNrZ3JvdW5kLWltYWdlLWNoZWNrZWQ7XG5cbiAgICAgICAgJjo6LW1zLWNoZWNrIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRmaWVsZF9yYWRpby1iYWNrZ3JvdW5kLWltYWdlLWNoZWNrZWQtaWUxMTtcbiAgICAgICAgfVxuXG4gICAgICAgICYsXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICAgICAgYm9yZGVyOiAkZmllbGRfcmFkaW8tYm9yZGVyLWNoZWNrZWQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRfcmFkaW8tYmFja2dyb3VuZC1jb2xvci1jaGVja2VkO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJGZpZWxkX3JhZGlvLWJveC1zaGFkb3ctY2hlY2tlZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZbZGlzYWJsZWRdLFxuICAgICZbZGlzYWJsZWRdICsgLmxhYmVsLFxuICAgICZbZGlzYWJsZWRdICsgLmNzLWlucHV0X19sYWJlbCB7XG4gICAgICAgIG9wYWNpdHk6ICRmaWVsZF9yYWRpby1kaXNhYmxlZC1vcGFjaXR5O1xuICAgIH1cbiAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHlcblxuICAgIEBpbmNsdWRlIGZpZWxkLXJhZGlvLWhvb2soKTtcbn1cblxuQG1peGluIGZpZWxkLWNoZWNrYm94LWxhYmVsKCkge1xuICAgIEBpbmNsdWRlIGZpZWxkLWNoZWNrYm94LWxhYmVsLWhvb2soKTtcbn1cblxuQG1peGluIGZpZWxkLWNoZWNrYm94KCkge1xuICAgIEBpbmNsdWRlIGZpZWxkLXJhZGlvKCk7XG4gICAgYm9yZGVyLXJhZGl1czogJGZpZWxkX2NoZWNrYm94LWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkZmllbGRfY2hlY2tib3gtYmFja2dyb3VuZC1zaXplO1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcblxuICAgIC8vIFN0eWxpbmcgZm9yIElFMTEsIG5lZWRzIHRvIGJlIGR1cGxpY2F0ZWQuXG4gICAgJjo6LW1zLWNoZWNrIHtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkZmllbGRfY2hlY2tib3gtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkZmllbGRfY2hlY2tib3gtYmFja2dyb3VuZC1zaXplO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfcHJpbWFyeS01MDA7XG4gICAgfVxuXG4gICAgJjpjaGVja2VkIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGZpZWxkX2NoZWNrYm94LWJhY2tncm91bmQtaW1hZ2UtY2hlY2tlZDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX3ByaW1hcnktNTAwO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAgICAgJjo6LW1zLWNoZWNrIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRmaWVsZF9jaGVja2JveC1iYWNrZ3JvdW5kLWltYWdlLWNoZWNrZWQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmhvdmVyICB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkZmllbGRfY2hlY2tib3gtYmFja2dyb3VuZC1pbWFnZS1jaGVja2VkO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX3ByaW1hcnktNTAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZmllbGQtY2hlY2tib3gtaG9vaygpO1xufVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZpZWxkL21peGluJztcblxuLyogc3R5bGVsaW50LWRpc2FibGUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eSAqL1xuXG4vLyBPdXIgQkVNIGNvbXBvbmVudC5cbi5jcy1maWVsZCxcbi8vIExlZnQgZm9yIG5vdyBmb3IgY29tcGF0aWJpbGl0eSBzYWtlLlxuLmNzLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmaWVsZCgpO1xuXG4gICAgJl9fY29udHJvbCB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLWNvbnRyb2woKTtcbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLWxhYmVsKCk7XG5cbiAgICAgICAgLnJlcXVpcmVkICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtbGFiZWwtcmVxdWlyZWQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2lucHV0LFxuICAgICZfX3RleHRhcmVhIHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtaW5wdXQoKTtcblxuICAgICAgICAmLm1hZ2UtZXJyb3Ige1xuICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtaW5wdXQtZXJyb3IoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NlbGVjdCB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLXNlbGVjdCgpO1xuICAgIH1cblxuICAgICZfX3JhZGlvIHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtcmFkaW8oKTtcblxuICAgICAgICAvLyBUbyByZXdyaXRlIHRvIHByb3BlciBzY3NzIHN5bnRheCBhZnRlciBnZXR0aW5nIHJpZCBvZiAuY3MtaW5wdXQgY2xhc3NcbiAgICAgICAgJiArIC5jcy1pbnB1dF9fbGFiZWwsXG4gICAgICAgICYgKyAuY3MtZmllbGRfX2xhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLXJhZGlvLWxhYmVsKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jaGVja2JveCB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLWNoZWNrYm94KCk7XG5cbiAgICAgICAgJi5tYWdlLWVycm9yIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLWlucHV0LWVycm9yKCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUbyByZXdyaXRlIHRvIHByb3BlciBzY3NzIHN5bnRheCBhZnRlciBnZXR0aW5nIHJpZCBvZiAuY3MtaW5wdXQgY2xhc3NcbiAgICAgICAgJiArIC5jcy1pbnB1dF9fbGFiZWwsXG4gICAgICAgICYgKyAuY3MtZmllbGRfX2xhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLWNoZWNrYm94LWxhYmVsKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtaWNvbigpO1xuICAgIH1cblxuICAgICZfX25vdGUge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1ub3RlKCk7XG4gICAgfVxuXG4gICAgJl9fZXJyb3Ige1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1lcnJvcigpO1xuICAgIH1cbn1cbi8vIE1hZ2VudG8gY2xhc3NlcyB1c2VkIGluIGNoZWNrb3V0LCBsb2dpbi9yZWdpc3RlciBmb3JtcyBldGMuXG4uZmllbGQge1xuICAgIEBpbmNsdWRlIGZpZWxkKCk7XG5cbiAgICAmLm5vdGUge1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgIH1cblxuICAgICYuX3N1Y2Nlc3M6bm90KC5fd2Fybikge1xuICAgICAgICAuY29udHJvbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLWljb24oJ3N1Y2Nlc3MnKTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250cm9sIHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtY29udHJvbCgpO1xuXG4gICAgICAgID4gdGV4dGFyZWEge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtaW5wdXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLWxhYmVsKCk7XG4gICAgfVxuXG4gICAgJi5yZXF1aXJlZCxcbiAgICAmLl9yZXF1aXJlZCB7XG4gICAgICAgID4gLmxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLWxhYmVsLXJlcXVpcmVkKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnJlcXVpcmVkIHtcbiAgICAgICAgLl9yZXF1aXJlZCB7XG4gICAgICAgICAgICA+IC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEhpZGUgYXN0ZXJpc2tzIGZvciBsYWJlbHMgaW5zaWRlIGZpZWxkc2V0cyBhcyB0aGV5IGFyZSB1c3VhbGx5IHJlbmRlcmVkIGVtcHR5LlxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbnB1dC10ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtaW5wdXQoKTtcblxuICAgICAgICAmLm1hZ2UtZXJyb3Ige1xuICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtaW5wdXQtZXJyb3IoKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYucmVxdWlyZWQtZW50cnkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3Qge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1zZWxlY3QoKTtcbiAgICB9XG5cbiAgICAuY2hlY2tib3gge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1jaGVja2JveCgpO1xuXG4gICAgICAgICYubWFnZS1lcnJvciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1pbnB1dC1lcnJvcigpO1xuICAgICAgICB9XG5cbiAgICAgICAgJiArIC5sYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1jaGVja2JveC1sYWJlbCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJhZGlvIHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtcmFkaW8oKTtcblxuICAgICAgICAmICsgLmxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLXJhZGlvLWxhYmVsKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmNob2ljZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgZGl2Lm1hZ2UtZXJyb3Ige1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuY3VzdG9tZXItbmFtZS1wcmVmaXgge1xuICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtc2VsZWN0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLl9lcnJvciB7XG4gICAgICAgIC5pbnB1dC10ZXh0LFxuICAgICAgICAuY2hlY2tib3gge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtaW5wdXQtZXJyb3IoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJldmVydGluZyBzdHlsZXMgZm9yIGlucHV0IHdpdGggdG9vbHRpcC5cbiAgICAuY29udHJvbC5fd2l0aC10b29sdGlwIGlucHV0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gICAgLy8gUmV2ZXJ0aW5nIGluZm8gdG9vbHRpcCBzdHlsZXMgdG8gbWFrZSBpdCBhcHBlYXIgYXMgbm90ZSBiZWxvdyB0aGUgaW5wdXQuXG4gICAgLmZpZWxkLXRvb2x0aXAge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuXG4gICAgICAgIC5sYWJlbCxcbiAgICAgICAgLmZpZWxkLXRvb2x0aXAtYWN0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGQtdG9vbHRpcC1jb250ZW50IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1ub3RlKCk7XG5cbiAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ub3RlIHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtbm90ZSgpO1xuICAgIH1cbn1cbi8vIEhhcyB0byBiZSBzY29wZWQgdG8gZGl2LCBvdGhlcndpc2UgaXQgY29sbGlkZXMgd2l0aCBpbnB1dCBjbGFzcy5cbmRpdi5tYWdlLWVycm9yLFxuZGl2LmZpZWxkLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmaWVsZC1lcnJvcigpO1xufVxuLm9wYy13cmFwcGVyLFxuLmVzdGltYXRlIHtcbiAgICAuc2VsZWN0LXdyYXAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2JsYWNrO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvd2hpdGUtYXJyb3cuc3ZnXCIpO1xuICAgICAgICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuc21hbGwucmVxdWlyZWQtZmllbGRzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBjb2xvcjogJGNvbG9yX2dyYXk7XG4gICAgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfcHJpbWFyeS1yZWQ7XG4gICAgfVxufVxuXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCIvKipcbiAqIEZvb3RlciBjb21wb25lbnQgY3VzdG9taXphdGlvbi5cbiAqIEBzZWUgL01hZ2VudG9fVGhlbWUvdGVtcGxhdGVzL2Zvb3Rlci9jb2x1bW5zLnBodG1sIGZvciB0ZW1wbGF0ZXMuXG4gKi9cbkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3V0aWxzL3Zpc3VhbGx5LWhpZGRlbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BzZXVkb2ljb24vbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy90eXBvZ3JhcGh5L21peGluJztcblxuJGZvb3Rlcl90ZXh0LWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kZm9vdGVyX2JhY2tncm91bmQ6ICMwMDAgdXJsKFwiLi4vaW1hZ2VzL2Zvb3Rlci1iZy1pbWFnZS5qcGdcIikgbm8tcmVwZWF0ICFkZWZhdWx0O1xuJGZvb3Rlcl9lZGdlLWd1dHRlcjogJHBhZ2VfZWRnZS1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRmb290ZXJfc2VjdGlvbi1lZGdlLWd1dHRlcjogJHBhZ2VfZWRnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZm9vdGVyX3NlY3Rpb24tdmVydGljYWwtb2Zmc2V0OiAyZW0gIWRlZmF1bHQ7XG5cbiRmb290ZXJfc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2dyYXkgIWRlZmF1bHQ7XG5cbiRmb290ZXJfc2VjdGlvbi10aXRsZS1oZWFkbGluZS1sZXZlbDogJGZvbnQtc2l6ZV9oZWFkbGluZS00ICFkZWZhdWx0O1xuJGZvb3Rlcl9zZWN0aW9uLXRpdGxlLXBhZGRpbmc6ICRmb290ZXJfc2VjdGlvbi12ZXJ0aWNhbC1vZmZzZXRcbiAgICAkZm9vdGVyX3NlY3Rpb24tZWRnZS1ndXR0ZXIgMC43ZW0gIWRlZmF1bHQ7XG4kZm9vdGVyX3NlY3Rpb24tdGl0bGUtY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRmb290ZXJfc2VjdGlvbi10aXRsZS1mb250LXNpemU6IDEuNHJlbSAhZGVmYXVsdDtcbiRmb290ZXJfc2VjdGlvbi10aXRsZS10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcblxuJGZvb3Rlcl9zZWN0aW9uLXBzZXVkb2ljb24taW5jbHVkZTogdHJ1ZSAhZGVmYXVsdDtcblxuJGZvb3Rlcl9wcm9tby1kaXNwbGF5LW9uLW1vYmlsZTogZmFsc2UgIWRlZmF1bHQ7XG4kZm9vdGVyX2xvZ28tZGlzcGxheTogYmxvY2sgIWRlZmF1bHQ7XG4kZm9vdGVyX2xvZ28td2lkdGg6IDEzLjVlbSAhZGVmYXVsdDtcbiRmb290ZXJfbG9nby1oZWlnaHQ6IDIuM2VtICFkZWZhdWx0O1xuXG4uI3skbnN9Zm9vdGVyIHtcbiAgICAkcm9vdDogJjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6ICRmb290ZXJfdGV4dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiAkZm9vdGVyX2JhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDAgMCAycmVtO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiA0MXZ3O1xuICAgICAgICBwYWRkaW5nOiAwICRmb290ZXJfZWRnZS1ndXR0ZXI7XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzLjJyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXByb21vIHtcbiAgICAgICAgICAgIEBpZiAkZm9vdGVyX3Byb21vLWRpc3BsYXktb24tbW9iaWxlID09IGZhbHNlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGlua3Mge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9ibGFjaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHggMzBweDtcblxuICAgICAgICAgICAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb24gIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMSAxIDUwJTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZXh0cmFzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMjUlO1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMS40O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTdweCAyMHB4IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zZWN0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLW5ld3NsZXR0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgIC50b3AtbGlua3NfX3Bob25lLWljb24ge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbnMvdGVsZXBob25lNjYuc3ZnKSBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAxMnB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweCAwIDAgMjhweDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAxM3B4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZSB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY3MtbmV3c2xldHRlciB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDM7XG5cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplX3BhcmFncmFwaDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMjtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDYxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tc29jaWFscyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXN0b3Jlcy1zd2l0Y2hlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDIwcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgIH1cblxuICAgICZfX3NlY3Rpb24tdGl0bGUsXG4gICAgW2RhdGEtcm9sZT0ndGl0bGUnXSB7XG4gICAgICAgIEBpZiAkZm9vdGVyX3NlY3Rpb24tdGl0bGUtaGVhZGxpbmUtbGV2ZWwgIT0gJ25vbmUnIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGhlYWRsaW5lKCRsZXZlbDogJGZvb3Rlcl9zZWN0aW9uLXRpdGxlLWhlYWRsaW5lLWxldmVsKTtcbiAgICAgICAgfVxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMjVweCAwIDA7XG4gICAgICAgIHBhZGRpbmc6ICRmb290ZXJfc2VjdGlvbi10aXRsZS1wYWRkaW5nO1xuICAgICAgICBjb2xvcjogJGZvb3Rlcl9zZWN0aW9uLXRpdGxlLWNvbG9yO1xuICAgICAgICBmb250LXNpemU6ICRmb290ZXJfc2VjdGlvbi10aXRsZS1mb250LXNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9vdGVyX3NlY3Rpb24tdGl0bGUtdHJhbnNmb3JtO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuXG4gICAgICAgICAgICAjeyRyb290fV9fc2VjdGlvbltkYXRhLW1hZ2UtaW5pdF0gJixcbiAgICAgICAgICAgICN7JHJvb3R9X19zZWN0aW9uW2RhdGEtY29sbGFwc2libGVdICYge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgIEBpZiAkZm9vdGVyX3NlY3Rpb24tcHNldWRvaWNvbi1pbmNsdWRlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvaWNvbigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH1fX3NlY3Rpb24tLXNvY2lhbHMgJiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zZWN0aW9uLWNvbnRlbnQsXG4gICAgW2RhdGEtcm9sZT0nY29udGVudCddIHtcbiAgICAgICAgcGFkZGluZzogMCAkZm9vdGVyX3NlY3Rpb24tZWRnZS1ndXR0ZXIgJGZvb3Rlcl9zZWN0aW9uLWVkZ2UtZ3V0dGVyO1xuICAgICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICN7JHJvb3R9X19zZWN0aW9uW2RhdGEtbWFnZS1pbml0XSAmLFxuICAgICAgICAgICAgI3skcm9vdH1fX3NlY3Rpb25bZGF0YS1jb2xsYXBzaWJsZV0gJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Nob3AtbG9nbyB7XG4gICAgICAgIGRpc3BsYXk6ICRmb290ZXJfbG9nby1kaXNwbGF5O1xuICAgICAgICB3aWR0aDogJGZvb3Rlcl9sb2dvLXdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRmb290ZXJfbG9nby1oZWlnaHQ7XG4gICAgICAgIG1pbi13aWR0aDogJGZvb3Rlcl9sb2dvLXdpZHRoO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgfVxufVxuXG4uY3MtY29udGFpbmVyIHtcbiAgICAmLS1mb290ZXIge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBGb290ZXIgY29tcG9uZW50IGN1c3RvbWl6YXRpb24uXG4gKiBAc2VlIC9NYWdlbnRvX1RoZW1lL3RlbXBsYXRlcy9mb290ZXIvY29sdW1ucy5waHRtbCBmb3IgdGVtcGxhdGVzLlxuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3MtZm9vdGVyIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZDogIzAwMCB1cmwoXCIuLi9pbWFnZXMvZm9vdGVyLWJnLWltYWdlLmpwZ1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDAgMCAycmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWZvb3RlciB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IDQxdnc7XG4gICAgICBwYWRkaW5nOiAwIDEuNXJlbTsgfSB9XG4gIC5jcy1mb290ZXJfX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWZvb3Rlcl9fY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgcGFkZGluZy10b3A6IDMuMnJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1mb290ZXJfX2NvbnRlbnQge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWZvb3Rlcl9faXRlbSB7XG4gICAgICBmbGV4OiAxOyB9IH1cbiAgLmNzLWZvb3Rlcl9faXRlbS0tcHJvbW8ge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWZvb3Rlcl9faXRlbS0tcHJvbW8ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgICAgLmNzLWZvb3Rlcl9faXRlbS0tcHJvbW8ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtZm9vdGVyX19pdGVtLS1wcm9tbyB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIGZsZXgtZ3JvdzogMTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWZvb3Rlcl9faXRlbS0tbGlua3Mge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICBmbGV4LWdyb3c6IDE7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgIC5jcy1mb290ZXJfX2l0ZW0tLWxpbmtzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgICAgcGFkZGluZzogMjBweCAxMHB4IDMwcHg7IH1cbiAgICAgIC5jcy1mb290ZXJfX2l0ZW0tLWxpbmtzIC5jcy1mb290ZXJfX3NlY3Rpb24ge1xuICAgICAgICBmbGV4OiAxIDEgNTAlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1mb290ZXJfX2l0ZW0tLWV4dHJhcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGZsZXgtYmFzaXM6IDI1JTtcbiAgICAgIGZsZXgtZ3JvdzogMS40OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtZm9vdGVyX19pdGVtLS1leHRyYXMge1xuICAgICAgcGFkZGluZzogMTdweCAyMHB4IDEwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1mb290ZXJfX3NlY3Rpb24ge1xuICAgICAgZmxleDogMTsgfSB9XG4gIC5jcy1mb290ZXJfX3NlY3Rpb24tLW5ld3NsZXR0ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5jcy1mb290ZXJfX3NlY3Rpb24tLW5ld3NsZXR0ZXIgLnRvcC1saW5rc19fcGhvbmUtaWNvbiB7XG4gICAgICBvcmRlcjogMTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb25zL3RlbGVwaG9uZTY2LnN2Zykgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxOXB4O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAxMnB4O1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgIHBhZGRpbmc6IDhweCAwIDAgMjhweDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tbmV3c2xldHRlciAudG9wLWxpbmtzX19waG9uZS1pY29uIHtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNnB4O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMTNweDsgfSB9XG4gICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tbmV3c2xldHRlciAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlIHtcbiAgICAgIG9yZGVyOiAyOyB9XG4gICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tbmV3c2xldHRlciAuY3MtbmV3c2xldHRlciB7XG4gICAgICBvcmRlcjogMzsgfVxuICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tbmV3c2xldHRlciAuY3MtbmV3c2xldHRlciBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuY3MtZm9vdGVyX19zZWN0aW9uLS1uZXdzbGV0dGVyIC5jcy1uZXdzbGV0dGVyIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtZm9vdGVyX19zZWN0aW9uLS1uZXdzbGV0dGVyIHtcbiAgICAgICAgZmxleC1ncm93OiAyO1xuICAgICAgICBtYXgtd2lkdGg6IDYxNXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtZm9vdGVyX19zZWN0aW9uLS1zb2NpYWxzIHtcbiAgICAgIG1hcmdpbi10b3A6IDRyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1mb290ZXJfX3NlY3Rpb24tLXN0b3Jlcy1zd2l0Y2hlciB7XG4gICAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICAgICAgbWF4LXdpZHRoOiAyMHJlbTsgfSB9XG4gIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGUsXG4gIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXSB7XG4gICAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgU2Vnb2UgVUksIFJvYm90bywgVWJ1bnR1LCBDYW50YXJlbGwsIE94eWdlbiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW46IDFyZW0gMCAycmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDI1cHggMCAwO1xuICAgIHBhZGRpbmc6IDJlbSAxLjVyZW0gMC43ZW07XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlLFxuICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddIHtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTsgfVxuICAgICAgICAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtbWFnZS1pbml0XSAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlLFxuICAgICAgICAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtY29sbGFwc2libGVdIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGUsIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1tYWdlLWluaXRdXG4gICAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXSxcbiAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLWNvbGxhcHNpYmxlXVxuICAgICAgICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J3RpdGxlJ10ge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgICAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtbWFnZS1pbml0XSAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlOmJlZm9yZSwgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLW1hZ2UtaW5pdF0gLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZTphZnRlcixcbiAgICAgICAgICAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtY29sbGFwc2libGVdIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGU6YmVmb3JlLFxuICAgICAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1jb2xsYXBzaWJsZV0gLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZTphZnRlciwgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLW1hZ2UtaW5pdF1cbiAgICAgICAgICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J3RpdGxlJ106YmVmb3JlLCAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtbWFnZS1pbml0XVxuICAgICAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXTphZnRlcixcbiAgICAgICAgICAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtY29sbGFwc2libGVdXG4gICAgICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddOmJlZm9yZSxcbiAgICAgICAgICAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtY29sbGFwc2libGVdXG4gICAgICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB3aWR0aDogMS4ycmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAwLjJyZW07XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzZFNkU2RTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0LCBvcGFjaXR5IDAuMTVzIGVhc2Utb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGxpbmVhcjtcbiAgICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgICAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1tYWdlLWluaXRdIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGU6YmVmb3JlLCAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtbWFnZS1pbml0XSAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlOmFmdGVyLFxuICAgICAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1jb2xsYXBzaWJsZV0gLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZTpiZWZvcmUsXG4gICAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLWNvbGxhcHNpYmxlXSAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlOmFmdGVyLCAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtbWFnZS1pbml0XVxuICAgICAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXTpiZWZvcmUsIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1tYWdlLWluaXRdXG4gICAgICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddOmFmdGVyLFxuICAgICAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1jb2xsYXBzaWJsZV1cbiAgICAgICAgICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J3RpdGxlJ106YmVmb3JlLFxuICAgICAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1jb2xsYXBzaWJsZV1cbiAgICAgICAgICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J3RpdGxlJ106YWZ0ZXIge1xuICAgICAgICAgICAgcmlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCkgIWltcG9ydGFudDsgfVxuICAgICAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1tYWdlLWluaXRdIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGU6YWZ0ZXIsXG4gICAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLWNvbGxhcHNpYmxlXSAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlOmFmdGVyLCAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtbWFnZS1pbml0XVxuICAgICAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXTphZnRlcixcbiAgICAgICAgICAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtY29sbGFwc2libGVdXG4gICAgICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddOmFmdGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCkgcm90YXRlKDkwZGVnKSAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLW1hZ2UtaW5pdF0gLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUsXG4gICAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLWNvbGxhcHNpYmxlXSAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmJlZm9yZSwgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLW1hZ2UtaW5pdF1cbiAgICAgICAgICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J3RpdGxlJ11bYXJpYS1leHBhbmRlZD1cInRydWVcIl06YmVmb3JlLFxuICAgICAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1jb2xsYXBzaWJsZV1cbiAgICAgICAgICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J3RpdGxlJ11bYXJpYS1leHBhbmRlZD1cInRydWVcIl06YmVmb3JlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCkgcm90YXRlKC05MGRlZykgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAgICAgICAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtbWFnZS1pbml0XSAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmFmdGVyLFxuICAgICAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1jb2xsYXBzaWJsZV0gLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlciwgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLW1hZ2UtaW5pdF1cbiAgICAgICAgICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J3RpdGxlJ11bYXJpYS1leHBhbmRlZD1cInRydWVcIl06YWZ0ZXIsXG4gICAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLWNvbGxhcHNpYmxlXVxuICAgICAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApIHJvdGF0ZSgwKSAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb24tLXNvY2lhbHMgLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZSwgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tc29jaWFsc1xuICAgICAgICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J3RpdGxlJ10ge1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAvKiAxICovIH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlLFxuICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgIG1hcmdpbjogMjBweCAwIDA7IH0gfVxuICAuY3MtZm9vdGVyX19zZWN0aW9uLWNvbnRlbnQsXG4gIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0nY29udGVudCddIHtcbiAgICBwYWRkaW5nOiAwIDEuNXJlbSAxLjVyZW07XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtbWFnZS1pbml0XSAuY3MtZm9vdGVyX19zZWN0aW9uLWNvbnRlbnQsXG4gICAgICAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtY29sbGFwc2libGVdIC5jcy1mb290ZXJfX3NlY3Rpb24tY29udGVudCwgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLW1hZ2UtaW5pdF1cbiAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0nY29udGVudCddLFxuICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLWNvbGxhcHNpYmxlXVxuICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSdjb250ZW50J10ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmNzLWZvb3Rlcl9fc2hvcC1sb2dvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTMuNWVtO1xuICAgIGhlaWdodDogMi4zZW07XG4gICAgbWluLXdpZHRoOiAxMy41ZW07XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cblxuLmNzLWNvbnRhaW5lci0tZm9vdGVyIHtcbiAgbWF4LXdpZHRoOiBub25lOyB9XG4iLCIvKioqXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDEzMFxuICovXG5cbkBtaXhpbiB2aXN1YWxseS1oaWRkZW4ge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLyogMSAqL1xufVxuXG5AbWl4aW4gdmlzdWFsbHktdmlzaWJsZSB7XG4gICAgY2xpcDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuIiwiLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbkBtaXhpbiBoZWFkbGluZV9ob29rKCRsZXZlbCkge1xufVxuXG5AbWl4aW4gbGlua19ob29rKCkge1xufVxuXG5AbWl4aW4gbGlzdF9ob29rKCkge1xufVxuXG5AbWl4aW4gbGlzdC1pdGVtX2hvb2soKSB7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdHlwb2dyYXBoeS9ob29rJztcbkBpbXBvcnQgJ3V0aWxzL2ZvbnQtZmFtaWx5JztcblxuJHR5cG9ncmFwaHlfaGVhZGxpbmUtZm9udC1mYW1pbHk6ICRmb250X2ZhbWlseS1wcmltYXJ5ICFkZWZhdWx0O1xuJHR5cG9ncmFwaHlfaGVhZGxpbmUtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcbiR0eXBvZ3JhcGh5X2hlYWRsaW5lLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kdHlwb2dyYXBoeV9oZWFkbGluZS10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJHR5cG9ncmFwaHlfaGVhZGxpbmUtbWFyZ2luczogMXJlbSAwIDJyZW0gIWRlZmF1bHQ7XG5cbiR0eXBvZ3JhcGh5X2xpbmstY29sb3I6ICRjb2xvcl9wcmltYXJ5LW9yYW5nZSAhZGVmYXVsdDtcbiR0eXBvZ3JhcGh5X2xpbmstLWhvdmVyLWNvbG9yOiAkY29sb3JfcHJpbWFyeS1vcmFuZ2UgIWRlZmF1bHQ7XG4kdHlwb2dyYXBoeV9saW5rLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiR0eXBvZ3JhcGh5X2xpbmstLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogJHR5cG9ncmFwaHlfbGluay10ZXh0LWRlY29yYXRpb24gIWRlZmF1bHQ7XG5cbiR0eXBvZ3JhcGh5X2xpc3QtbWFyZ2luOiAwIDAgMi41cmVtICFkZWZhdWx0O1xuJHR5cG9ncmFwaHlfbGlzdC1wYWRkaW5nOiAwIDAgMCA0cmVtICFkZWZhdWx0O1xuXG4kdHlwb2dyYXBoeV9saXN0LWl0ZW0tbWFyZ2luOiAwIDAgMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGhlYWRsaW5lKCRsZXZlbDogJGZvbnQtc2l6ZV9oZWFkbGluZS0yKSB7XG4gICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoJHR5cG9ncmFwaHlfaGVhZGxpbmUtZm9udC1mYW1pbHkpO1xuXG4gICAgZm9udC1zaXplOiAkbGV2ZWw7XG4gICAgY29sb3I6ICR0eXBvZ3JhcGh5X2hlYWRsaW5lLWNvbG9yO1xuICAgIGZvbnQtd2VpZ2h0OiAkdHlwb2dyYXBoeV9oZWFkbGluZS1mb250LXdlaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJHR5cG9ncmFwaHlfaGVhZGxpbmUtdGV4dC10cmFuc2Zvcm07XG4gICAgbWFyZ2luOiAkdHlwb2dyYXBoeV9oZWFkbGluZS1tYXJnaW5zO1xuXG4gICAgQGluY2x1ZGUgaGVhZGxpbmVfaG9vaygkbGV2ZWwpO1xufVxuXG5AbWl4aW4gbGluaygpIHtcbiAgICAmLFxuICAgICY6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiAkdHlwb2dyYXBoeV9saW5rLWNvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICR0eXBvZ3JhcGh5X2xpbmstdGV4dC1kZWNvcmF0aW9uO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOnZpc2l0ZWQ6aG92ZXIsXG4gICAgJjp2aXNpdGVkOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICR0eXBvZ3JhcGh5X2xpbmstLWhvdmVyLWNvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICR0eXBvZ3JhcGh5X2xpbmstLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsaW5rX2hvb2soKTtcbn1cblxuQG1peGluIGxpc3QoKSB7XG4gICAgbWFyZ2luOiAkdHlwb2dyYXBoeV9saXN0LW1hcmdpbjtcbiAgICBwYWRkaW5nOiAkdHlwb2dyYXBoeV9saXN0LXBhZGRpbmc7XG5cbiAgICBAaW5jbHVkZSBsaXN0X2hvb2soKTtcbn1cblxuQG1peGluIGxpc3QtaXRlbSgpIHtcbiAgICBtYXJnaW46ICR0eXBvZ3JhcGh5X2xpc3QtaXRlbS1tYXJnaW47XG5cbiAgICBAaW5jbHVkZSBsaXN0LWl0ZW1faG9vaygpO1xufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLmNzLWZvb3Rlci1saW5rcyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuY3MtZm9vdGVyLWxpbmtzLWhlYWRlciB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY3MtZm9vdGVyLWxpbmtzLWhlYWRlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDsgfSB9XG4gIC5jcy1mb290ZXItbGlua3NfX2l0ZW0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY3MtZm9vdGVyLWxpbmtzX19pdGVtIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcHg7IH0gfVxuICAuY3MtZm9vdGVyLWxpbmtzIGEsXG4gIC5jcy1mb290ZXItbGlua3MgYTp2aXNpdGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwIDAgNHB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jcy1mb290ZXItbGlua3MgYSxcbiAgICAgIC5jcy1mb290ZXItbGlua3MgYTp2aXNpdGVkIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4OyB9IH1cbiAgICAuY3MtZm9vdGVyLWxpbmtzIGE6aG92ZXIsXG4gICAgLmNzLWZvb3Rlci1saW5rcyBhOnZpc2l0ZWQ6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtZm9vdGVyLWxpbmtzIGEsXG4gICAgICAuY3MtZm9vdGVyLWxpbmtzIGE6dmlzaXRlZCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCA0cHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy9yZXNldC1saXN0LXN0eWxlJztcblxuJGZvb3Rlci1saW5rc19saXN0LWl0ZW0tbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4kZm9vdGVyLWxpbmtzX2xpbmstZm9udC1zaXplOiAxNHB4ICFkZWZhdWx0O1xuJGZvb3Rlci1saW5rc19saW5rLWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kZm9vdGVyLWxpbmtzX2xpbmstaG92ZXItY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRmb290ZXItbGlua3NfbGluay1ob3Zlci1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4kZm9vdGVyLWxpbmtzX2xpbmstcGFkZGluZy1tb2JpbGU6IDAgMCA0cHggIWRlZmF1bHQ7XG4kZm9vdGVyLWxpbmtzX2xpbmstcGFkZGluZy1kZXNrdG9wOiAkZm9vdGVyLWxpbmtzX2xpbmstcGFkZGluZy1tb2JpbGUgIWRlZmF1bHQ7XG5cblxuLiN7JG5zfWZvb3Rlci1saW5rcyB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlKCk7XG5cbiAgICAmLWhlYWRlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgY29sb3I6ICRjb2xvcl93aGl0ZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgbWFyZ2luOiAkZm9vdGVyLWxpbmtzX2xpc3QtaXRlbS1tYXJnaW47XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6ICRmb290ZXItbGlua3NfbGluay1jb2xvcjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6ICRmb290ZXItbGlua3NfbGluay1wYWRkaW5nLW1vYmlsZTtcbiAgICAgICAgZm9udC1zaXplOiAkZm9vdGVyLWxpbmtzX2xpbmstZm9udC1zaXplO1xuICAgICAgICBjb2xvcjogJGZvb3Rlci1saW5rc19saW5rLWNvbG9yO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9vdGVyLWxpbmtzX2xpbmstaG92ZXItY29sb3I7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRmb290ZXItbGlua3NfbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgcGFkZGluZzogJGZvb3Rlci1saW5rc19saW5rLXBhZGRpbmctZGVza3RvcDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qXG4gKiBGYWlyIHdhcm5pbmc6IERvbid0IG1peCB1bml0cyB3aGlsZSB1c2luZyAndXRpbHMvcG9seS1mbHVpZC1zaXppbmcnIGZlYXR1cmUuXG4gKiBJZiB5b3UgdXNlIHJlbXMsIHN0aWNrIHRvIHJlbXMgZXZlcnl3aGVyZSBpbiB0aGUgYXJlYSBvZiB3aG9sZSBtYXAsIG9yIGVsc2UgdGhlIG1peGluIHdpbGwgdGhyb3cgYW4gZXJyb3JcbiAqL1xuQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb25maWcvYnJlYWtwb2ludHMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3V0aWxzL2FzcGVjdC1yYXRpbyc7XG5AaW1wb3J0ICd1dGlscy9wb2x5LWZsdWlkLXNpemluZyc7XG5AaW1wb3J0ICd1dGlscy9jbGVhcmZpeCc7XG5AaW1wb3J0ICdldGMvdmlldy5zY3NzJztcbkBpbXBvcnQgJ3V0aWxzL2RlZXAtZ2V0L2RlZXAtZ2V0LnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuXG4kZ3JpZC1sYXlvdXRfcm93cy1zZXBhcmF0b3Itc2hvdzogZmFsc2UgIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfcm93cy1zZXBhcmF0b3ItaGVpZ2h0OiAwICFkZWZhdWx0O1xuJGdyaWQtbGF5b3V0X3Jvd3Mtc2VwYXJhdG9yLWNvbG9yOiAkY29sb3JfZ2FsbGVyeSAhZGVmYXVsdDtcblxuJGdyaWQtbGF5b3V0X2JyaWNrcy1ndXR0ZXI6IDAgIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfYnJpY2stbWFyZ2luOiAkZ3JpZC1sYXlvdXRfYnJpY2tzLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWxheW91dF9icmljay1wYWRkaW5nOiAwICFkZWZhdWx0O1xuXG4kZ3JpZC1sYXlvdXRfYnJpY2stcmF0aW8td2lkdGg6ICR0aWxlX2FzcGVjdC1yYXRpby13aWR0aCAhZGVmYXVsdDtcbiRncmlkLWxheW91dF9icmljay1yYXRpby1oZWlnaHQ6ICR0aWxlX2FzcGVjdC1yYXRpby1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRncmlkLWxheW91dF90ZWFzZXItY29udGVudC1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLWxpZ2h0LXNjaGVtZS1jb2xvcjogJHNjaGVtZS0tbGlnaHRfdGV4dHMtY29sb3IgIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLWRhcmstc2NoZW1lLWNvbG9yOiAkc2NoZW1lLS1kYXJrX3RleHRzLWNvbG9yICFkZWZhdWx0O1xuJGdyaWQtbGF5b3V0X3RlYXNlci1jb250ZW50LWxpbmUtaGVpZ2h0OiAxLjE1ICFkZWZhdWx0O1xuXG4kZ3JpZC1sYXlvdXRfdGVhc2VyLWhlYWRsaW5lLWJvdHRvbS1tYXJnaW46IDAuMmVtICFkZWZhdWx0O1xuJGdyaWQtbGF5b3V0X3RlYXNlci1oZWFkbGluZS1mb250LXdlaWdodDogJHRleHRzLW9uLWltYWdlX2hlYWRsaW5lLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGdyaWQtbGF5b3V0X3RlYXNlci1oZWFkbGluZS10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcbiRncmlkLWxheW91dF90ZWFzZXItaGVhZGxpbmUtZm9udC1zaXplLW1pbjogMS44cmVtICFkZWZhdWx0O1xuJGdyaWQtbGF5b3V0X3RlYXNlci1oZWFkbGluZS1mb250LXNpemUtbWF4OiAyLjhyZW0gIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLWhlYWRsaW5lLWZvbnQtbWFwOiAoXG4gICAgJHBhZ2VfbWluLXdpZHRoOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLWhlYWRsaW5lLWZvbnQtc2l6ZS1taW4sXG4gICAgJHBhZ2VfbWF4LXdpZHRoOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLWhlYWRsaW5lLWZvbnQtc2l6ZS1tYXgsXG4pICFkZWZhdWx0O1xuJGdyaWQtbGF5b3V0X3RlYXNlci14Mi1oZWFkbGluZS1ib3R0b20tbWFyZ2luOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLWhlYWRsaW5lLWJvdHRvbS1tYXJnaW4gIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXgyLWhlYWRsaW5lLWZvbnQtc2l6ZS1taW46ICRncmlkLWxheW91dF90ZWFzZXItaGVhZGxpbmUtZm9udC1zaXplLW1pbiAhZGVmYXVsdDtcbiRncmlkLWxheW91dF90ZWFzZXIteDItaGVhZGxpbmUtZm9udC1zaXplLW1heDogNHJlbSAhZGVmYXVsdDtcbiRncmlkLWxheW91dF90ZWFzZXIteDItaGVhZGxpbmUtZm9udC1tYXA6IChcbiAgICAkcGFnZV9taW4td2lkdGg6ICRncmlkLWxheW91dF90ZWFzZXIteDItaGVhZGxpbmUtZm9udC1zaXplLW1pbixcbiAgICAkcGFnZV9tYXgtd2lkdGg6ICRncmlkLWxheW91dF90ZWFzZXIteDItaGVhZGxpbmUtZm9udC1zaXplLW1heCxcbikgIWRlZmF1bHQ7XG5cbiRncmlkLWxheW91dF90ZWFzZXItc3ViaGVhZGxpbmUtYm90dG9tLW1hcmdpbjogMC42ZW0gIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXN1YmhlYWRsaW5lLWZvbnQtd2VpZ2h0OiAkdGV4dHMtb24taW1hZ2Vfc3ViaGVhZGxpbmUtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXN1YmhlYWRsaW5lLXRleHQtdHJhbnNmb3JtOiAkdGV4dHMtb24taW1hZ2Vfc3ViaGVhZGxpbmUtdGV4dC10cmFuc2Zvcm0gIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXN1YmhlYWRsaW5lLWZvbnQtc2l6ZS1taW46IDEuNnJlbSAhZGVmYXVsdDtcbiRncmlkLWxheW91dF90ZWFzZXItc3ViaGVhZGxpbmUtZm9udC1zaXplLW1heDogMS44cmVtICFkZWZhdWx0O1xuJGdyaWQtbGF5b3V0X3RlYXNlci1zdWJoZWFkbGluZS1mb250LW1hcDogKFxuICAgICRwYWdlX21pbi13aWR0aDogJGdyaWQtbGF5b3V0X3RlYXNlci1zdWJoZWFkbGluZS1mb250LXNpemUtbWluLFxuICAgICRwYWdlX21heC13aWR0aDogJGdyaWQtbGF5b3V0X3RlYXNlci1zdWJoZWFkbGluZS1mb250LXNpemUtbWF4LFxuKSAhZGVmYXVsdDtcbiRncmlkLWxheW91dF90ZWFzZXIteDItc3ViaGVhZGxpbmUtYm90dG9tLW1hcmdpbjogJGdyaWQtbGF5b3V0X3RlYXNlci1zdWJoZWFkbGluZS1ib3R0b20tbWFyZ2luICFkZWZhdWx0O1xuJGdyaWQtbGF5b3V0X3RlYXNlci14Mi1zdWJoZWFkbGluZS1mb250LXNpemUtbWluOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLXN1YmhlYWRsaW5lLWZvbnQtc2l6ZS1taW4gIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXgyLXN1YmhlYWRsaW5lLWZvbnQtc2l6ZS1tYXg6IDIuNXJlbSAhZGVmYXVsdDtcbiRncmlkLWxheW91dF90ZWFzZXIteDItc3ViaGVhZGxpbmUtZm9udC1tYXA6IChcbiAgICAkcGFnZV9taW4td2lkdGg6ICRncmlkLWxheW91dF90ZWFzZXIteDItc3ViaGVhZGxpbmUtZm9udC1zaXplLW1pbixcbiAgICAkcGFnZV9tYXgtd2lkdGg6ICRncmlkLWxheW91dF90ZWFzZXIteDItc3ViaGVhZGxpbmUtZm9udC1zaXplLW1heCxcbikgIWRlZmF1bHQ7XG5cbiRncmlkLWxheW91dF90ZWFzZXItcGFyYWdyYXBoLWJvdHRvbS1tYXJnaW46IDFlbSAhZGVmYXVsdDtcbiRncmlkLWxheW91dF90ZWFzZXItcGFyYWdyYXBoLWZvbnQtd2VpZ2h0OiAkdGV4dHMtb24taW1hZ2VfdGV4dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRncmlkLWxheW91dF90ZWFzZXItcGFyYWdyYXBoLXRleHQtdHJhbnNmb3JtOiAkdGV4dHMtb24taW1hZ2VfdGV4dC10ZXh0LXRyYW5zZm9ybSAhZGVmYXVsdDtcbiRncmlkLWxheW91dF90ZWFzZXItcGFyYWdyYXBoLWZvbnQtc2l6ZS1taW46IDEuM3JlbSAhZGVmYXVsdDtcbiRncmlkLWxheW91dF90ZWFzZXItcGFyYWdyYXBoLWZvbnQtc2l6ZS1tYXg6IDEuNHJlbSAhZGVmYXVsdDtcbiRncmlkLWxheW91dF90ZWFzZXItcGFyYWdyYXBoLWZvbnQtbWFwOiAoXG4gICAgJHBhZ2VfbWluLXdpZHRoOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLXBhcmFncmFwaC1mb250LXNpemUtbWluLFxuICAgICRwYWdlX21heC13aWR0aDogJGdyaWQtbGF5b3V0X3RlYXNlci1wYXJhZ3JhcGgtZm9udC1zaXplLW1heCxcbikgIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXgyLXBhcmFncmFwaC1ib3R0b20tbWFyZ2luOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLXBhcmFncmFwaC1ib3R0b20tbWFyZ2luICFkZWZhdWx0O1xuJGdyaWQtbGF5b3V0X3RlYXNlci14Mi1wYXJhZ3JhcGgtZm9udC1zaXplLW1pbjogJGdyaWQtbGF5b3V0X3RlYXNlci1wYXJhZ3JhcGgtZm9udC1zaXplLW1pbiAhZGVmYXVsdDtcbiRncmlkLWxheW91dF90ZWFzZXIteDItcGFyYWdyYXBoLWZvbnQtc2l6ZS1tYXg6IDEuNnJlbSAhZGVmYXVsdDtcbiRncmlkLWxheW91dF90ZWFzZXIteDItcGFyYWdyYXBoLWZvbnQtbWFwOiAoXG4gICAgJHBhZ2VfbWluLXdpZHRoOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLXgyLXBhcmFncmFwaC1mb250LXNpemUtbWluLFxuICAgICRwYWdlX21heC13aWR0aDogJGdyaWQtbGF5b3V0X3RlYXNlci14Mi1wYXJhZ3JhcGgtZm9udC1zaXplLW1heCxcbikgIWRlZmF1bHQ7XG5cbiRncmlkLWxheW91dF90ZWFzZXItY3RhLWJ1dHRvbi10eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSAhZGVmYXVsdDtcbiRncmlkLWxheW91dF90ZWFzZXItY3RhLWJ1dHRvbi1pY29uLXBvczogJGJ1dHRvbl9kZWZhdWx0LWljb24tcG9zICFkZWZhdWx0O1xuXG4vLyB2YWx1ZXM6IGZhbHNlIC8gYnJlYWtwb2ludCBuYW1lIC0gdGhlIHNhbWUgYXMgZm9yIEBtZWRpYSBtaXhpbjtcbi8vIFVzZSBmYWxzZSBpZiB5b3UgZG9uJ3Qgd2FudCB0byBoaWRlIGJ1dHRvbiBhdCBhbGxcbiRncmlkLWxheW91dF90ZWFzZXItYnV0dG9uLXZpc2libGUtZnJvbTogJz49dGFibGV0JztcblxuJGdyaWQtbGF5b3V0X2JyaWNrcy1wZXItcm93OiBkZWVwLWdldChcbiAgICAkdmlldy14bWwsXG4gICAgdmFycyxcbiAgICBNYWdlU3VpdGVfQ29udGVudENvbnN0cnVjdG9yLFxuICAgIGNvbHVtbnMsXG4gICAgb25lLWNvbHVtblxuKSAhZGVmYXVsdDtcbiRncmlkLWxheW91dF9icmlja3MtcGVyLXJvdy0td2l0aC1zaWRlYmFyOiBkZWVwLWdldChcbiAgICAkdmlldy14bWwsXG4gICAgdmFycyxcbiAgICBNYWdlU3VpdGVfQ29udGVudENvbnN0cnVjdG9yLFxuICAgIGNvbHVtbnMsXG4gICAgbXVsdGlwbGUtY29sdW1uc1xuKSAhZGVmYXVsdDtcblxuLy8gQXBwbHkgbm9ybWFsIGZsb3cgZm9yIHRlYXNlcnMgb24gc21hbGxlc3QgbW9iaWxlLCBpbnN0ZWFkIG9mIHRlYXNlcnMgd2l0aCBoYXJkY29kZWQgMTAwJSB3aWR0aFxuJGdyaWQtbGF5b3V0X3NtYWxsLW1vYmlsZS1zdGFuZGFyZC10ZWFzZXJzLWZsb3c6IGZhbHNlICFkZWZhdWx0O1xuXG4uI3skbnN9Z3JpZC1sYXlvdXQge1xuICAgICRyb290OiAmO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpZiAkZ3JpZC1sYXlvdXRfYnJpY2tzLWd1dHRlciA9PSAwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAyICogI3skZ3JpZC1sYXlvdXRfYnJpY2tzLWd1dHRlcn0pO1xuICAgICAgICBtYXJnaW46IC0jeyRncmlkLWxheW91dF9icmlja3MtZ3V0dGVyfSAtI3skZ3JpZC1sYXlvdXRfYnJpY2tzLWd1dHRlcn0gMDtcbiAgICB9XG5cbiAgICAmX19ncmlkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICB9XG5cbiAgICAmX190ZWFzZXIge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8tY2hpbGQtcG9zaXRpb24oKTtcblxuICAgICAgICAmLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmLWZpZ3VyZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtaW1hZ2Uge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtY29udGVudCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRncmlkLWxheW91dF90ZWFzZXItY29udGVudC1wYWRkaW5nO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRncmlkLWxheW91dF90ZWFzZXItY29udGVudC1saW5lLWhlaWdodDtcblxuICAgICAgICAgICAgLyogVmFyaWFudHMgd2lsbCBiZSByZWZhY3RvcmVkIGFmdGVyIENDIElUIHJlZmFjdG9yIGR1ZSB0byBuZXcgcG9zaXRpb24gb3B0aW9ucyAqL1xuICAgICAgICAgICAgJi0tdmFyaWFudC0xIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tdmFyaWFudC0yIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS12YXJpYW50LTMge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS12YXJpYW50LTQge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWNvbnRlbnQtaW5uZXIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1oZWFkbGluZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAkZ3JpZC1sYXlvdXRfdGVhc2VyLWhlYWRsaW5lLWJvdHRvbS1tYXJnaW47XG4gICAgICAgICAgICBjb2xvcjogJGdyaWQtbGF5b3V0X3RlYXNlci1kYXJrLXNjaGVtZS1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ3JpZC1sYXlvdXRfdGVhc2VyLWhlYWRsaW5lLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRncmlkLWxheW91dF90ZWFzZXItaGVhZGxpbmUtdGV4dC10cmFuc2Zvcm07XG4gICAgICAgICAgICBAaW5jbHVkZSBwb2x5LWZsdWlkLXNpemluZyhcbiAgICAgICAgICAgICAgICAnZm9udC1zaXplJyxcbiAgICAgICAgICAgICAgICAkZ3JpZC1sYXlvdXRfdGVhc2VyLWhlYWRsaW5lLWZvbnQtbWFwXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAjeyRyb290fV9fYnJpY2stLXgyICYge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwICRncmlkLWxheW91dF90ZWFzZXIteDItaGVhZGxpbmUtYm90dG9tLW1hcmdpbjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb2x5LWZsdWlkLXNpemluZyhcbiAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtc2l6ZScsXG4gICAgICAgICAgICAgICAgICAgICRncmlkLWxheW91dF90ZWFzZXIteDItaGVhZGxpbmUtZm9udC1tYXBcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fV9fdGVhc2VyLS1zY2hlbWUtbGlnaHQgJiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmlkLWxheW91dF90ZWFzZXItbGlnaHQtc2NoZW1lLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1zdWJoZWFkbGluZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICRncmlkLWxheW91dF90ZWFzZXItc3ViaGVhZGxpbmUtYm90dG9tLW1hcmdpbjtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLWRhcmstc2NoZW1lLWNvbG9yO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRncmlkLWxheW91dF90ZWFzZXItc3ViaGVhZGxpbmUtZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGdyaWQtbGF5b3V0X3RlYXNlci1zdWJoZWFkbGluZS10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvbHktZmx1aWQtc2l6aW5nKFxuICAgICAgICAgICAgICAgICdmb250LXNpemUnLFxuICAgICAgICAgICAgICAgICRncmlkLWxheW91dF90ZWFzZXItc3ViaGVhZGxpbmUtZm9udC1tYXBcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19icmljay0teDIgJiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgJGdyaWQtbGF5b3V0X3RlYXNlci14Mi1zdWJoZWFkbGluZS1ib3R0b20tbWFyZ2luO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvbHktZmx1aWQtc2l6aW5nKFxuICAgICAgICAgICAgICAgICAgICAnZm9udC1zaXplJyxcbiAgICAgICAgICAgICAgICAgICAgJGdyaWQtbGF5b3V0X3RlYXNlci14Mi1zdWJoZWFkbGluZS1mb250LW1hcFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9X190ZWFzZXItLXNjaGVtZS1saWdodCAmIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyaWQtbGF5b3V0X3RlYXNlci1saWdodC1zY2hlbWUtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLXRleHQge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgJGdyaWQtbGF5b3V0X3RlYXNlci1wYXJhZ3JhcGgtYm90dG9tLW1hcmdpbjtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLWRhcmstc2NoZW1lLWNvbG9yO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRncmlkLWxheW91dF90ZWFzZXItcGFyYWdyYXBoLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRncmlkLWxheW91dF90ZWFzZXItcGFyYWdyYXBoLXRleHQtdHJhbnNmb3JtO1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9seS1mbHVpZC1zaXppbmcoXG4gICAgICAgICAgICAgICAgJ2ZvbnQtc2l6ZScsXG4gICAgICAgICAgICAgICAgJGdyaWQtbGF5b3V0X3RlYXNlci1wYXJhZ3JhcGgtZm9udC1tYXBcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19icmljay0teDIgJiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgJGdyaWQtbGF5b3V0X3RlYXNlci14Mi1wYXJhZ3JhcGgtYm90dG9tLW1hcmdpbjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb2x5LWZsdWlkLXNpemluZyhcbiAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtc2l6ZScsXG4gICAgICAgICAgICAgICAgICAgICRncmlkLWxheW91dF90ZWFzZXIteDItcGFyYWdyYXBoLWZvbnQtbWFwXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH1fX3RlYXNlci0tc2NoZW1lLWxpZ2h0ICYge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLWxpZ2h0LXNjaGVtZS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtY3RhIHtcbiAgICAgICAgICAgICYtYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLWN0YS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLWN0YS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgJi1zcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAgICAgICAgICAgICAkdHlwZTogJGdyaWQtbGF5b3V0X3RlYXNlci1jdGEtYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRncmlkLWxheW91dF90ZWFzZXItY3RhLWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9pY29uKFxuICAgICAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRncmlkLWxheW91dF90ZWFzZXItY3RhLWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLWN0YS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19icmljayB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46ICRncmlkLWxheW91dF9icmljay1tYXJnaW47XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLWxheW91dF9icmljay1wYWRkaW5nO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvKFxuICAgICAgICAgICAgJHdpZHRoOiAkZ3JpZC1sYXlvdXRfYnJpY2stcmF0aW8td2lkdGgsXG4gICAgICAgICAgICAkaGVpZ2h0OiAkZ3JpZC1sYXlvdXRfYnJpY2stcmF0aW8taGVpZ2h0LFxuICAgICAgICAgICAgJGNoaWxkQ2xhc3M6ICN7JG5zfXByb2R1Y3QtdGlsZSxcbiAgICAgICAgICAgICRhdXRvcG9zaXRpb246IHRydWVcbiAgICAgICAgKTtcblxuICAgICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJGl0ZW1zUGVyUm93IGluICRncmlkLWxheW91dF9icmlja3MtcGVyLXJvdyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj0jeyRicmVha3BvaW50fScpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gI3skaXRlbXNQZXJSb3d9KTtcblxuICAgICAgICAgICAgICAgIEBpZiAkaXRlbXNQZXJSb3cgPiAxIHtcbiAgICAgICAgICAgICAgICAgICAgJi0teDIge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvICN7JGl0ZW1zUGVyUm93fSAqIDIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0teDI6bm90KCN7JHJvb3R9X19icmljay0teTIpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpby1vdmVycmlkZShcbiAgICAgICAgICAgICAgICAkd2lkdGg6ICRncmlkLWxheW91dF9icmljay1yYXRpby13aWR0aCAqIDIsXG4gICAgICAgICAgICAgICAgJGhlaWdodDogJGdyaWQtbGF5b3V0X2JyaWNrLXJhdGlvLWhlaWdodFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgJiN7JHJvb3R9X19icmljay0tdGVhc2VyIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0teTIge1xuICAgICAgICAgICAgJiN7JHJvb3R9X19icmljay0tbGVmdCB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bm90KCN7JHJvb3R9X19icmljay0teDIpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8tb3ZlcnJpZGUoXG4gICAgICAgICAgICAgICAgICAgICR3aWR0aDogJGdyaWQtbGF5b3V0X2JyaWNrLXJhdGlvLXdpZHRoLFxuICAgICAgICAgICAgICAgICAgICAkaGVpZ2h0OiAkZ3JpZC1sYXlvdXRfYnJpY2stcmF0aW8taGVpZ2h0ICogMlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYjeyRyb290fV9fYnJpY2stLXRlYXNlciB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXJpZ2h0IHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWhpZGRlbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLS10ZWFzZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLXJlYWR5IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXdpdGgtc2lkZWJhciB7XG4gICAgICAgIEBlYWNoICRicmVha3BvaW50LFxuICAgICAgICAgICAgJGl0ZW1zUGVyUm93IGluICRncmlkLWxheW91dF9icmlja3MtcGVyLXJvdy0td2l0aC1zaWRlYmFyXG4gICAgICAgIHtcbiAgICAgICAgICAgICN7JHJvb3R9X19icmljayB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49I3skYnJlYWtwb2ludH0nKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAjeyRpdGVtc1BlclJvd30pO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpZiAkaXRlbXNQZXJSb3cgPiAxIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICYtLXgyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gI3skaXRlbXNQZXJSb3d9ICogMik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGdyaWQtbGF5b3V0X3Jvd3Mtc2VwYXJhdG9yLXNob3cge1xuICAgICAgICAmLFxuICAgICAgICAmX19icmljayB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkZ3JpZC1sYXlvdXRfcm93cy1zZXBhcmF0b3ItaGVpZ2h0O1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmlkLWxheW91dF9yb3dzLXNlcGFyYXRvci1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLSN7JGdyaWQtbGF5b3V0X3Jvd3Mtc2VwYXJhdG9yLWhlaWdodH07XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwYWdlX2JhY2tncm91bmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIGFuZCAoZ3JpZC1hdXRvLWZsb3c6IHJvdykge1xuICAgICAgICAmX19ncmlkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZUxnJykge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBlYWNoICRicmVha3BvaW50LCAkaXRlbXNQZXJSb3cgaW4gJGdyaWQtbGF5b3V0X2JyaWNrcy1wZXItcm93IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj0jeyRicmVha3BvaW50fScpIHtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoI3skaXRlbXNQZXJSb3d9LCAxZnIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLXdpdGgtc2lkZWJhciAmIHtcbiAgICAgICAgICAgICAgICBAZWFjaCAkYnJlYWtwb2ludCxcbiAgICAgICAgICAgICAgICAgICAgJGl0ZW1zUGVyUm93IGluICRncmlkLWxheW91dF9icmlja3MtcGVyLXJvdy0td2l0aC1zaWRlYmFyXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj0jeyRicmVha3BvaW50fScpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KCN7JGl0ZW1zUGVyUm93fSwgMWZyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2JyaWNrIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpby1yZXNldChcbiAgICAgICAgICAgICAgICAkY2hpbGRDbGFzczogI3skbnN9cHJvZHVjdC10aWxlLFxuICAgICAgICAgICAgICAgICRhdXRvcG9zaXRpb246IHRydWVcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIEBpZiAoJGdyaWQtbGF5b3V0X3NtYWxsLW1vYmlsZS1zdGFuZGFyZC10ZWFzZXJzLWZsb3cpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lJykge1xuICAgICAgICAgICAgICAgICAgICAmLS14MiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYtLXkyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93LWVuZDogc3BhbiAyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJGl0ZW1zUGVyUm93IGluICRncmlkLWxheW91dF9icmlja3MtcGVyLXJvdyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49I3skYnJlYWtwb2ludH0nKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAkaXRlbXNQZXJSb3cgPiAxIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICYtLXgyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJi0teTIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93LWVuZDogc3BhbiAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fTpub3QoI3skcm9vdH0tLXdpdGgtc2lkZWJhcikgJiB7XG4gICAgICAgICAgICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsICRpdGVtc1BlclJvdyBpbiAkZ3JpZC1sYXlvdXRfYnJpY2tzLXBlci1yb3cge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj0jeyRicmVha3BvaW50fScpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bm90KCN7JHJvb3R9X19icmljay0teDIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgJGl0ZW1zUGVyUm93ID49IDIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYtLXgyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgJGl0ZW1zUGVyUm93ID49IDMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLXgyOm5vdCgjeyRyb290fV9fYnJpY2stLXkyKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvLW92ZXJyaWRlLXJlc2V0KCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLXkyIHtcbiAgICAgICAgICAgICAgICAmOm5vdCgjeyRyb290fV9fYnJpY2stLXgyKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpby1vdmVycmlkZS1yZXNldCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJixcbiAgICAgICAgICAgICYtLXRlYXNlci1yZWFkeSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tdGVhc2VyLXJlYWR5IHtcbiAgICAgICAgICAgICAgICBAaWYgbm90ICRncmlkLWxheW91dF9zbWFsbC1tb2JpbGUtc3RhbmRhcmQtdGVhc2Vycy1mbG93IHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZScpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLXJpZ2h0IHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXdpdGgtc2lkZWJhciB7XG4gICAgICAgICAgICBAZWFjaCAkYnJlYWtwb2ludCxcbiAgICAgICAgICAgICAgICAkaXRlbXNQZXJSb3cgaW4gJGdyaWQtbGF5b3V0X2JyaWNrcy1wZXItcm93LS13aXRoLXNpZGViYXJcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAjeyRyb290fV9fYnJpY2sge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj0jeyRicmVha3BvaW50fScpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAkaXRlbXNQZXJSb3cgPiAxIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLS14MiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYtLXkyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3ctZW5kOiBzcGFuIDI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm5vdCgjeyRyb290fV9fYnJpY2stLXgyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICRpdGVtc1BlclJvdyA+PSAyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmLS14MiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICRpdGVtc1BlclJvdyA+PSAzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLypcbiAqIEZhaXIgd2FybmluZzogRG9uJ3QgbWl4IHVuaXRzIHdoaWxlIHVzaW5nICd1dGlscy9wb2x5LWZsdWlkLXNpemluZycgZmVhdHVyZS5cbiAqIElmIHlvdSB1c2UgcmVtcywgc3RpY2sgdG8gcmVtcyBldmVyeXdoZXJlIGluIHRoZSBhcmVhIG9mIHdob2xlIG1hcCwgb3IgZWxzZSB0aGUgbWl4aW4gd2lsbCB0aHJvdyBhbiBlcnJvclxuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBVc2luZyBwc3VlZG8gZWxlbWVudHMgdG8gbWFpbnRhaW4gYW4gZWxlbWVudHMgYXNwZWN0IHJhdGlvLCBldmVuIGFzIGl0IHNjYWxlc1xuICogSXQncyB1c2luZyBvbmx5IGZvciBJRTExIGFuZCBFZGdlICh2ZXJzaW9uIHdoaWNoIGRvZXNuJ3Qgc3VwcG9ydCBuYXRpdmUgQ1NTIGdyaWQpIGJyb3dzZXJzXG4gKiBGb3IgYnJvd3NlcnMgd2hpY2ggc3VwcG9ydCBuYXRpdmUgQ1NTIGdyaWQsIHdlIGFyZSB1c2luZyBtaXhpbnMgY29udGFpbiBgcmVzZXRgIGluIG1peGluIG5hbWVcbiAqIHRvIG92ZXJyaWRlIGRlZmF1bHQgbWl4aW5zIChwcm9ncmVzc2l2ZSBlbmhhbmNlbWVudClcbiAqIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc25pcHBldHMvc2Fzcy9tYWludGFpbi1hc3BlY3QtcmF0aW8tbWl4aW4vXG4gKiBAcGFyYW0ge251bWJlcn0gJHdpZHRoOiB3aWR0aCBvZiB0aGUgZWxlbWVudDtcbiAqIEBwYXJhbSB7bnVtYmVyfSAkaGVpZ2h0OiBoZWlnaHQgb2YgdGhlIGVsZW1lbnQ7XG4gKiBAcGFyYW0ge3N0cmluZ30gJGNvbnRlbnRDbGFzczogY2xhc3Mgb2YgdGhlIGRpcmVjdCBjaGlsZCBlbGVtZW50IHRvIGJlIHBvc2l0aW9uZWQgYWJzb2x1dGVseTtcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gJGF1dG9wb3NpdGlvbjogdGVsbHMgaWYgaXRlbSBzaGFsbCB0YWtlIDEwMCUgb2YgcGFyZW50IHNpemUgb3IgaWYgaXQgY2FuIGJlIHdpZGVyL2hpZ2hlciBpZiBuZWVkZWQ7XG4gKi9cbi8qKlxuICogQ2xlYXJmaXg6IGNvbnRhaW4gZmxvYXRzXG4gKlxuICogRm9yIG1vZGVybiBicm93c2Vyc1xuICogMS4gVGhlIHNwYWNlIGNvbnRlbnQgaXMgb25lIHdheSB0byBhdm9pZCBhbiBPcGVyYSBidWcgd2hlbiB0aGVcbiAqICAgIGBjb250ZW50ZWRpdGFibGVgIGF0dHJpYnV0ZSBpcyBpbmNsdWRlZCBhbnl3aGVyZSBlbHNlIGluIHRoZSBkb2N1bWVudC5cbiAqICAgIE90aGVyd2lzZSBpdCBjYXVzZXMgc3BhY2UgdG8gYXBwZWFyIGF0IHRoZSB0b3AgYW5kIGJvdHRvbSBvZiBlbGVtZW50c1xuICogICAgdGhhdCByZWNlaXZlIHRoZSBgY2xlYXJmaXhgIGNsYXNzLlxuICogMi4gVGhlIHVzZSBvZiBgdGFibGVgIHJhdGhlciB0aGFuIGBibG9ja2AgaXMgb25seSBuZWNlc3NhcnkgaWYgdXNpbmdcbiAqICAgIGA6YmVmb3JlYCB0byBjb250YWluIHRoZSB0b3AtbWFyZ2lucyBvZiBjaGlsZCBlbGVtZW50cy5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDE3OVxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLmNzLWdyaWQtbGF5b3V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTsgfVxuICAuY3MtZ3JpZC1sYXlvdXRfX2dyaWQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAuY3MtZ3JpZC1sYXlvdXRfX2dyaWQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7IH1cbiAgICAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1jb250ZW50LXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItZmlndXJlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItaW1hZ2Uge1xuICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTsgfVxuICAgIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWNvbnRlbnQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICAgIC8qIFZhcmlhbnRzIHdpbGwgYmUgcmVmYWN0b3JlZCBhZnRlciBDQyBJVCByZWZhY3RvciBkdWUgdG8gbmV3IHBvc2l0aW9uIG9wdGlvbnMgKi8gfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItY29udGVudC0tdmFyaWFudC0xIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1jb250ZW50LS12YXJpYW50LTIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItY29udGVudC0tdmFyaWFudC0zIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItY29udGVudC0tdmFyaWFudC00IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItY29udGVudC1pbm5lciB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1oZWFkbGluZSB7XG4gICAgICBtYXJnaW46IDAgMCAwLjJlbTtcbiAgICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgZm9udC1zaXplOiAxLjhyZW07IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMnJlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1oZWFkbGluZSB7XG4gICAgICAgICAgZm9udC1zaXplOiBjYWxjKDEuMDg2OTZ2dyArIDEuNDUyMTdyZW0pOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjRyZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItaGVhZGxpbmUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMi44cmVtOyB9IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWhlYWRsaW5lIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC4yZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMnJlbSkge1xuICAgICAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWhlYWRsaW5lIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2FsYygyLjM5MTN2dyArIDEuMDM0NzhyZW0pOyB9IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyNHJlbSkge1xuICAgICAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWhlYWRsaW5lIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNHJlbTsgfSB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci0tc2NoZW1lLWxpZ2h0IC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWhlYWRsaW5lIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1zdWJoZWFkbGluZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCAwIDAuNmVtO1xuICAgICAgY29sb3I6ICMyMTIxMjE7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDMycmVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLXN1YmhlYWRsaW5lIHtcbiAgICAgICAgICBmb250LXNpemU6IGNhbGMoMC4yMTczOXZ3ICsgMS41MzA0M3JlbSk7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyNHJlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1zdWJoZWFkbGluZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07IH0gfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItc3ViaGVhZGxpbmUge1xuICAgICAgICBtYXJnaW46IDAgMCAwLjZlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDMycmVtKSB7XG4gICAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItc3ViaGVhZGxpbmUge1xuICAgICAgICAgICAgZm9udC1zaXplOiBjYWxjKDAuOTc4MjZ2dyArIDEuMjg2OTZyZW0pOyB9IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyNHJlbSkge1xuICAgICAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLXN1YmhlYWRsaW5lIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi41cmVtOyB9IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLS1zY2hlbWUtbGlnaHQgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItc3ViaGVhZGxpbmUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLXRleHQge1xuICAgICAgbWFyZ2luOiAwIDAgMWVtO1xuICAgICAgY29sb3I6ICMyMTIxMjE7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBmb250LXNpemU6IDEuM3JlbTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDMycmVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLXRleHQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogY2FsYygwLjEwODd2dyArIDEuMjY1MjJyZW0pOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjRyZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItdGV4dCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07IH0gfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItdGV4dCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDFlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjNyZW07IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDMycmVtKSB7XG4gICAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItdGV4dCB7XG4gICAgICAgICAgICBmb250LXNpemU6IGNhbGMoMC4zMjYwOXZ3ICsgMS4xOTU2NXJlbSk7IH0gfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTI0cmVtKSB7XG4gICAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItdGV4dCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTsgfSB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci0tc2NoZW1lLWxpZ2h0IC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLXRleHQge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWN0YS1idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICAgICAgcGFkZGluZzogOHB4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgei1pbmRleDogNTtcbiAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWN0YS1idXR0b24ubWVkaXVtIHtcbiAgICAgICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItY3RhLWJ1dHRvbi5sYXJnZSB7XG4gICAgICAgIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWN0YS1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItY3RhLWJ1dHRvbiwgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItY3RhLWJ1dHRvbjp2aXNpdGVkIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDsgfVxuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1jdGEtYnV0dG9uICosIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWN0YS1idXR0b246dmlzaXRlZCAqIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1jdGEtYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItY3RhLWJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWN0YS1idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY3NDQyOyB9XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWN0YS1idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWN0YS1idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWN0YS1idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1jdGEtYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItY3RhLWJ1dHRvbi1zcGFuIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWN0YS1idXR0b24taWNvbiB7XG4gICAgICAgIG1heC13aWR0aDogMWVtO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgcmlnaHQ6IDFlbTsgfVxuICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLXRvcDogMTcwJTsgfVxuICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2sgLmNzLXByb2R1Y3QtdGlsZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljayB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyKTsgfVxuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIgKiAyKTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2sge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMik7IH1cbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyICogMik7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpOyB9XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyAqIDIpOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljayB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA1KTsgfVxuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDUgKiAyKTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2sge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gNSk7IH1cbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA1ICogMik7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDUpOyB9XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gNSAqIDIpOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2sge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gNSk7IH1cbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA1ICogMik7IH0gfVxuICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyOm5vdCguY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS15Mik6YmVmb3JlIHtcbiAgICAgIHBhZGRpbmctdG9wOiA4NSU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMzkuOTllbSkge1xuICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDI6bm90KC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXkyKS5jcy1ncmlkLWxheW91dF9fYnJpY2stLXRlYXNlcjpiZWZvcmUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0teTIuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0teTI6bm90KC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyKTpiZWZvcmUge1xuICAgICAgcGFkZGluZy10b3A6IDM0MCU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMzkuOTllbSkge1xuICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0teTIuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS10ZWFzZXI6YmVmb3JlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLWhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS10ZWFzZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDM5Ljk5ZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0tdGVhc2VyOmJlZm9yZSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0tdGVhc2VyLXJlYWR5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyKTsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMiAqIDIpOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyKTsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMiAqIDIpOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyKTsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMiAqIDIpOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyAqIDIpOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyAqIDIpOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyAqIDIpOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljayB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMgKiAyKTsgfSB9XG4gIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkgYW5kIChncmlkLWF1dG8tZmxvdzogcm93KSB7XG4gICAgLmNzLWdyaWQtbGF5b3V0X19ncmlkIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bzsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDM5Ljk5ZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19ncmlkIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fZ3JpZCB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2dyaWQge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19ncmlkIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fZ3JpZCB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2dyaWQge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19ncmlkIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjBlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2dyaWQge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19ncmlkIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fZ3JpZCB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2dyaWQge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19ncmlkIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fZ3JpZCB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2dyaWQge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fZ3JpZCB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgfSB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXRfX2dyaWQ6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLWdyaWQtbGF5b3V0X19icmljayB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2s6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogbm9uZTsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljayAuY3MtcHJvZHVjdC10aWxlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBib3R0b206IGF1dG87IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIHtcbiAgICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMjsgfVxuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS15MiB7XG4gICAgICAgICAgZ3JpZC1yb3ctZW5kOiBzcGFuIDI7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIge1xuICAgICAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiAyOyB9XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXkyIHtcbiAgICAgICAgICBncmlkLXJvdy1lbmQ6IHNwYW4gMjsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDI7IH1cbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0teTIge1xuICAgICAgICAgIGdyaWQtcm93LWVuZDogc3BhbiAyOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIHtcbiAgICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMjsgfVxuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS15MiB7XG4gICAgICAgICAgZ3JpZC1yb3ctZW5kOiBzcGFuIDI7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIge1xuICAgICAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiAyOyB9XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXkyIHtcbiAgICAgICAgICBncmlkLXJvdy1lbmQ6IHNwYW4gMjsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDI7IH1cbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0teTIge1xuICAgICAgICAgIGdyaWQtcm93LWVuZDogc3BhbiAyOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjBlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDI7IH1cbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0teTIge1xuICAgICAgICAgIGdyaWQtcm93LWVuZDogc3BhbiAyOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dDpub3QoLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIpIC5jcy1ncmlkLWxheW91dF9fYnJpY2s6bm90KC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyKSAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8ge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiB1bnNldCAhaW1wb3J0YW50OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dDpub3QoLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIpIC5jcy1ncmlkLWxheW91dF9fYnJpY2s6bm90KC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyKSAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8ge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiB1bnNldCAhaW1wb3J0YW50OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dDpub3QoLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIpIC5jcy1ncmlkLWxheW91dF9fYnJpY2s6bm90KC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyKSAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8ge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiB1bnNldCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5jcy1ncmlkLWxheW91dDpub3QoLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIpIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0Om5vdCguY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhcikgLmNzLWdyaWQtbGF5b3V0X19icmljazpub3QoLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIpIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0Om5vdCguY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhcikgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogdW5zZXQgIWltcG9ydGFudDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXQ6bm90KC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyKSAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrOm5vdCguY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MikgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogdW5zZXQgIWltcG9ydGFudDsgfVxuICAgICAgICAuY3MtZ3JpZC1sYXlvdXQ6bm90KC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyKSAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8ge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiB1bnNldCAhaW1wb3J0YW50OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dDpub3QoLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIpIC5jcy1ncmlkLWxheW91dF9fYnJpY2s6bm90KC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyKSAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8ge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiB1bnNldCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5jcy1ncmlkLWxheW91dDpub3QoLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIpIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dDpub3QoLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIpIC5jcy1ncmlkLWxheW91dF9fYnJpY2s6bm90KC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyKSAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8ge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiB1bnNldCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5jcy1ncmlkLWxheW91dDpub3QoLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIpIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7IH0gfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDI6bm90KC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXkyKTpiZWZvcmUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0teTI6bm90KC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyKTpiZWZvcmUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljaywgLmNzLWdyaWQtbGF5b3V0X19icmljay0tdGVhc2VyLXJlYWR5IHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAyOS45OWVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXRlYXNlci1yZWFkeSB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDEgIWltcG9ydGFudDsgfSB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS1yaWdodCB7XG4gICAgICAgIGZsb2F0OiBub25lOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDI7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXkyIHtcbiAgICAgICAgZ3JpZC1yb3ctZW5kOiBzcGFuIDI7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2s6bm90KC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyKSAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8ge1xuICAgICAgICBwYWRkaW5nLXRvcDogdW5zZXQgIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDI7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXkyIHtcbiAgICAgICAgZ3JpZC1yb3ctZW5kOiBzcGFuIDI7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2s6bm90KC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyKSAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8ge1xuICAgICAgICBwYWRkaW5nLXRvcDogdW5zZXQgIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDI7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXkyIHtcbiAgICAgICAgZ3JpZC1yb3ctZW5kOiBzcGFuIDI7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2s6bm90KC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyKSAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8ge1xuICAgICAgICBwYWRkaW5nLXRvcDogdW5zZXQgIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDI7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXkyIHtcbiAgICAgICAgZ3JpZC1yb3ctZW5kOiBzcGFuIDI7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2s6bm90KC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyKSAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8ge1xuICAgICAgICBwYWRkaW5nLXRvcDogdW5zZXQgIWltcG9ydGFudDsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiB7XG4gICAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiAyOyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS15MiB7XG4gICAgICAgIGdyaWQtcm93LWVuZDogc3BhbiAyOyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrOm5vdCguY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MikgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiB1bnNldCAhaW1wb3J0YW50OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIge1xuICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMjsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljay0teTIge1xuICAgICAgICBncmlkLXJvdy1lbmQ6IHNwYW4gMjsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljazpub3QoLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIpIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiB1bnNldCAhaW1wb3J0YW50OyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8ge1xuICAgICAgICBwYWRkaW5nLXRvcDogdW5zZXQgIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiB7XG4gICAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiAyOyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS15MiB7XG4gICAgICAgIGdyaWQtcm93LWVuZDogc3BhbiAyOyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrOm5vdCguY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MikgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiB1bnNldCAhaW1wb3J0YW50OyB9IH0gfVxuIiwiLyoqKlxuICogVXNpbmcgcHN1ZWRvIGVsZW1lbnRzIHRvIG1haW50YWluIGFuIGVsZW1lbnRzIGFzcGVjdCByYXRpbywgZXZlbiBhcyBpdCBzY2FsZXNcbiAqIEl0J3MgdXNpbmcgb25seSBmb3IgSUUxMSBhbmQgRWRnZSAodmVyc2lvbiB3aGljaCBkb2Vzbid0IHN1cHBvcnQgbmF0aXZlIENTUyBncmlkKSBicm93c2Vyc1xuICogRm9yIGJyb3dzZXJzIHdoaWNoIHN1cHBvcnQgbmF0aXZlIENTUyBncmlkLCB3ZSBhcmUgdXNpbmcgbWl4aW5zIGNvbnRhaW4gYHJlc2V0YCBpbiBtaXhpbiBuYW1lXG4gKiB0byBvdmVycmlkZSBkZWZhdWx0IG1peGlucyAocHJvZ3Jlc3NpdmUgZW5oYW5jZW1lbnQpXG4gKiBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL3Nhc3MvbWFpbnRhaW4tYXNwZWN0LXJhdGlvLW1peGluL1xuICogQHBhcmFtIHtudW1iZXJ9ICR3aWR0aDogd2lkdGggb2YgdGhlIGVsZW1lbnQ7XG4gKiBAcGFyYW0ge251bWJlcn0gJGhlaWdodDogaGVpZ2h0IG9mIHRoZSBlbGVtZW50O1xuICogQHBhcmFtIHtzdHJpbmd9ICRjb250ZW50Q2xhc3M6IGNsYXNzIG9mIHRoZSBkaXJlY3QgY2hpbGQgZWxlbWVudCB0byBiZSBwb3NpdGlvbmVkIGFic29sdXRlbHk7XG4gKiBAcGFyYW0ge2Jvb2xlYW59ICRhdXRvcG9zaXRpb246IHRlbGxzIGlmIGl0ZW0gc2hhbGwgdGFrZSAxMDAlIG9mIHBhcmVudCBzaXplIG9yIGlmIGl0IGNhbiBiZSB3aWRlci9oaWdoZXIgaWYgbmVlZGVkO1xuICovXG5cbkBmdW5jdGlvbiBnZXQtYXNwZWN0LXJhdGlvLXBhZGRpbmctdmFsdWUoJHdpZHRoLCAkaGVpZ2h0KSB7XG4gICAgQHJldHVybiAoJGhlaWdodCAvICR3aWR0aCkgKiAxMDAlO1xufVxuXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCR3aWR0aCwgJGhlaWdodCwgJGNoaWxkQ2xhc3MsICRhdXRvcG9zaXRpb246IHRydWUpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiBnZXQtYXNwZWN0LXJhdGlvLXBhZGRpbmctdmFsdWUoJHdpZHRoLCAkaGVpZ2h0KTtcbiAgICB9XG5cbiAgICAuI3skY2hpbGRDbGFzc30ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICBAaWYgJGF1dG9wb3NpdGlvbiB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIGFzcGVjdC1yYXRpby1yZXNldCgkY2hpbGRDbGFzcywgJGF1dG9wb3NpdGlvbjogdHJ1ZSkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG5cbiAgICAuI3skY2hpbGRDbGFzc30ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgbGVmdDogYXV0bztcblxuICAgICAgICBAaWYgJGF1dG9wb3NpdGlvbiB7XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIGFzcGVjdC1yYXRpby1jaGlsZC1wb3NpdGlvbigkYXV0b3Bvc2l0aW9uOiB0cnVlKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgQGlmICRhdXRvcG9zaXRpb24ge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgIH1cbn1cblxuQG1peGluIGFzcGVjdC1yYXRpby1vdmVycmlkZSgkd2lkdGgsICRoZWlnaHQpIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBnZXQtYXNwZWN0LXJhdGlvLXBhZGRpbmctdmFsdWUoJHdpZHRoLCAkaGVpZ2h0KTtcbiAgICB9XG59XG5cbkBtaXhpbiBhc3BlY3QtcmF0aW8tb3ZlcnJpZGUtcmVzZXQoKSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG59XG4iLCIvKipcbiAqIENsZWFyZml4OiBjb250YWluIGZsb2F0c1xuICpcbiAqIEZvciBtb2Rlcm4gYnJvd3NlcnNcbiAqIDEuIFRoZSBzcGFjZSBjb250ZW50IGlzIG9uZSB3YXkgdG8gYXZvaWQgYW4gT3BlcmEgYnVnIHdoZW4gdGhlXG4gKiAgICBgY29udGVudGVkaXRhYmxlYCBhdHRyaWJ1dGUgaXMgaW5jbHVkZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgZG9jdW1lbnQuXG4gKiAgICBPdGhlcndpc2UgaXQgY2F1c2VzIHNwYWNlIHRvIGFwcGVhciBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgZWxlbWVudHNcbiAqICAgIHRoYXQgcmVjZWl2ZSB0aGUgYGNsZWFyZml4YCBjbGFzcy5cbiAqIDIuIFRoZSB1c2Ugb2YgYHRhYmxlYCByYXRoZXIgdGhhbiBgYmxvY2tgIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIHVzaW5nXG4gKiAgICBgOmJlZm9yZWAgdG8gY29udGFpbiB0aGUgdG9wLW1hcmdpbnMgb2YgY2hpbGQgZWxlbWVudHMuXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxNzlcbiAqL1xuXG5AbWl4aW4gY2xlYXJmaXgoKSB7XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxufVxuIiwiLy8vIHBvbHktZmx1aWQtc2l6aW5nXG4vLy8gR2VuZXJhdGUgbGluZWFyIGludGVycG9sYXRlZCBzaXplIHZhbHVlcyB0aHJvdWdoIG11bHRpcGxlIGJyZWFrIHBvaW50c1xuLy8vIEBwYXJhbSAkcHJvcGVydHkgLSBBIHN0cmluZyBDU1MgcHJvcGVydHkgbmFtZVxuLy8vIEBwYXJhbSAkbWFwIC0gQSBTQVNTIG1hcCBvZiB2aWV3cG9ydCB1bml0IGFuZCBzaXplIHZhbHVlIHBhaXJzXG4vLy8gQHJlcXVpcmVzIGZ1bmN0aW9uIGxpbmVhci1pbnRlcnBvbGF0aW9uXG4vLy8gQHJlcXVpcmVzIGZ1bmN0aW9uIG1hcC1zb3J0XG4vLy8gQGV4YW1wbGVcbi8vLyAgIEBpbmNsdWRlIHBvbHktZmx1aWQtc2l6aW5nKCdmb250LXNpemUnLCAoNTc2cHg6IDIycHgsIDc2OHB4OiAyNHB4LCA5OTJweDogMzRweCkpO1xuLy8vIEBhdXRob3IgSmFrZSBXaWxzb24gPGpha2UuZS53aWxzb25AZ21haWwuY29tPlxuQG1peGluIHBvbHktZmx1aWQtc2l6aW5nKCRwcm9wZXJ0eSwgJG1hcCkge1xuICAgIC8vIEdldCB0aGUgbnVtYmVyIG9mIHByb3ZpZGVkIGJyZWFrcG9pbnRzXG4gICAgJGxlbmd0aDogbGVuZ3RoKG1hcC1rZXlzKCRtYXApKTtcblxuICAgIC8vIEVycm9yIGlmIHRoZSBudW1iZXIgb2YgYnJlYWtwb2ludHMgaXMgPCAyXG4gICAgQGlmICgkbGVuZ3RoIDwgMikge1xuICAgICAgICBAZXJyb3IgXCJwb2x5LWZsdWlkLXNpemluZygpICRtYXAgcmVxdWlyZXMgYXQgbGVhc3QgdmFsdWVzXCI7XG4gICAgfVxuXG4gICAgLy8gU29ydCB0aGUgbWFwIGJ5IHZpZXdwb3J0IHdpZHRoIChrZXkpXG4gICAgJG1hcDogbWFwLXNvcnQoJG1hcCk7XG4gICAgJGtleXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICAgLy8gTWluaW11bSBzaXplXG4gICAgI3skcHJvcGVydHl9OiBtYXAtZ2V0KCRtYXAsIG50aCgka2V5cywgMSkpO1xuXG4gICAgLy8gSW50ZXJwb2xhdGVkIHNpemUgdGhyb3VnaCBicmVha3BvaW50c1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRsZW5ndGggLSAxKSB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBudGgoJGtleXMsJGkpKSB7XG4gICAgICAgICAgICAjeyRwcm9wZXJ0eX06IGxpbmVhci1pbnRlcnBvbGF0aW9uKFxuICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgbnRoKCRrZXlzLCAkaSk6IG1hcC1nZXQoJG1hcCwgbnRoKCRrZXlzLCAkaSkpLFxuICAgICAgICAgICAgICAgICAgICBudGgoJGtleXMsICgkaSArIDEpKTogbWFwLWdldCgkbWFwLCBudGgoJGtleXMsICgkaSArIDEpKSksXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1heG1pbXVtIHNpemVcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogbnRoKCRrZXlzLCRsZW5ndGgpKSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogbWFwLWdldCgkbWFwLCBudGgoJGtleXMsICRsZW5ndGgpKTtcbiAgICB9XG59XG5cbi8vLyBsaW5lYXItaW50ZXJwb2xhdGlvblxuLy8vIENhbGN1bGF0ZSB0aGUgZGVmaW5pdGlvbiBvZiBhIGxpbmUgYmV0d2VlbiB0d28gcG9pbnRzXG4vLy8gQHBhcmFtICRtYXAgLSBBIFNBU1MgbWFwIG9mIHZpZXdwb3J0IHdpZHRocyBhbmQgc2l6ZSB2YWx1ZSBwYWlyc1xuLy8vIEByZXR1cm5zIEEgbGluZWFyIGVxdWF0aW9uIGFzIGEgY2FsYygpIGZ1bmN0aW9uXG4vLy8gQGV4YW1wbGVcbi8vLyAgIGZvbnQtc2l6ZTogbGluZWFyLWludGVycG9sYXRpb24oKDMyMHB4OiAxOHB4LCA3NjhweDogMjZweCkpO1xuLy8vIEBhdXRob3IgSmFrZSBXaWxzb24gPGpha2UuZS53aWxzb25AZ21haWwuY29tPlxuQGZ1bmN0aW9uIGxpbmVhci1pbnRlcnBvbGF0aW9uKCRtYXApIHtcbiAgICAka2V5czogbWFwLWtleXMoJG1hcCk7XG4gICAgQGlmIChsZW5ndGgoJGtleXMpICE9IDIpIHtcbiAgICAgICAgQGVycm9yIFwibGluZWFyLWludGVycG9sYXRpb24oKSAkbWFwIG11c3QgYmUgZXhhY3RseSAyIHZhbHVlc1wiO1xuICAgIH1cbiAgICAvLyBUaGUgc2xvcGVcbiAgICAkbTogKG1hcC1nZXQoJG1hcCwgbnRoKCRrZXlzLCAyKSkgLSBtYXAtZ2V0KCRtYXAsIG50aCgka2V5cywgMSkpKSAvXG4gICAgICAgIChudGgoJGtleXMsIDIpIC0gbnRoKCRrZXlzLCAxKSk7XG5cbiAgICAvLyBUaGUgeS1pbnRlcmNlcHRcbiAgICAkYjogbWFwLWdldCgkbWFwLCBudGgoJGtleXMsIDEpKSAtICRtICogbnRoKCRrZXlzLCAxKTtcblxuICAgIC8vIERldGVybWluZSBpZiB0aGUgc2lnbiBzaG91bGQgYmUgcG9zaXRpdmUgb3IgbmVnYXRpdmVcbiAgICAkc2lnbjogJysnO1xuICAgIEBpZiAoJGIgPCAwKSB7XG4gICAgICAgICRzaWduOiAnLSc7XG4gICAgICAgICRiOiBhYnMoJGIpO1xuICAgIH1cblxuICAgIEByZXR1cm4gY2FsYygjeyRtICogMTAwfXZ3ICN7JHNpZ259ICN7JGJ9KTtcbn1cblxuLy8vIGxpc3Qtc29ydFxuLy8vIFNvcnQgYSBTQVNTIGxpc3Rcbi8vLyBAcGFyYW0gJGxpc3QgLSBBIFNBU1MgbGlzdFxuLy8vIEByZXR1cm5zIEEgc29ydGVkIFNBU1MgbGlzdFxuLy8vIEByZXF1aXJlcyBmdW5jdGlvbiBsaXN0LXJlbW92ZVxuLy8vIEBhdXRob3IgSmFrZSBXaWxzb24gPGpha2UuZS53aWxzb25AZ21haWwuY29tPlxuQGZ1bmN0aW9uIGxpc3Qtc29ydCgkbGlzdCkge1xuICAgICRzb3J0ZWRsaXN0OiAoKTtcbiAgICBAd2hpbGUgbGVuZ3RoKCRsaXN0KSA+IDAge1xuICAgICAgICAkdmFsdWU6IG50aCgkbGlzdCwgMSk7XG4gICAgICAgIEBlYWNoICRpdGVtIGluICRsaXN0IHtcbiAgICAgICAgICAgIEBpZiAkaXRlbSA8ICR2YWx1ZSB7XG4gICAgICAgICAgICAgICAgJHZhbHVlOiAkaXRlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAkc29ydGVkbGlzdDogYXBwZW5kKCRzb3J0ZWRsaXN0LCAkdmFsdWUsICdzcGFjZScpO1xuICAgICAgICAkbGlzdDogbGlzdC1yZW1vdmUoJGxpc3QsIGluZGV4KCRsaXN0LCAkdmFsdWUpKTtcbiAgICB9XG4gICAgQHJldHVybiAkc29ydGVkbGlzdDtcbn1cblxuLy8vIG1hcC1zb3J0XG4vLy8gU29ydCBtYXAgYnkga2V5c1xuLy8vIEBwYXJhbSAkbWFwIC0gQSBTQVNTIG1hcFxuLy8vIEByZXR1cm5zIEEgU0FTUyBtYXAgc29ydGVkIGJ5IGtleXNcbi8vLyBAcmVxdWlyZXMgZnVuY3Rpb24gbGlzdC1zb3J0XG4vLy8gQGF1dGhvciBKYWtlIFdpbHNvbiA8amFrZS5lLndpbHNvbkBnbWFpbC5jb20+XG5AZnVuY3Rpb24gbWFwLXNvcnQoJG1hcCkge1xuICAgICRrZXlzOiBsaXN0LXNvcnQobWFwLWtleXMoJG1hcCkpO1xuICAgICRzb3J0ZWRNYXA6ICgpO1xuICAgIEBlYWNoICRrZXkgaW4gJGtleXMge1xuICAgICAgICAkc29ydGVkTWFwOiBtYXAtbWVyZ2UoXG4gICAgICAgICAgICAkc29ydGVkTWFwLFxuICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICRrZXk6IG1hcC1nZXQoJG1hcCwgJGtleSksXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuICAgIEByZXR1cm4gJHNvcnRlZE1hcDtcbn1cblxuLy8vIGxpc3QtcmVtb3ZlXG4vLy8gUmVtb3ZlIGFuIGl0ZW0gZnJvbSBhIGxpc3Rcbi8vLyBAcGFyYW0gJGxpc3QgLSBBIFNBU1MgbGlzdFxuLy8vIEBwYXJhbSAkaW5kZXggLSBUaGUgbGlzdCBpbmRleCB0byByZW1vdmVcbi8vLyBAcmV0dXJucyBBIFNBU1MgbGlzdFxuLy8vIEBhdXRob3IgSmFrZSBXaWxzb24gPGpha2UuZS53aWxzb25AZ21haWwuY29tPlxuQGZ1bmN0aW9uIGxpc3QtcmVtb3ZlKCRsaXN0LCAkaW5kZXgpIHtcbiAgICAkbmV3TGlzdDogKCk7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJGxpc3QpIHtcbiAgICAgICAgQGlmICRpICE9ICRpbmRleCB7XG4gICAgICAgICAgICAkbmV3TGlzdDogYXBwZW5kKCRuZXdMaXN0LCBudGgoJGxpc3QsICRpKSwgJ3NwYWNlJyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQHJldHVybiAkbmV3TGlzdDtcbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5jcy1oZWFkbGluZSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY2xlYXI6IGJvdGg7XG4gIHBhZGRpbmc6IDJlbSAwO1xuICBtYXJnaW46IDJlbSAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCAwIDNyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtaGVhZGxpbmUge1xuICAgICAgbWFyZ2luOiAwIDAgNHJlbTsgfSB9XG4gIC5jcy1oZWFkbGluZS0tc2tpcC1zcGFjaW5nIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNzLWhlYWRsaW5lX190aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMi42ZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzIxMjEyMTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtaGVhZGxpbmVfX3RpdGxlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gIC5jcy1oZWFkbGluZV9fc3VidGl0bGUge1xuICAgIGNvbG9yOiAjNkU2RTZFO1xuICAgIGZvbnQtc2l6ZTogMS4zZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWhlYWRsaW5lX19zdWJ0aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG5AbWl4aW4gaGVhZGxpbmUtaG9vaygpIHtcbn1cblxuQG1peGluIGhlYWRsaW5lLXRpdGxlLWhvb2soKSB7XG59XG5cbkBtaXhpbiBoZWFkbGluZS1zdWJ0aXRsZS1ob29rKCkge1xufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvY29tcG9uZW50LXNwYWNpbmcnO1xuQGltcG9ydCAnY29tcG9uZW50cy9oZWFkbGluZS9taXhpbic7XG5cbi4jeyRuc31oZWFkbGluZSB7XG4gICAgQGluY2x1ZGUgaGVhZGxpbmUoKTtcblxuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgQGluY2x1ZGUgY29tcG9uZW50LXNwYWNpbmcoKTtcblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgaGVhZGxpbmUtdGl0bGUoKTtcbiAgICB9XG5cbiAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGhlYWRsaW5lLXN1YnRpdGxlKCk7XG4gICAgfVxufVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy9oZWFkbGluZS9ob29rJztcblxuJGhlYWRsaW5lX3RpdGxlLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kaGVhZGxpbmVfdGl0bGUtZm9udC1zaXplOiAyLjZlbSAhZGVmYXVsdDtcbiRoZWFkbGluZV90aXRsZS1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuJGhlYWRsaW5lX3RpdGxlLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xuLy8gU2hvdyBmbGV4aWJsZSBkZWNvcmF0aW9uIGxpbmVzIGF0IHRoZSBzaWRlcyBvZiB0aGUgdGl0bGUuXG4kaGVhZGxpbmVfdGl0bGUtbGluZXMtZW5hYmxlZDogZmFsc2UgIWRlZmF1bHQ7XG4kaGVhZGxpbmVfdGl0bGUtbGluZXMtY29sb3I6ICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuXG4kaGVhZGxpbmVfc3VidGl0bGUtY29sb3I6ICRjb2xvcl9ib3JkZXItNzAwICFkZWZhdWx0O1xuJGhlYWRsaW5lX3N1YnRpdGxlLWZvbnQtc2l6ZTogMS4zZW0gIWRlZmF1bHQ7XG4kaGVhZGxpbmVfc3VidGl0bGUtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcbiRoZWFkbGluZV9zdWJ0aXRsZS10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcbiRoZWFkbGluZV9zdWJ0aXRsZS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoZWFkbGluZSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIHBhZGRpbmc6IDJlbSAwO1xuICAgIG1hcmdpbjogMmVtIDA7XG5cbiAgICBAaW5jbHVkZSBoZWFkbGluZS1ob29rKCk7XG59XG5cbkBtaXhpbiBoZWFkbGluZS10aXRsZShcbiAgICAkY29sb3I6ICRoZWFkbGluZV90aXRsZS1jb2xvcixcbiAgICAkZm9udC1zaXplOiAkaGVhZGxpbmVfdGl0bGUtZm9udC1zaXplLFxuICAgICRmb250LXdlaWdodDogJGhlYWRsaW5lX3RpdGxlLWZvbnQtd2VpZ2h0LFxuICAgICR0ZXh0LXRyYW5zZm9ybTogJGhlYWRsaW5lX3RpdGxlLXRleHQtdHJhbnNmb3JtLFxuICAgICRsaW5lcy1lbmFibGVkOiAkaGVhZGxpbmVfdGl0bGUtbGluZXMtZW5hYmxlZCxcbiAgICAkbGluZXMtY29sb3I6ICRoZWFkbGluZV90aXRsZS1saW5lcy1jb2xvclxuKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgdGV4dC10cmFuc2Zvcm06ICR0ZXh0LXRyYW5zZm9ybTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICBAaWYgJGxpbmVzLWVuYWJsZWQge1xuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaW5lcy1jb2xvcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMC42ZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBoZWFkbGluZS10aXRsZS1ob29rKCk7XG59XG5cbkBtaXhpbiBoZWFkbGluZS1zdWJ0aXRsZShcbiAgICAkY29sb3I6ICRoZWFkbGluZV9zdWJ0aXRsZS1jb2xvcixcbiAgICAkZm9udC1zaXplOiAkaGVhZGxpbmVfc3VidGl0bGUtZm9udC1zaXplLFxuICAgICRmb250LXdlaWdodDogJGhlYWRsaW5lX3N1YnRpdGxlLWZvbnQtd2VpZ2h0LFxuICAgICR0ZXh0LXRyYW5zZm9ybTogJGhlYWRsaW5lX3N1YnRpdGxlLXRleHQtdHJhbnNmb3JtXG4pIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiAkdGV4dC10cmFuc2Zvcm07XG4gICAgbWFyZ2luOiAkaGVhZGxpbmVfc3VidGl0bGUtbWFyZ2luO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBoZWFkbGluZS1zdWJ0aXRsZS1ob29rKCk7XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIE1peGlucyBmb3IgZmxleGlibGUgY29udGFpbmVycyBkZWNsYXJhdGlvbi5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIHBhZ2UgY29udGFpbmVyLiBUaGlzIG1peGluIG1ha2VzIHN1cmUgdGhhdCB0aGUgY29udGVudCBoYXMgYWx3YXlzIGVxdWFsIHBhZGRpbmdcbiAqIGZvciBtb2JpbGUgc2NyZWVucyBvbiBib3RoIHNpemUgb2YgdGhlIGRldmljZS5cbiAqL1xuLyoqXG4gKiBOZWdhdGVzIHBhcmVudCBjb250YWluZXIncyBwYWRkaW5nIGFuZCBzZXRzIGl0IG93bi5cbiAqIFNvbWV0aGltZXMgdGhpcyBoYXMgdG8gYmUgZG9uZSB0byBtYWtlIGJhY2tncm91bmQgZXZlbiB0byBvdGhlciBjb250YWluZXJzJyBjb250ZW50LlxuICovXG4vKipcbiAqIERlZmluZXMgY29udGFpbmVyIHdyYXBwZXIgdGhhdCBtYWtlcyBzdXJlIGNvbnRuZXQgZG9lc24ndCBleHRlbmQgYWJvdmUgY2VydGFpbiB3aWR0aCBhbmQgaXMgYWx3YXlzIGNlbnRlcmVkLlxuICovXG4uY3MtY29udGFpbmVyLS1oZWFkZXItY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2hlYWRlci1iZy1pbWFnZS5qcGdcIikgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cblxuLmNzLWNvbnRhaW5lci0tdG9wLWJhciwgLmNzLWNvbnRhaW5lci0taGVhZGVyIHtcbiAgbWF4LXdpZHRoOiAxNDIwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIDE1cHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAuY3MtY29udGFpbmVyLS10b3AtYmFyLCAuY3MtY29udGFpbmVyLS1oZWFkZXIge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi5jcy1jb250YWluZXJfX25hdmlnYXRpb24taW5uZXIge1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmNzLWhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgIC5jcy1oZWFkZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDZweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDcxcHg7IH0gfVxuICAuY3MtaGVhZGVyX19jb250ZW50IHtcbiAgICB6LWluZGV4OiAzMDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWxsLWNoYW5nZTogei1pbmRleCwgaGVpZ2h0LCBwb3NpdGlvbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgLmNzLWhlYWRlcl9fY29udGVudCB7XG4gICAgcGFkZGluZzogMCA4cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtaGVhZGVyX19jb250ZW50IC5jcy1oZWFkZXJfX29mZmNhbnZhcy10b2dnbGUge1xuICAgICAgICBvcmRlcjogMTsgfVxuICAgICAgLmNzLWhlYWRlcl9fY29udGVudCAuY3MtaGVhZGVyX19sb2dvIHtcbiAgICAgICAgb3JkZXI6IDI7IH1cbiAgICAgIC5jcy1oZWFkZXJfX2NvbnRlbnQgLmNzLWhlYWRlci11c2VyLW5hdiB7XG4gICAgICAgIG9yZGVyOiAzOyB9IH1cbiAgLmNzLWhlYWRlcl9fb2ZmY2FudmFzLXRvZ2dsZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXg6IDAgMSA1NXB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXJfX29mZmNhbnZhcy10b2dnbGUge1xuICAgICAgICBmbGV4OiAwIDEgNzVweDsgfVxuICAgICAgICAuY3MtaGVhZGVyX19vZmZjYW52YXMtdG9nZ2xlIC5jcy1vZmZjYW52YXMtdG9nZ2xlIHtcbiAgICAgICAgICB3aWR0aDogNTVweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXJfX29mZmNhbnZhcy10b2dnbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmNzLWhlYWRlcl9fbG9nbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAuY3MtaGVhZGVyX19sb2dvIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtaGVhZGVyX19sb2dvIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTEzcHg7XG4gICAgICAgIG1heC13aWR0aDogMjYwcHg7XG4gICAgICAgIHdpZHRoOiAyNXZ3OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgICAgLmNzLWhlYWRlcl9fbG9nbyAuY3MtbG9nbyB7XG4gICAgICAgIG1heC13aWR0aDogMTk1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtaGVhZGVyX19sb2dvIC5jcy1sb2dvIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDsgfSB9XG4gICAgLnBhZ2UtcHJpbnQgLmNzLWhlYWRlcl9fbG9nbyB7XG4gICAgICBtYXgtd2lkdGg6IDEyNHJlbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBwYWRkaW5nOiAycmVtIDA7IH1cbiAgICAgIC5wYWdlLXByaW50IC5jcy1oZWFkZXJfX2xvZ286YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmNzLWhlYWRlcl9fbG9nbyAuY3MtbG9nb19faW1hZ2Uge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NC4wMWVtKSB7XG4gICAgICAgIC5jcy1oZWFkZXJfX2xvZ28gLmNzLWxvZ29fX2ltYWdlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9IH1cbiAgLmNzLWhlYWRlcl9fc2VhcmNoIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkU2RTZFO1xuICAgIHBhZGRpbmc6IDEuNnJlbSAxLjVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNjBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDMwMDtcbiAgICBtYXJnaW4tcmlnaHQ6IC02LjhyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWhlYWRlcl9fc2VhcmNoIHtcbiAgICAgICAgdG9wOiA2NHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWhlYWRlcl9fc2VhcmNoIHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMCA1NXB4IDAgNTBweDtcbiAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5pZTExIC5jcy1oZWFkZXJfX3NlYXJjaCB7XG4gICAgICAgICAgcG9zaXRpb246IGluaGVyaXQ7XG4gICAgICAgICAgdG9wOiBpbmhlcml0OyB9IH1cbiAgICAuY3MtaGVhZGVyX19zZWFyY2gtLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXJfX3NlYXJjaCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtaGVhZGVyX19zZWFyY2gge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogaW5pdGlhbDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXJfX3NlYXJjaCB7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5jcy1oZWFkZXJfX3VzZXItbmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZmxleDogMCAxIDc1cHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWhlYWRlcl9fdXNlci1uYXYge1xuICAgICAgICBmbGV4OiAwIDEgMjUlOyB9IH1cbiAgLmNzLWhlYWRlciAudG9wLWxpbmtzX19waG9uZS1pY29uIHtcbiAgICBsZXR0ZXItc3BhY2luZzogMC40cHg7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3RlbGVwaG9uZTY2LnN2Z1wiKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxOHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgNDklO1xuICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgIHBhZGRpbmc6IDIwcHggMjJweCAyMHB4IDI1cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgICAgLmNzLWhlYWRlciAudG9wLWxpbmtzX19waG9uZS1pY29uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRhaW5lci9taXhpbic7XG5cbiRoZWFkZXJfZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuJGhlYWRlcl9ib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci0yMDAgIWRlZmF1bHQ7XG5cbiRoZWFkZXJfaXMtc3RpY2t5LW9uLW1vYmlsZTogdHJ1ZSAhZGVmYXVsdDtcbiRoZWFkZXJfYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuXG4vLyBIb3Jpem9udGFsIGFsaWduIG9mIHRoZSBzZWFyY2hib3ggaWYgaXQncyBkaXNwbGF5ZWQgYXMgYSBsYXllciAtIGAkZ2xvYmFsX2hlYWRlci1zZWFyY2hib3gtYXMtbGF5ZXItYnJlYWtwb2ludGBcbiRoZWFkZXJfc2VhcmNoYm94LWp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWRlZmF1bHQ7XG5cbi8vIElmIHlvdSB3YW50IHRvIGNvdmVyICdzZWFyY2gnIGl0ZW0gaW4gaGVhZGVyIGJ5IHNlYXJjaGJveCwgcHJvdmlkZSBwcm9wZXIgbmVnYXRpdmUgbWFyZ2luIGJhc2VkIG9uIHlvdXIgZGVzaWduXG4vLyBJdCB3b3JrcyBvbmx5IGlmICckZ2xvYmFsX2hlYWRlci1zZWFyY2hib3gtYXMtbGF5ZXItYnJlYWtwb2ludCcgaGFzIHZhbGlkIGJyZWFrcG9pbnQgYW5kIGAkaGVhZGVyX3NlYXJjaGJveC1qdXN0aWZ5LWNvbnRlbnRgID0gZmxleC1lbmRcbiRoZWFkZXJfc2VhcmNoYm94LW1hcmdpbi10by1jb3Zlci1zZWFyY2gtaXRlbTogLTYuOHJlbSAhZGVmYXVsdDtcblxuLiN7JG5zfWNvbnRhaW5lciB7XG4gICAgJi0taGVhZGVyLWNvbnRhaW5lciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9oZWFkZXItYmctaW1hZ2UuanBnXCIpIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIH1cblxuICAgICYtLXRvcC1iYXIsXG4gICAgJi0taGVhZGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNDIwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbmF2aWdhdGlvbi1pbm5lclxuICAgIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbn1cbi4jeyRuc31oZWFkZXIge1xuICAgICRyb290OiAmO1xuICAgIGZvbnQtc2l6ZTogJGhlYWRlcl9mb250LXNpemU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDZweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNzFweDtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgei1pbmRleDogMzAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHdpbGwtY2hhbmdlOiB6LWluZGV4LCBoZWlnaHQsIHBvc2l0aW9uO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgLmNzLWhlYWRlcl9fb2ZmY2FudmFzLXRvZ2dsZSB7XG4gICAgICAgICAgICAgICAgb3JkZXI6MTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jcy1oZWFkZXJfX2xvZ28ge1xuICAgICAgICAgICAgICAgIG9yZGVyOjI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY3MtaGVhZGVyLXVzZXItbmF2IHtcbiAgICAgICAgICAgICAgICBvcmRlcjozO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fb2ZmY2FudmFzLXRvZ2dsZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZmxleDogMCAxIDU1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgZmxleDogMCAxIDc1cHg7XG4gICAgICAgICAgICAuY3Mtb2ZmY2FudmFzLXRvZ2dsZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDU1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbG9nbyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTEzcHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI2MHB4O1xuICAgICAgICAgICAgd2lkdGg6IDI1dnc7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtbG9nbyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE5NXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdlLXByaW50ICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyLXdyYXBwZXIoKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMDtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtbG9nb19faW1hZ2Uge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zZWFyY2gge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9ncmF5O1xuICAgICAgICBwYWRkaW5nOiAxLjZyZW0gMS41cmVtO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNjBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDMwMDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICB0b3A6IDY0cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNTVweCAwIDUwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRoZWFkZXJfc2VhcmNoYm94LWp1c3RpZnktY29udGVudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICB0b3A6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1hY3RpdmUge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItaGlkZS1zZWFyY2gtaXRlbS10cmlnZ2VyLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItaGlkZS1zZWFyY2gtaXRlbS10cmlnZ2VyLWJyZWFrcG9pbnQgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcbiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbF9oZWFkZXItaGlkZS1zZWFyY2gtaXRlbS10cmlnZ2VyLWJyZWFrcG9pbnRcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLXNlYXJjaGJveC1hcy1sYXllci1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFxuICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbF9oZWFkZXItc2VhcmNoYm94LWFzLWxheWVyLWJyZWFrcG9pbnRcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKFxuICAgICAgICAgICAgJGdsb2JhbF9oZWFkZXItaGlkZS1zZWFyY2gtaXRlbS10cmlnZ2VyLWJyZWFrcG9pbnQgYW5kXG4gICAgICAgICAgICAgICAgJGhlYWRlcl9zZWFyY2hib3gtanVzdGlmeS1jb250ZW50ID09XG4gICAgICAgICAgICAgICAgJ2ZsZXgtZW5kJ1xuICAgICAgICApIHtcbiAgICAgICAgICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItaGlkZS1zZWFyY2gtaXRlbS10cmlnZ2VyLWJyZWFrcG9pbnQgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGhlYWRlcl9zZWFyY2hib3gtbWFyZ2luLXRvLWNvdmVyLXNlYXJjaC1pdGVtO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXG4gICAgICAgICAgICAgICAgICAgICRnbG9iYWxfaGVhZGVyLWhpZGUtc2VhcmNoLWl0ZW0tdHJpZ2dlci1icmVha3BvaW50XG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQGlmICgkaGVhZGVyX3NlYXJjaGJveC1qdXN0aWZ5LWNvbnRlbnQgPT0gJ2ZsZXgtZW5kJykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGhlYWRlcl9zZWFyY2hib3gtbWFyZ2luLXRvLWNvdmVyLXNlYXJjaC1pdGVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdXNlci1uYXYge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBmbGV4OiAwIDEgNzVweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgMjUlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1saW5rc19fcGhvbmUtaWNvbiB7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjRweDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3RlbGVwaG9uZTY2LnN2Z1wiKSBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMThweDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCA0OSU7XG4gICAgICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAkY29sb3Jfd2hpdGU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDIycHggMjBweCAyNXB4O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpZiBub3QoJGhlYWRlcl9pcy1zdGlja3ktb24tbW9iaWxlKSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgIC5jcy1jb250YWluZXItLWhlYWRlciB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyczpcbiAqIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKlxuICogMS4gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAqICAgIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICogICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyNMMTMwXG4gKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBSYWRpbyBhbmQgY2hlY2tib3ggc3R5bGluZyAqL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5jcy1oZWFkZXItc2VhcmNoIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY3MtaGVhZGVyLXNlYXJjaCAuZmlsbGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDJweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtaGVhZGVyLXNlYXJjaCB7XG4gICAgICBtYXgtd2lkdGg6IDYwNXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtaGVhZGVyLXNlYXJjaCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1pbi13aWR0aDogMzV2dzsgfSB9XG4gIC5jcy1oZWFkZXItc2VhcmNoX19maWVsZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7IH1cbiAgICAuYWN0aXZlLXBvcHVwIC5jcy1oZWFkZXItc2VhcmNoX19maWVsZDpiZWZvcmUsIC5hY3RpdmUtcG9wdXAgLmNzLWhlYWRlci1zZWFyY2hfX2ZpZWxkOmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLmNzLWhlYWRlci1zZWFyY2hfX2lucHV0IHtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBwYWRkaW5nOiAxMXB4IDEwcHg7XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjVzO1xuICAgIG1hcmdpbjogMCAwIDAuMmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDQwcHg7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBwYWRkaW5nOiAxLjJyZW0gMXJlbTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvc2VhcmNoMTkuc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDIwcHggY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDIxMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1sZWZ0OiA0M3B4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDExMHB4O1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19pbnB1dDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1oZWFkZXItc2VhcmNoX19pbnB1dDpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0ZGNDYwNDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuY3MtaGVhZGVyLXNlYXJjaF9faW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjb2xvcjogIzZFNkU2RTsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19pbnB1dFtkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTsgfVxuICAgIC5hamF4LWxvYWRpbmcgLmNzLWhlYWRlci1zZWFyY2hfX2lucHV0OmZvY3VzICsgLmNzLWhlYWRlci1zZWFyY2hfX2FjdGlvbiAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWNvbnRhaW5lci0tc2VhcmNoIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuYWpheC1sb2FkaW5nIC5jcy1oZWFkZXItc2VhcmNoX19pbnB1dDpmb2N1cyArIC5jcy1oZWFkZXItc2VhcmNoX19hY3Rpb24gLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1jb250YWluZXItLWxvYWRlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5jcy1oZWFkZXItc2VhcmNoX19hY3Rpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDIyMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDI1cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDI1cHg7IH1cbiAgLmNzLWhlYWRlci1zZWFyY2hfX2Nsb3NlLWljb24ge1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgb3BhY2l0eTogMC42O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBsaW5lYXI7IH1cbiAgICAuY3MtaGVhZGVyLXNlYXJjaF9fY2xvc2UtaWNvbjpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmNzLWhlYWRlci1zZWFyY2hfX2Nsb3NlLWljb24gcGF0aCB7XG4gICAgICBmaWxsOiAjM0UzRTNFOyB9XG4gIC5jcy1oZWFkZXItc2VhcmNoX19jbG9zZS1sYWJlbCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC8qIDEgKi8gfVxuICAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgY3ViaWMtYmV6aWVyKDAsIDAuNjYsIDAuMzIsIDAuOTkpLCBvcGFjaXR5IDAuMTVzIGxpbmVhcjsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b24tY29udGFpbmVyLS1zZWFyY2gge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gICAgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1jb250YWluZXItLWxvYWRlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICAgIHBhZGRpbmc6IDhweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yO1xuICAgIHdpZHRoOiAxMDVweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMjVweDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XG4gICAgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi5tZWRpdW0ge1xuICAgICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLmxhcmdlIHtcbiAgICAgIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gICAgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbiwgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbjp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0OyB9XG4gICAgICAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uICosIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b246dmlzaXRlZCAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY3NDQyOyB9XG4gICAgICAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICAgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNzsgfVxuICAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWljb24ge1xuICAgIHRyYW5zZm9ybTogc2tldygxOGRlZykgdHJhbnNsYXRlWCgtMC4zcmVtKTsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b24taWNvbi0tc2VhcmNoIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWljb24tLWxvYWRlciB7XG4gICAgICBzdHJva2U6ICNmZmZmZmY7XG4gICAgICB3aWR0aDogMy4ycmVtO1xuICAgICAgaGVpZ2h0OiAzLjJyZW07IH1cbiAgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1sYWJlbCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC00cHg7IH1cbiAgLmNzLWhlYWRlci1zZWFyY2hfX2F1dG9jb21wbGV0ZSB7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7IH1cbiAgICAuY3MtaGVhZGVyLXNlYXJjaF9fYXV0b2NvbXBsZXRlIC5vbGQtcHJpY2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXItc2VhcmNoX19hdXRvY29tcGxldGUge1xuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKCAxMDB2aCAtIDVyZW0gLSAxLjI3NWVtIC0gN3JlbSk7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtaGVhZGVyLXNlYXJjaF9fYXV0b2NvbXBsZXRlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTcpO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3V0aWxzL3Zpc3VhbGx5LWhpZGRlbic7XG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmllbGQvbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuXG4kaGVhZGVyLXNlYXJjaF9oZWlnaHQ6IDIuODc1ZW0gIWRlZmF1bHQ7XG4kaGVhZGVyLXNlYXJjaF9mb250LXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcblxuLy8gV2lkdGggb2YgdGhlIHNlYXJjaCBmaWVsZC4gV29ya3Mgb25seSBmb3IgYCRnbG9iYWxfaGVhZGVyLXNlYXJjaGJveC1hcy1sYXllci1icmVha3BvaW50YCBicmVha3BvaW50LCBpbiBvdGhlciBjYXNlIGl0J3MgYWx3YXlzIDEwMCVcbiRoZWFkZXItc2VhcmNoLXdpZHRoLWFzLWxheWVyOiA0Mi43dncgIWRlZmF1bHQ7XG5cbiRoZWFkZXItc2VhcmNoX2Nsb3NlLWNvbG9yOiAkY29sb3JfdGV4dC00MDAgIWRlZmF1bHQ7XG5cbiRoZWFkZXItc2VhcmNoX2J1dHRvbi10eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSAhZGVmYXVsdDtcbiRoZWFkZXItc2VhcmNoX2J1dHRvbi13aWR0aDogMTA1cHggIWRlZmF1bHQ7XG4kaGVhZGVyLXNlYXJjaF9idXR0b24tYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50ICFkZWZhdWx0O1xuJGhlYWRlci1zZWFyY2hfYnV0dG9uLXRyYW5zZm9ybTogJHRyYW5zZm9ybV9za2V3LTQwMCB0cmFuc2xhdGVYKDAuN3JlbSkgIWRlZmF1bHQ7XG5cbiRoZWFkZXItc2VhcmNoX2ljb24tc2VhcmNoLWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kaGVhZGVyLXNlYXJjaF9pY29uLXNlYXJjaC1jb2xvci1ob3ZlcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGhlYWRlci1zZWFyY2hfaWNvbi1sb2FkZXItY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRoZWFkZXItc2VhcmNoX2ljb24tdHJhbnNmb3JtOiAkdHJhbnNmb3JtX3NrZXctNDAwLXJldmVydCB0cmFuc2xhdGVYKC0wLjNyZW0pICFkZWZhdWx0O1xuXG4kaGVhZGVyLXNlYXJjaF9idXR0b24tY29udGFpbmVyLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzXG4gICAgICAgICR0cmFuc2l0aW9uLWVhc2luZ19zbG93ZG93bi05MDAsXG4gICAgb3BhY2l0eSAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbiRoZWFkZXItc2VhcmNoX2F1dG9jb21wbGV0ZS1ib3gtc2hhZG93OiAwIDRweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjE3KSAhZGVmYXVsdDtcbiRoZWFkZXItc2VhcmNoX2F1dG9jb21wbGV0ZS1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG5cbiRoZWFkZXItc2VhcmNoLWJvcmRlci1yYWRpdXNfYmFzZTogMjVweDtcblxuLiN7JG5zfWhlYWRlci1zZWFyY2gge1xuICAgICRyb290OiAmO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5maWxsZXIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAycHg7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICBtYXgtd2lkdGg6IDYwNXB4O1xuICAgIH1cblxuICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItc2VhcmNoYm94LWFzLWxheWVyLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGdsb2JhbF9oZWFkZXItc2VhcmNoYm94LWFzLWxheWVyLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAzNXZ3O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZmllbGQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRoZWFkZXItc2VhcmNoLWJvcmRlci1yYWRpdXNfYmFzZTtcbiAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1zZWFyY2hib3gtYXMtbGF5ZXItYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgLmFjdGl2ZS1wb3B1cCAmIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbnB1dCB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLWlucHV0KCk7XG4gICAgICAgIHBhZGRpbmc6IDEuMnJlbSAxcmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvc2VhcmNoMTkuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1cHg7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDIwcHggY2VudGVyO1xuICAgICAgICBmb250LXNpemU6ICRoZWFkZXItc2VhcmNoX2ZvbnQtc2l6ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGhlYWRlci1zZWFyY2gtYm9yZGVyLXJhZGl1c19iYXNlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDIxMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQzcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDExMHB4O1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICsgI3skcm9vdH1fX2FjdGlvbiB7XG4gICAgICAgICAgICAgICAgLmFqYXgtbG9hZGluZyAmIHtcbiAgICAgICAgICAgICAgICAgICAgI3skcm9vdH1fX2J1dHRvbi1jb250YWluZXItLXNlYXJjaCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgI3skcm9vdH1fX2J1dHRvbi1jb250YWluZXItLWxvYWRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWN0aW9uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHotaW5kZXg6IDIyMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGhlYWRlci1zZWFyY2gtYm9yZGVyLXJhZGl1c19iYXNlO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGhlYWRlci1zZWFyY2gtYm9yZGVyLXJhZGl1c19iYXNlO1xuICAgIH1cblxuICAgICZfX2Nsb3NlLWljb24ge1xuICAgICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBsaW5lYXI7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICBmaWxsOiAkaGVhZGVyLXNlYXJjaF9jbG9zZS1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Nsb3NlLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdHJhbnNpdGlvbjogJGhlYWRlci1zZWFyY2hfYnV0dG9uLWNvbnRhaW5lci10cmFuc2l0aW9uO1xuXG4gICAgICAgICYtLXNlYXJjaCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1sb2FkZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgJHR5cGU6ICRoZWFkZXItc2VhcmNoX2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAnbGVmdCdcbiAgICAgICAgKTtcblxuICAgICAgICB3aWR0aDogJGhlYWRlci1zZWFyY2hfYnV0dG9uLXdpZHRoO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkaGVhZGVyLXNlYXJjaC1ib3JkZXItcmFkaXVzX2Jhc2U7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkaGVhZGVyLXNlYXJjaC1ib3JkZXItcmFkaXVzX2Jhc2U7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cbiAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLWljb24ge1xuICAgICAgICB0cmFuc2Zvcm06ICRoZWFkZXItc2VhcmNoX2ljb24tdHJhbnNmb3JtO1xuXG4gICAgICAgICYtLXNlYXJjaCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbG9hZGVyIHtcbiAgICAgICAgICAgIHN0cm9rZTogJGhlYWRlci1zZWFyY2hfaWNvbi1sb2FkZXItY29sb3I7XG4gICAgICAgICAgICB3aWR0aDogMy4ycmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAzLjJyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24tbGFiZWwge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNHB4O1xuICAgIH1cblxuICAgICZfX2F1dG9jb21wbGV0ZSB7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICAgLm9sZC1wcmljZSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoXG4gICAgICAgICAgICAgICAgMTAwdmggLSAjeyRnbG9iYWxfaGVhZGVyLWhlaWdodC1tb2JpbGV9IC0gI3skZmllbGRfc2VsZWN0LWxpbmUtaGVpZ2h0fSAtXG4gICAgICAgICAgICAgICAgICAgIDdyZW1cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1zZWFyY2hib3gtYXMtbGF5ZXItYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGdsb2JhbF9oZWFkZXItc2VhcmNoYm94LWFzLWxheWVyLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJGhlYWRlci1zZWFyY2hfYXV0b2NvbXBsZXRlLWJveC1zaGFkb3c7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5jcy1oZWFkZXItdXNlci1uYXYge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGhlaWdodDogMTAwJTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1oZWFkZXItdXNlci1uYXYge1xuICAgICAgcGFkZGluZzogMCAxOHB4IDAgMDtcbiAgICAgIG1pbi13aWR0aDogMzYwcHg7IH0gfVxuICAuY3MtaGVhZGVyLXVzZXItbmF2X19pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX2l0ZW0tLXNlYXJjaCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1oZWFkZXItdXNlci1uYXZfX2xpbmsge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX2xpbmsge1xuICAgICAgICBwYWRkaW5nOiAxN3B4IDAgMjBweCAyMHB4OyB9IH1cbiAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19saW5rOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLmNzLWhlYWRlci11c2VyLW5hdl9fbGluazpob3ZlciAuY3MtaGVhZGVyLXVzZXItbmF2X19pY29uIHBhdGgge1xuICAgICAgICBmaWxsOiAjRkY0NjA0OyB9XG4gICAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19saW5rOmhvdmVyIC5jcy1oZWFkZXItdXNlci1uYXZfX2xhYmVsIHtcbiAgICAgICAgY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19saW5rLS1zZWFyY2g6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX2xpbmsuc2hvd2NhcnQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxOHB4OyB9XG4gICAgICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX2xpbmsuc2hvd2NhcnQgLmNzLWhlYWRlci11c2VyLW5hdl9fbGFiZWwge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMDsgfVxuICAgICAgICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX2xpbmsuc2hvd2NhcnQgLmNzLWhlYWRlci11c2VyLW5hdl9fbGFiZWwgPiBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWhlYWRlci11c2VyLW5hdl9fbGluay5zaG93Y2FydCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH0gfVxuICAuY3MtaGVhZGVyLXVzZXItbmF2X19pY29uLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY3MtaGVhZGVyLXVzZXItbmF2X19pY29uIHtcbiAgICB3aWR0aDogMi42cmVtO1xuICAgIGhlaWdodDogMi42cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgLmNzLWhlYWRlci11c2VyLW5hdl9faWNvbiBwYXRoIHtcbiAgICAgIGZpbGw6ICNGRjQ2MDQ7IH1cbiAgLmNzLWhlYWRlci11c2VyLW5hdl9fbGFiZWwge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luOiA0cHggMCAwIDEycHg7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgICAgLmNzLWhlYWRlci11c2VyLW5hdl9fbGFiZWwge1xuICAgICAgICBtYXJnaW46IDRweCAwIDAgNnB4OyB9IH1cbiAgLmNzLWhlYWRlci11c2VyLW5hdl9fcXR5LWNvdW50ZXItLXdpc2hsaXN0IHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuY3MtaGVhZGVyLXVzZXItbmF2X19xdHktY291bnRlci0tbWluaWNhcnQge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5jcy1oZWFkZXItdXNlci1uYXZfX3F0eS1jb3VudGVyLS1oYXZlLWl0ZW1zIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5jcy1oZWFkZXItdXNlci1uYXZfX3F0eS1jb3VudGVyLXNwYW4ge1xuICAgIG1pbi13aWR0aDogMWNoOyB9XG5cbi5jcy10b3BiYXJfX3dyYXBwZXIgLmNzLWhlYWRlci11c2VyLW5hdl9fbGluayB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDsgfVxuXG4uY3MtdG9wYmFyX193cmFwcGVyIC5jcy1oZWFkZXItdXNlci1uYXZfX2ljb24td3JhcHBlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBwYWRkaW5nOiAwIDE1cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtdG9wYmFyX193cmFwcGVyIC5jcy1oZWFkZXItdXNlci1uYXZfX2ljb24td3JhcHBlciB7XG4gICAgICBtYXJnaW4tdG9wOiAxNHB4OyB9IH1cblxuLmNzLXRvcGJhcl9fd3JhcHBlciAuY3MtaGVhZGVyLXVzZXItbmF2X19sYWJlbCB7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDEzcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luOiAxcHggMCAxcHggN3B4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLXRvcGJhcl9fd3JhcHBlciAuY3MtaGVhZGVyLXVzZXItbmF2X19sYWJlbCB7XG4gICAgICBtYXJnaW46IDNweCAwIDJweCAxMHB4OyB9IH1cblxuLmNzLXRvcGJhcl9fd3JhcHBlciAuY3MtaGVhZGVyLXVzZXItbmF2X19pY29uIHtcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMTdweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5jcy10b3BiYXJfX3dyYXBwZXIgLmNzLWhlYWRlci11c2VyLW5hdl9faWNvbiBwYXRoIHtcbiAgICBmaWxsOiAjMDAwOyB9XG4iLCIvKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuQG1peGluIHF0eS1jb3VudGVyX2hvb2soJHR5cGUpIHtcbn1cblxuQG1peGluIHF0eS1jb3VudGVyX3R5cGUtaG9vaygkdHlwZSkge1xufVxuXG5AbWl4aW4gcXR5LWNvdW50ZXJfc3Bhbi1ob29rKCR0eXBlKSB7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvcXR5LWNvdW50ZXIvbWl4aW4nO1xuXG4kaGVhZGVyLXVzZXItbmF2X2l0ZW1zOiAzICFkZWZhdWx0OyAvLyBudW1iZXIgb2YgaXRlbXMgaW4gaGVhZGVyIHVzZXIgbmF2ICh3aXRob3V0IHNlYXJjaCBpdGVtKVxuXG4kaGVhZGVyLXVzZXItbmF2X2ljb24tY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRoZWFkZXItdXNlci1uYXZfaWNvbi1jb2xvci1ob3ZlcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGhlYWRlci11c2VyLW5hdl9pY29uLXdpZHRoOiAyLjZyZW0gIWRlZmF1bHQ7XG4kaGVhZGVyLXVzZXItbmF2X2ljb24taGVpZ2h0OiAkaGVhZGVyLXVzZXItbmF2X2ljb24td2lkdGggIWRlZmF1bHQ7XG5cbi8vIFNldCB1cCB3aGVuIGxhYmVsIGluIGhlYWRlciB1c2VyIG5hdiBzaG91bGQgYmUgdmlzaWJsZVxuLy8gU3VwcG9ydGVkIHZhbHVlczogdHJ1ZSAoYWx3YXlzKSB8IGZhbHNlIChuZXZlcikgfCBicmVha3BvaW50XG4kaGVhZGVyLXVzZXItbmF2X2xhYmVsLXZpc2libGU6ICc+PXRhYmxldCcgIWRlZmF1bHQ7XG4kaGVhZGVyLXVzZXItbmF2X2xhYmVsLWZvbnQtc2l6ZTogMTVweCAhZGVmYXVsdDtcbiRoZWFkZXItdXNlci1uYXZfbGFiZWwtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcbiRoZWFkZXItdXNlci1uYXZfbGFiZWwtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRoZWFkZXItdXNlci1uYXZfbGFiZWwtY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRoZWFkZXItdXNlci1uYXZfbGFiZWwtY29sb3ItaG92ZXI6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRoZWFkZXItdXNlci1uYXZfbGFiZWwtbWFyZ2luLXRvcDogMC4zcmVtICFkZWZhdWx0O1xuXG4kaGVhZGVyLXVzZXItbmF2X3F0eS1jb3VudGVyLXdpc2hsaXN0LXNob3ctZW1wdHk6IGZhbHNlICFkZWZhdWx0O1xuJGhlYWRlci11c2VyLW5hdl9xdHktY291bnRlci1taW5pY2FydC1zaG93LWVtcHR5OiBmYWxzZSAhZGVmYXVsdDtcbiRoZWFkZXItdXNlci1uYXZfcXR5LWNvdW50ZXItYW5pbWF0aW9uLXNob3c6IHRydWUgIWRlZmF1bHQ7XG4kaGVhZGVyLXVzZXItbmF2X3F0eS1jb3VudGVyLWFuaW1hdGlvbi10aW1lOiAkdHJhbnNpdGlvbi1kZWZhdWx0LXRpbWUgIWRlZmF1bHQ7XG5cbiRoZWFkZXItdXNlci1uYXZfcXR5LWNvdW50ZXItdG9wLW9mZnNldDogLTAuNXJlbSAhZGVmYXVsdDtcbiRoZWFkZXItdXNlci1uYXZfcXR5LWNvdW50ZXItcmlnaHQtb2Zmc2V0LW1vYmlsZTogLTAuNXJlbSAhZGVmYXVsdDtcbiRoZWFkZXItdXNlci1uYXZfcXR5LWNvdW50ZXItcmlnaHQtb2Zmc2V0LXRhYmxldDogLTFyZW0gIWRlZmF1bHQ7XG4kaGVhZGVyLXVzZXItbmF2X3F0eS1jb3VudGVyLXJpZ2h0LW9mZnNldC1kZXNrdG9wOiAtMXJlbSAhZGVmYXVsdDtcblxuLiN7JG5zfWhlYWRlci11c2VyLW5hdiB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgcGFkZGluZzogMCAxOHB4IDAgMDtcbiAgICAgICAgbWluLXdpZHRoOiAzNjBweDtcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAmLS1zZWFyY2gge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxN3B4IDAgMjBweCAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAjeyRyb290fV9faWNvbiB7XG4gICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRoZWFkZXItdXNlci1uYXZfaWNvbi1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19sYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItdXNlci1uYXZfbGFiZWwtY29sb3ItaG92ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zZWFyY2gge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5zaG93Y2FydCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgICAgLmNzLWhlYWRlci11c2VyLW5hdl9fbGFiZWwge1xuICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgICAgICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIHdpZHRoOiAkaGVhZGVyLXVzZXItbmF2X2ljb24td2lkdGg7XG4gICAgICAgIGhlaWdodDogJGhlYWRlci11c2VyLW5hdl9pY29uLWhlaWdodDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgIHBhdGgge1xuICAgICAgICAgICAgZmlsbDogJGhlYWRlci11c2VyLW5hdl9pY29uLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGhlYWRlci11c2VyLW5hdl9sYWJlbC10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgZm9udC1zaXplOiAkaGVhZGVyLXVzZXItbmF2X2xhYmVsLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItdXNlci1uYXZfbGFiZWwtZm9udC13ZWlnaHQ7XG4gICAgICAgIG1hcmdpbjogNHB4IDAgMCAxMnB4O1xuICAgICAgICBjb2xvcjogJGhlYWRlci11c2VyLW5hdl9sYWJlbC1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgIG1hcmdpbjogNHB4IDAgMCA2cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19xdHktY291bnRlciB7XG5cbiAgICAgICAgJi0td2lzaGxpc3Qge1xuICAgICAgICAgICAgQGluY2x1ZGUgcXR5LWNvdW50ZXJfdHlwZSgnd2lzaGxpc3QnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLW1pbmljYXJ0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHF0eS1jb3VudGVyX3R5cGUoJ21pbmljYXJ0Jyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1oYXZlLWl0ZW1zIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1lbXB0eSB7XG4gICAgICAgICAgICAmI3skcm9vdH1fX3F0eS1jb3VudGVyLS13aXNobGlzdCB7XG4gICAgICAgICAgICAgICAgQGlmICgkaGVhZGVyLXVzZXItbmF2X3F0eS1jb3VudGVyLXdpc2hsaXN0LXNob3ctZW1wdHkpIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYjeyRyb290fV9fcXR5LWNvdW50ZXItLW1pbmljYXJ0IHtcbiAgICAgICAgICAgICAgICBAaWYgKCRoZWFkZXItdXNlci1uYXZfcXR5LWNvdW50ZXItbWluaWNhcnQtc2hvdy1lbXB0eSkge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3F0eS1jb3VudGVyLXNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBxdHktY291bnRlcl9zcGFuKCk7XG4gICAgfVxufVxuXG4uY3MtdG9wYmFyX193cmFwcGVyIHtcbiAgICAuY3MtaGVhZGVyLXVzZXItbmF2IHtcbiAgICAgICAgJl9fbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICAgICZfX2ljb24td3JhcHBlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Jfd2hpdGU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX19sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX2JsYWNrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBtYXJnaW46IDFweCAwIDFweCA3cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDNweCAwIDJweCAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX2ljb24ge1xuICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE3cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkY29sb3JfYmxhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcXR5LWNvdW50ZXIvaG9vayc7XG5cbiRxdHktY291bnRlcl9mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG4kcXR5LWNvdW50ZXJfZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcbiRxdHktY291bnRlcl9oZWlnaHQ6IDEuOGVtICFkZWZhdWx0O1xuJHF0eS1jb3VudGVyX3BhZGRpbmc6IDAgMC42cmVtICFkZWZhdWx0O1xuJHF0eS1jb3VudGVyX2JvcmRlcjogMCAhZGVmYXVsdDtcbiRxdHktY291bnRlcl9ib3JkZXItcmFkaXVzOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbiRxdHktY291bnRlcl90cmFuc2Zvcm06ICR0cmFuc2Zvcm1fc2tldy0zMDAgIWRlZmF1bHQ7XG4kcXR5LWNvdW50ZXJfc3Bhbi10cmFuc2Zvcm06ICR0cmFuc2Zvcm1fc2tldy0zMDAtcmV2ZXJ0ICFkZWZhdWx0O1xuXG4kcXR5LWNvdW50ZXItLWRlZmF1bHQtYmFja2dyb3VuZDogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJHF0eS1jb3VudGVyLS1kZWZhdWx0LWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG5cbiRxdHktY291bnRlci0tbWluaWNhcnQtYmFja2dyb3VuZDogJGNvbG9yX2Vycm9yLTUwMCAhZGVmYXVsdDtcbiRxdHktY291bnRlci0tbWluaWNhcnQtY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcblxuJHF0eS1jb3VudGVyLS13aXNobGlzdC1iYWNrZ3JvdW5kOiAkY29sb3Jfc2Vjb25kYXJ5LTUwMCAhZGVmYXVsdDtcbiRxdHktY291bnRlci0td2lzaGxpc3QtY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcblxuQG1peGluIHF0eS1jb3VudGVyKCR0eXBlOiAnZGVmYXVsdCcpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcXR5LWNvdW50ZXItLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHF0eS1jb3VudGVyLS1kZWZhdWx0LWNvbG9yO1xuICAgIHRyYW5zZm9ybTogJHF0eS1jb3VudGVyX3RyYW5zZm9ybTtcbiAgICBib3JkZXI6ICRxdHktY291bnRlcl9ib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogJHF0eS1jb3VudGVyX2JvcmRlci1yYWRpdXM7XG4gICAgcGFkZGluZzogJHF0eS1jb3VudGVyX3BhZGRpbmc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAkcXR5LWNvdW50ZXJfZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiAkcXR5LWNvdW50ZXJfZm9udC13ZWlnaHQ7XG4gICAgaGVpZ2h0OiAkcXR5LWNvdW50ZXJfaGVpZ2h0O1xuICAgIC8vIFByZXZlbnQgSUUxMSBhbmQgRWRnZSBidWcgd2l0aCBiYWNrZ3JvdW5kIGFuZCByb3VuZCBib3JkZXJzXG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAgIEBpbmNsdWRlIHF0eS1jb3VudGVyX2hvb2soJHR5cGUpO1xufVxuXG5AbWl4aW4gcXR5LWNvdW50ZXJfdHlwZSgkdHlwZTogJ2RlZmF1bHQnKSB7XG4gICAgQGlmICgkdHlwZSA9PSAnd2lzaGxpc3QnKSB7XG4gICAgICAgIGNvbG9yOiAkcXR5LWNvdW50ZXItLXdpc2hsaXN0LWNvbG9yO1xuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ21pbmljYXJ0Jykge1xuICAgICAgICBjb2xvcjogJHF0eS1jb3VudGVyLS1taW5pY2FydC1jb2xvcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBxdHktY291bnRlcl90eXBlLWhvb2soJHR5cGUpO1xufVxuXG5AbWl4aW4gcXR5LWNvdW50ZXJfc3BhbigkdHlwZTogJ2RlZmF1bHQnKSB7XG4gICAgbWluLXdpZHRoOiAxY2g7XG5cbiAgICBAaW5jbHVkZSBxdHktY291bnRlcl9zcGFuLWhvb2soJHR5cGUpO1xufVxuIiwiLmxhenlsb2FkLFxuLmxhenlsb2FkaW5nLFxuLnN3aXBlci1sYXp5IHtcbiAgICAvLyBBZGRlZCB0byBwcmV2ZW50IGxhenlTaXplcyBmcm9tIGRlbGF5aW5nIGltYWdlcyBsb2FkLlxuICAgIG9wYWNpdHk6IDAuMDAxO1xufVxuXG4ubGF6eWxvYWRlZCxcbi5zd2lwZXItbGF6eS1sb2FkZWQge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3MtbGlua3MtYmxvY2stYWRkdG8ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwJTsgfVxuICAucGFnZS1wcm9kdWN0LWJ1bmRsZSAuY3MtbGlua3MtYmxvY2stYWRkdG8ge1xuICAgIG1hcmdpbi10b3A6IDFyZW07IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb24gLmNzLWxpbmtzLWJsb2NrLWFkZHRvIHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAuY3MtbGlua3MtYmxvY2stYWRkdG8tLWNlbnRlcmVkIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuY3MtbGlua3MtYmxvY2stYWRkdG9fX2l0ZW0ge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1saW5rcy1ibG9jay1hZGR0b19faXRlbSArIC5jcy1saW5rcy1ibG9jay1hZGR0b19faXRlbSB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cbiAgICAuY3MtbGlua3MtYmxvY2stYWRkdG9fX2l0ZW06bnRoLWNoaWxkKDJuKSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgLmNzLWxpbmtzLWJsb2NrLWFkZHRvX19pdGVtOm50aC1jaGlsZCgybikgLmNzLWxpbmtzLWJsb2NrLWFkZHRvX19pY29uIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgLmNzLWxpbmtzLWJsb2NrLWFkZHRvX19saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgY29sb3I6ICNGRjc0NDI7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgbGluZWFyOyB9XG4gICAgLmNzLWxpbmtzLWJsb2NrLWFkZHRvX19saW5rOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjRkY3NDQyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5jcy1saW5rcy1ibG9jay1hZGR0b19faWNvbiB7XG4gICAgd2lkdGg6IDEuMzc1ZW07XG4gICAgaGVpZ2h0OiAxLjM3NWVtO1xuICAgIG1hcmdpbi1yaWdodDogMC40cmVtOyB9XG4gICAgLmNzLWxpbmtzLWJsb2NrLWFkZHRvX19pY29uIHBhdGgge1xuICAgICAgZmlsbDogIzZFNkU2RTsgfVxuICAgIC5jcy1saW5rcy1ibG9jay1hZGR0b19faWNvbi0td2lzaGxpc3QgcGF0aCB7XG4gICAgICBmaWxsOiAjQ0MxQzNBOyB9XG4gICAgLmNzLWxpbmtzLWJsb2NrLWFkZHRvX19pY29uLS1jb21wYXJlIHBhdGgge1xuICAgICAgZmlsbDogI0ZGNDYwNDsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5cbiRsaW5rcy1ibG9jay1hZGR0b193aXNobGlzdC1pY29uLWNvbG9yOiAkY29sb3JfZXJyb3ItNTAwICFkZWZhdWx0O1xuJGxpbmtzLWJsb2NrLWFkZHRvX2NvbXBhcmUtaWNvbi1jb2xvcjogJGxpbmstY29sb3JfYmFzZSAhZGVmYXVsdDtcbiRsaW5rcy1ibG9jay1hZGR0b19jb2xvcjogJGNvbG9yX3RleHQtNTAwICFkZWZhdWx0O1xuJGxpbmtzLWJsb2NrLWFkZHRvX2hvdmVyLWNvbG9yOiAkbGluay1jb2xvcl9iYXNlLWhvdmVyICFkZWZhdWx0O1xuJGxpbmtzLWJsb2NrLWFkZHRvX2ZvbnQtc2l6ZTogMS4ycmVtICFkZWZhdWx0O1xuJGxpbmtzLWJsb2NrLWFkZHRvX2ljb24td2lkdGg6IDEuMzc1ZW0gIWRlZmF1bHQ7XG4kbGlua3MtYmxvY2stYWRkdG9faWNvbi1oZWlnaHQ6IDEuMzc1ZW0gIWRlZmF1bHQ7XG5cbi4jeyRuc31saW5rcy1ibG9jay1hZGR0byB7XG4gICAgJHJvb3Q6ICY7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAucGFnZS1wcm9kdWN0LWJ1bmRsZSAmIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB9XG5cbiAgICAuI3skbnN9cHJvZHVjdC10aWxlX19hZGRvbiAmIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4gICAgJi0tY2VudGVyZWQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICsgI3skcm9vdH1fX2l0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgICAgICAjeyRyb290fV9faWNvbiB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6ICRsaW5rcy1ibG9jay1hZGR0b19mb250LXNpemU7XG4gICAgICAgIGNvbG9yOiAkbGlua3MtYmxvY2stYWRkdG9faG92ZXItY29sb3I7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGxpbmVhcjtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbGlua3MtYmxvY2stYWRkdG9faG92ZXItY29sb3I7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgd2lkdGg6ICRsaW5rcy1ibG9jay1hZGR0b19pY29uLXdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRsaW5rcy1ibG9jay1hZGR0b19pY29uLWhlaWdodDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjRyZW07XG5cbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICBmaWxsOiAkY29sb3JfZ3JheTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXdpc2hsaXN0IHtcbiAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRsaW5rcy1ibG9jay1hZGR0b193aXNobGlzdC1pY29uLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tY29tcGFyZSB7XG4gICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkbGlua3MtYmxvY2stYWRkdG9fY29tcGFyZS1pY29uLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jcy1sb2dvIHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5jcy1sb2dvX19pbWFnZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbi4jeyRuc31sb2dvIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgLy8gRml4ZXMgaGVpZ2h0OiBhdXRvIGJ1ZyBvbiBjaHJvbWUuXG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5tZXNzYWdlcyB7XG4gIG1heC13aWR0aDogMTI0cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmNzLW1lc3NhZ2VzX19tZXNzYWdlLFxuLm1lc3NhZ2Uge1xuICBtYXJnaW46IDFyZW0gMDtcbiAgcGFkZGluZzogMXJlbSAxcmVtIDEuMnJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMS41cmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxLjVyZW0gMS41cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDQuM3JlbTsgfVxuXG4uY3MtbWVzc2FnZXNfX21lc3NhZ2UtLXN1Y2Nlc3MsXG4ubWVzc2FnZS5zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9tZXNzYWdlcy9zdWNjZXNzLnN2Z1wiKTtcbiAgYm9yZGVyOiAxLjVweCBzb2xpZCAjQTlDNTQ2O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEuOXJlbSAxLjlyZW07IH1cbiAgLmNzLW1lc3NhZ2VzX19tZXNzYWdlLS1zdWNjZXNzIC5jcy1tZXNzYWdlc19fdGV4dCxcbiAgLmNzLW1lc3NhZ2VzX19tZXNzYWdlLS1zdWNjZXNzIHNwYW4sXG4gIC5tZXNzYWdlLnN1Y2Nlc3MgLmNzLW1lc3NhZ2VzX190ZXh0LFxuICAubWVzc2FnZS5zdWNjZXNzIHNwYW4ge1xuICAgIGNvbG9yOiAjQTlDNTQ2OyB9XG5cbi5jcy1tZXNzYWdlc19fbWVzc2FnZS0tbm90aWNlLFxuLm1lc3NhZ2Uud2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbWVzc2FnZXMvd2FybmluZy5zdmdcIik7XG4gIGJvcmRlcjogMS41cHggc29saWQgI0ZGNzQ0MjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMS42cmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxLjZyZW0gMS42cmVtOyB9XG4gIC5jcy1tZXNzYWdlc19fbWVzc2FnZS0tbm90aWNlIC5jcy1tZXNzYWdlc19fdGV4dCxcbiAgLmNzLW1lc3NhZ2VzX19tZXNzYWdlLS1ub3RpY2Ugc3BhbixcbiAgLm1lc3NhZ2Uud2FybmluZyAuY3MtbWVzc2FnZXNfX3RleHQsXG4gIC5tZXNzYWdlLndhcm5pbmcgc3BhbiB7XG4gICAgY29sb3I6ICNGRjc0NDI7IH1cblxuLmNzLW1lc3NhZ2VzX19tZXNzYWdlLS1pbmZvLFxuLm1lc3NhZ2UuaW5mbyxcbi5tZXNzYWdlLm5vdGljZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbWVzc2FnZXMvaW5mby5zdmdcIik7XG4gIGJvcmRlcjogMS41cHggc29saWQgIzRBOTBFMjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMS42cmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxLjVyZW0gMS41cmVtOyB9XG4gIC5jcy1tZXNzYWdlc19fbWVzc2FnZS0taW5mbyAuY3MtbWVzc2FnZXNfX3RleHQsXG4gIC5jcy1tZXNzYWdlc19fbWVzc2FnZS0taW5mbyBzcGFuLFxuICAubWVzc2FnZS5pbmZvIC5jcy1tZXNzYWdlc19fdGV4dCxcbiAgLm1lc3NhZ2UuaW5mbyBzcGFuLFxuICAubWVzc2FnZS5ub3RpY2UgLmNzLW1lc3NhZ2VzX190ZXh0LFxuICAubWVzc2FnZS5ub3RpY2Ugc3BhbiB7XG4gICAgY29sb3I6ICM0QTkwRTI7IH1cblxuLmNzLW1lc3NhZ2VzX19tZXNzYWdlLS1lcnJvcixcbi5tZXNzYWdlLmVycm9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9tZXNzYWdlcy9yZW1vdmUuc3ZnXCIpO1xuICBib3JkZXI6IDEuNXB4IHNvbGlkICNDQzFDM0E7IH1cbiAgLmNzLW1lc3NhZ2VzX19tZXNzYWdlLS1lcnJvciAuY3MtbWVzc2FnZXNfX3RleHQsXG4gIC5jcy1tZXNzYWdlc19fbWVzc2FnZS0tZXJyb3Igc3BhbixcbiAgLm1lc3NhZ2UuZXJyb3IgLmNzLW1lc3NhZ2VzX190ZXh0LFxuICAubWVzc2FnZS5lcnJvciBzcGFuIHtcbiAgICBjb2xvcjogI0NDMUMzQTsgfVxuXG4uY3MtbWVzc2FnZXNfX3RleHQsXG4ubWVzc2FnZSBzcGFuIHtcbiAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtbWVzc2FnZXNfX3RleHQsXG4gICAgLm1lc3NhZ2Ugc3BhbiB7XG4gICAgICBsaW5lLWhlaWdodDogMjBweDsgfSB9XG5cbi5jcy1tZXNzYWdlcy0tc3BhY2UtdG9wIHtcbiAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG5cbi5pbmNyZW1lbnQtbm90aWZpY2F0aW9uIHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMS42cmVtIDEuMnJlbSAhaW1wb3J0YW50OyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbiRtZXNzYWdlc19zdWNjZXNzLWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG1lc3NhZ2VzX2luZm8tYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbWVzc2FnZXNfbm90aWNlLWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG1lc3NhZ2VzX2Vycm9yLWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kbWVzc2FnZXNfc3VjY2Vzcy1ib3JkZXI6IDEuNXB4IHNvbGlkICRjb2xvcl9zdWNjZXNzICFkZWZhdWx0O1xuJG1lc3NhZ2VzX2luZm8tYm9yZGVyOiAxLjVweCBzb2xpZCAkY29sb3JfaW5mbyAhZGVmYXVsdDtcbiRtZXNzYWdlc19ub3RpY2UtYm9yZGVyOiAxLjVweCBzb2xpZCAkY29sb3Jfd2FybiAhZGVmYXVsdDtcbiRtZXNzYWdlc19lcnJvci1ib3JkZXI6IDEuNXB4IHNvbGlkICRjb2xvcl9lcnJvciAhZGVmYXVsdDtcblxuJG1lc3NhZ2VzX3N1Y2Nlc3MtY29sb3I6ICRjb2xvcl9zdWNjZXNzICFkZWZhdWx0O1xuJG1lc3NhZ2VzX2luZm8tY29sb3I6ICRjb2xvcl9pbmZvICFkZWZhdWx0O1xuJG1lc3NhZ2VzX25vdGljZS1jb2xvcjogJGNvbG9yX3dhcm4gIWRlZmF1bHQ7XG4kbWVzc2FnZXNfZXJyb3ItY29sb3I6ICRjb2xvcl9lcnJvciAhZGVmYXVsdDtcblxuXG4kbWVzc2FnZXNfYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcbiRtZXNzYWdlc19wYWRkaW5nOiAxcmVtIDFyZW0gMS4ycmVtICFkZWZhdWx0O1xuJG1lc3NhZ2VzX3RleHQtY29sb3I6ICRjb2xvcl90ZXh0LTUwMCAhZGVmYXVsdDtcbiRtZXNzYWdlX2ljb24td2lkdGg6IDEuNXJlbSAhZGVmYXVsdDtcbiRtZXNzYWdlX2ljb24taGVpZ2h0OiAkbWVzc2FnZV9pY29uLXdpZHRoICFkZWZhdWx0O1xuXG4ubWVzc2FnZXMge1xuICAgIG1heC13aWR0aDogJHBhZ2VfbWF4LXdpZHRoO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uI3skbnN9bWVzc2FnZXNfX21lc3NhZ2UsXG4ubWVzc2FnZSB7XG4gICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgcGFkZGluZzogJG1lc3NhZ2VzX3BhZGRpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJG1lc3NhZ2VzX2JvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxLjVyZW0gY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJG1lc3NhZ2VfaWNvbi13aWR0aCAkbWVzc2FnZV9pY29uLWhlaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6IDQuM3JlbTtcbn1cblxuLiN7JG5zfW1lc3NhZ2VzX19tZXNzYWdlLS1zdWNjZXNzLFxuLm1lc3NhZ2Uuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1lc3NhZ2VzX3N1Y2Nlc3MtYmFja2dyb3VuZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9tZXNzYWdlcy9zdWNjZXNzLnN2ZycpO1xuICAgIGJvcmRlcjogJG1lc3NhZ2VzX3N1Y2Nlc3MtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMS45cmVtIDEuOXJlbTtcbiAgICAuI3skbnN9bWVzc2FnZXNfX3RleHQsXG4gICAgc3BhbiAge1xuICAgICAgICBjb2xvcjogJG1lc3NhZ2VzX3N1Y2Nlc3MtY29sb3I7XG4gICAgfVxufVxuXG4uI3skbnN9bWVzc2FnZXNfX21lc3NhZ2UtLW5vdGljZSxcbi5tZXNzYWdlLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZXNzYWdlc19ub3RpY2UtYmFja2dyb3VuZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9tZXNzYWdlcy93YXJuaW5nLnN2ZycpO1xuICAgIGJvcmRlcjogJG1lc3NhZ2VzX25vdGljZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMS42cmVtIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEuNnJlbSAxLjZyZW07XG4gICAgLiN7JG5zfW1lc3NhZ2VzX190ZXh0LFxuICAgIHNwYW4gIHtcbiAgICAgICAgY29sb3I6ICRtZXNzYWdlc19ub3RpY2UtY29sb3I7XG4gICAgfVxufVxuXG4uI3skbnN9bWVzc2FnZXNfX21lc3NhZ2UtLWluZm8sXG4ubWVzc2FnZS5pbmZvLFxuLm1lc3NhZ2Uubm90aWNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVzc2FnZXNfaW5mby1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL21lc3NhZ2VzL2luZm8uc3ZnJyk7XG4gICAgYm9yZGVyOiAkbWVzc2FnZXNfaW5mby1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMS42cmVtIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEuNXJlbSAxLjVyZW07XG4gICAgLiN7JG5zfW1lc3NhZ2VzX190ZXh0LFxuICAgIHNwYW4gIHtcbiAgICAgICAgY29sb3I6ICRtZXNzYWdlc19pbmZvLWNvbG9yO1xuICAgIH1cbn1cblxuLiN7JG5zfW1lc3NhZ2VzX19tZXNzYWdlLS1lcnJvcixcbi5tZXNzYWdlLmVycm9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVzc2FnZXNfZXJyb3ItYmFja2dyb3VuZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9tZXNzYWdlcy9yZW1vdmUuc3ZnJyk7XG4gICAgYm9yZGVyOiAkbWVzc2FnZXNfZXJyb3ItYm9yZGVyO1xuICAgIC4jeyRuc31tZXNzYWdlc19fdGV4dCxcbiAgICBzcGFuICB7XG4gICAgICAgIGNvbG9yOiAkbWVzc2FnZXNfZXJyb3ItY29sb3I7XG4gICAgfVxufVxuXG4uI3skbnN9bWVzc2FnZXNfX3RleHQsXG4ubWVzc2FnZSBzcGFuIHtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgfVxufVxuXG4uI3skbnN9bWVzc2FnZXMge1xuICAgICRyb290OiAmO1xuXG4gICAgJi0tc3BhY2UtdG9wIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgIH1cbn1cblxuLmluY3JlbWVudC1ub3RpZmljYXRpb24ge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxLjZyZW0gMS4ycmVtICFpbXBvcnRhbnQ7XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qIHByZXR0aWVyLWlnbm9yZSAqL1xuLmNzLW1pbmljYXJ0X19jbG9zZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJvcmRlcjogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogLTEuNXJlbTtcbiAgd2lkdGg6IDVyZW07XG4gIGhlaWdodDogM3JlbTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5jcy1taW5pY2FydF9fY2xvc2U6Zm9jdXMsIC5jcy1taW5pY2FydF9fY2xvc2U6YWN0aXZlLCAuY3MtbWluaWNhcnRfX2Nsb3NlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmNzLW1pbmljYXJ0X19jbG9zZTpiZWZvcmUge1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgZm9udC1zaXplOiA1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGNvbnRlbnQ6ICdcXGU2MTYnO1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSAqL1xuICAgIGZvbnQtZmFtaWx5OiAnaWNvbnMtYmxhbmstdGhlbWUnO1xuICAgIG1hcmdpbjogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgc3BlYWs6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5jcy1taW5pY2FydF9fY2xvc2UtdGV4dCB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4OyB9XG5cbi5jcy1taW5pY2FydF9fdGl0bGUtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMnJlbSAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2xvcjogIzIxMjEyMTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIG1hcmdpbjogMDsgfVxuXG4uY3MtbWluaWNhcnRfX2l0ZW1zLXRvdGFsIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAuY3MtbWluaWNhcnRfX2l0ZW1zLXRvdGFsOmJlZm9yZSB7XG4gICAgY29udGVudDogJygnOyB9XG4gIC5jcy1taW5pY2FydF9faXRlbXMtdG90YWw6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcpJzsgfVxuXG4uY3MtbWluaWNhcnRfX2VkaXQtbGluayB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmNzLW1pbmljYXJ0X19lZGl0LWxpbmsgLmNzLWxpbmtfX2ljb24ge1xuICAgIHBhZGRpbmc6IDAgMCAwIDFyZW07IH1cblxuLmNzLW1pbmljYXJ0X19jb250ZW50IHtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY3MtbWluaWNhcnRfX2NvbnRlbnQgLmxvYWQuaW5kaWNhdG9yOmJlZm9yZSB7XG4gICAgaGVpZ2h0OiB1bnNldDsgfVxuXG4uY3MtbWluaWNhcnRfX2xpc3Qge1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jcy1taW5pY2FydF9fbGlzdC0tc2Nyb2xsIHtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzZyZW0pO1xuICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLW1pbmljYXJ0X19saXN0LS1zY3JvbGwge1xuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzhyZW0pOyB9XG4gICAgICAgIC5pcy10YWJsZXQgLmNzLW1pbmljYXJ0X19saXN0LS1zY3JvbGwge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0M3JlbSk7IH0gfVxuXG4uY3MtbWluaWNhcnRfX2xpc3QtaXRlbSB7XG4gIHBhZGRpbmc6IDEuNXJlbSAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYztcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY3MtbWluaWNhcnRfX2xpc3QtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbi5jcy1taW5pY2FydF9fYWN0aW9ucy13cmFwcGVyIHtcbiAgcGFkZGluZzogMnJlbSAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmNzLW1pbmljYXJ0X19hY3Rpb25zIHtcbiAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAuY3MtbWluaWNhcnRfX2FjdGlvbnM6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNzLW1pbmljYXJ0X19hY3Rpb25zIC52aWV3Y2FydDp2aXNpdGVkIHtcbiAgICBjb2xvcjogI0ZGNzQ0MjsgfVxuXG4uY3MtbWluaWNhcnRfX2VtcHR5IHtcbiAgcGFkZGluZzogMnJlbSAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmNzLW1pbmljYXJ0X19zdWJ0b3RhbCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDEuMnJlbTsgfVxuXG4uY3MtbWluaWNhcnRfX3N1YnRvdGFsLXByaWNlIC5wcmljZSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gIG1hcmdpbjogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gIHBhZGRpbmc6IDhweCAyNXB4O1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB6LWluZGV4OiA1O1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yO1xuICBwYWRkaW5nOiAxM3B4IDE0cHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0Lm1lZGl1bSB7XG4gICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0LmxhcmdlIHtcbiAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dCwgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6dmlzaXRlZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNEE5MEUyO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQgc3BhbiwgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6dmlzaXRlZCBzcGFuIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDM7IH1cbiAgICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDpiZWZvcmUsIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OnZpc2l0ZWQ6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0QTkwRTI7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNEE5MEUyO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICB6LWluZGV4OiAyOyB9XG4gICAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6YWZ0ZXIsIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OnZpc2l0ZWQ6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ5ODBDMTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQgKiwgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6dmlzaXRlZCAqIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDk4MEMxOyB9XG4gICAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pOmFmdGVyLCAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDpmb2N1czpub3QoW2Rpc2FibGVkXSk6YWZ0ZXIsIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSk6YWZ0ZXIge1xuICAgICAgdG9wOiAycHg7IH1cbiAgICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDpob3Zlcjpub3QoW2Rpc2FibGVkXSk6YmVmb3JlLCAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDpmb2N1czpub3QoW2Rpc2FibGVkXSk6YmVmb3JlLCAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDphY3RpdmU6bm90KFtkaXNhYmxlZF0pOmJlZm9yZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNDk4MEMxO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ5ODBDMTsgfVxuICAgIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dFtkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgY3Vyc29yOiBhdXRvOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0LXNwYW4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi8gfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dC1pY29uIHtcbiAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi8gfVxuXG4uY3MtbWluaWNhcnRfX2J1dHRvbi12aWV3Y2FydCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDEycHg7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGNvbG9yOiAjMDAwOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLXZpZXdjYXJ0LWljb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tdmlld2NhcnQ6aG92ZXIsIC5jcy1taW5pY2FydF9fYnV0dG9uLXZpZXdjYXJ0OmFjdGl2ZSB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gIG1hcmdpbjogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gIHBhZGRpbmc6IDhweCAyNXB4O1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB6LWluZGV4OiA1O1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgbWFyZ2luOiAzcmVtIDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkY2RjZGM7IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWwubWVkaXVtIHtcbiAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWwubGFyZ2Uge1xuICAgIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jYXJvdXNlbDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsLCAuY3MtbWluaWNhcnRfX2J1dHRvbi1jYXJvdXNlbDp2aXNpdGVkIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cbiAgICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jYXJvdXNlbCAqLCAuY3MtbWluaWNhcnRfX2J1dHRvbi1jYXJvdXNlbDp2aXNpdGVkICoge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmaWxsOiAjRkY0NjA0OyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWw6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtbWluaWNhcnRfX2J1dHRvbi1jYXJvdXNlbDphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzRTNFM0U7IH1cbiAgICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jYXJvdXNlbDpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWw6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWxbZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjY1O1xuICAgIGN1cnNvcjogYXV0bzsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jYXJvdXNlbC1zcGFuIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgcGFkZGluZy1yaWdodDogNGVtO1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSAqLyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsLWljb24ge1xuICAgIG1heC13aWR0aDogMWVtO1xuICAgIG1heC1oZWlnaHQ6IDEuNHJlbTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcmlnaHQ6IDFlbTtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi8gfVxuXG4uY3MtbWluaWNhcnRfX21lc3NhZ2VzIHtcbiAgcGFkZGluZzogMCAycmVtOyB9XG5cbi5jcy1taW5pY2FydC1vZmZjYW52YXNfX3dyYXBwZXIge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5jcy1taW5pY2FydF9fY2Fyb3VzZWwtc3Bpbm5lciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1pbmljYXJ0LXdyYXBwZXIgLnVpLWRpYWxvZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMC41cmVtO1xuICB6LWluZGV4OiA5OTk5OTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5taW5pY2FydC13cmFwcGVyIC51aS1kaWFsb2cge1xuICAgICAgcmlnaHQ6IC0xcmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAubWluaWNhcnQtd3JhcHBlciAudWktZGlhbG9nIHtcbiAgICAgIHRvcDogY2FsYyggMTAwJSAtICggKCAxMXJlbSAtIDguM3JlbSApIC8gMiApKTsgfSB9XG5cbi5taW5pY2FydC13cmFwcGVyIC5ibG9jay1taW5pY2FydCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDAgMCAyMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjI3KTtcbiAgYm9yZGVyOiBub25lO1xuICB3aWR0aDogMzFyZW07XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgMnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1pbmljYXJ0LXdyYXBwZXIgLmJsb2NrLW1pbmljYXJ0IHtcbiAgICAgIHdpZHRoOiA0MHJlbTsgfSB9XG4gIC5taW5pY2FydC13cmFwcGVyIC5ibG9jay1taW5pY2FydDpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm1pbmljYXJ0LXdyYXBwZXIgLmJsb2NrLW1pbmljYXJ0OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB0b3A6IC0wLjhyZW07XG4gICAgcmlnaHQ6IDEuNXJlbTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5taW5pY2FydC13cmFwcGVyIC5ibG9jay1taW5pY2FydDphZnRlciB7XG4gICAgICAgIHJpZ2h0OiA0LjVyZW07IH0gfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuQGltcG9ydCAnZXRjL3ZpZXcuc2Nzcyc7XG5AaW1wb3J0ICd1dGlscy9kZWVwLWdldC9kZWVwLWdldC5zY3NzJztcblxuJG1pbmljYXJ0LW9mZmNhbnZhczogZGVlcC1nZXQoXG4gICAgJHZpZXcteG1sLFxuICAgIHZhcnMsXG4gICAgTWFnZW50b19DaGVja291dCxcbiAgICBtaW5pY2FydF9vZmZjYW52YXMsXG4gICAgZW5hYmxlZFxuKSAhZGVmYXVsdDtcblxuJG1pbmljYXJ0LW9mZmNhbnZhcy1jYXJvdXNlbDogZGVlcC1nZXQoXG4gICAgJHZpZXcteG1sLFxuICAgIHZhcnMsXG4gICAgTWFnZW50b19DaGVja291dCxcbiAgICBtaW5pY2FydF9vZmZjYW52YXMsXG4gICAgcHJvZHVjdHNfY2Fyb3VzZWwsXG4gICAgZW5hYmxlZFxuKSAhZGVmYXVsdDtcblxuJG1pbmljYXJ0X29mZmNhbnZhcy13cmFwcGVyOiAwICFkZWZhdWx0O1xuJG1pbmljYXJ0X29mZmNhbnZhcy1wYWRkaW5nOiAxLjVyZW0gMnJlbSAhZGVmYXVsdDtcbiRtaW5pY2FydF9vZmZjYW52YXMtdGl0bGUtcGFkZGluZzogMXJlbSAycmVtICFkZWZhdWx0O1xuJG1pbmljYXJ0X29mZmNhbnZhcy1pdGVtLXBhZGRpbmc6IDEuNXJlbSAycmVtICFkZWZhdWx0O1xuJG1pbmljYXJ0X29mZmNhbnZhcy1mcmVlLXNoaXBwaW5nLWluZGljYXRvcjogZmFsc2UgIWRlZmF1bHQ7XG4kbWluaWNhcnRfb2ZmY2FudmFzLW9mZnNldC1pcGhvbmUtZml4OiA0MHJlbSAhZGVmYXVsdDtcblxuJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1iYWNrZ3JvdW5kOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXNwYWNpbmc6IDJyZW0gIWRlZmF1bHQ7XG4kbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXBvc2l0aW9uOiAnY2VudGVyJyAhZGVmYXVsdDsgLy8gRGVmYXVsdCB2YWx1ZTogY2VudGVyLiBQb3NzaWJsZSB2YWx1ZXM6IGNlbnRlciAvIHRvcCAvIGJvdHRvbVxuJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1wb3NpdGlvbi1vZmZzZXQ6ICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtc3BhY2luZyAhZGVmYXVsdDtcbiRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtYnV0dG9uLXBvc2l0aW9uOiAnY2VudGVyJyAhZGVmYXVsdDsgLy8gRGVmYXVsdCB2YWx1ZTogY2VudGVyLiBQb3NzaWJsZSB2YWx1ZXM6IGNlbnRlciAvIGxlZnQgLyByaWdodFxuJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1idXR0b24tYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLWJ1dHRvbi1zcGFjaW5nOiAzcmVtICFkZWZhdWx0O1xuLyogcHJldHRpZXItaWdub3JlICovXG4kbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb24tZGVmYXVsdC10aW1lIGVhc2UtaW4gIWRlZmF1bHQ7XG4kbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXNwaW5uZXItc2l6ZTogMTFyZW0gIWRlZmF1bHQ7XG5cbiRtaW5pY2FydF9wYWRkaW5nOiAycmVtIDAgIWRlZmF1bHQ7XG5cbiRtaW5pY2FydF9jbG9zZS1idXR0b24tY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcblxuJG1pbmljYXJ0X2l0ZW0tYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kbWluaWNhcnRfaXRlbS1oZWFkbGluZS1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJG1pbmljYXJ0X2l0ZW0tcGFkZGluZzogMS41cmVtIDAgIWRlZmF1bHQ7XG5cbiRtaW5pY2FydF9iYWNrZ3JvdW5kOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kbWluaWNhcnRfYm94LXNoYWRvdzogMCAwIDIxcHggMCByZ2JhKCRjb2xvcl9iYWNrZ3JvdW5kLTgwMCwgMC4yNykgIWRlZmF1bHQ7XG5cbiRtaW5pY2FydF93aWR0aDogNDByZW0gIWRlZmF1bHQ7XG5cbiRtaW5pY2FydF9jb250ZW50LWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRtaW5pY2FydF9hY3Rpb24td3JhcHBlcl9ib3gtc2hhZG93OiAwIC01cHggNXB4IC01cHhcbiAgICByZ2JhKCRjb2xvcl9iYWNrZ3JvdW5kLTgwMCwgMC4yNykgIWRlZmF1bHQ7XG5cbiRtaW5pY2FydF9idXR0b24tY2hlY2tvdXQtdHlwZTogJ2FkZHRvJyAhZGVmYXVsdDtcbiRtaW5pY2FydF9idXR0b24tY2hlY2tvdXQtaWNvbi1wb3M6IG5vbmUgIWRlZmF1bHQ7XG5cbiRtaW5pY2FydF9idXR0b24tdmlld2NhcnQtdHlwZTogJ3NlY29uZGFyeScgIWRlZmF1bHQ7XG4kbWluaWNhcnRfYnV0dG9uLXZpZXdjYXJ0LWljb24tcG9zOiAkYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3MgIWRlZmF1bHQ7XG5cbiRtaW5pY2FydF9idXR0b24tY2Fyb3VzZWwtdHlwZTogJ3NlY29uZGFyeScgIWRlZmF1bHQ7XG4kbWluaWNhcnRfYnV0dG9uLWNhcm91c2VsLWljb24tcG9zOiAkYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3MgIWRlZmF1bHQ7XG5cbi4jeyRuc31taW5pY2FydCB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICAmX19jbG9zZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogLTEuNXJlbTtcbiAgICAgICAgd2lkdGg6IDVyZW07XG4gICAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6YWN0aXZlLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgICAgICBmb250LXNpemU6IDVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogM3JlbTtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgY29udGVudDogJ1xcZTYxNic7XG4gICAgICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi9cbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbnMtYmxhbmstdGhlbWUnO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICAgICByaWdodDogMC41cmVtO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0cmVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfdGV4dC01MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jbG9zZS10ZXh0IHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUtd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogJG1pbmljYXJ0X3BhZGRpbmc7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGNvbG9yOiAkbWluaWNhcnRfaXRlbS1oZWFkbGluZS1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkbWluaWNhcnRfb2ZmY2FudmFzLXRpdGxlLXBhZGRpbmc7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuMXJlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkbWluaWNhcnRfaXRlbS1ib3JkZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtcy10b3RhbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJygnO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnKSc7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX3RleHQtNTAwO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2VkaXQtbGluayB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAgICAgLiN7JG5zfWxpbmtfX2ljb24ge1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1pbmljYXJ0X2NvbnRlbnQtYmFja2dyb3VuZDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5sb2FkLmluZGljYXRvcjpiZWZvcmUge1xuICAgICAgICAgICAgaGVpZ2h0OiB1bnNldDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpc3Qge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICYtLXNjcm9sbCB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAzNnJlbSk7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDM4cmVtKTtcblxuICAgICAgICAgICAgICAgIC5pcy10YWJsZXQgJiB7XG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0M3JlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgJG1pbmljYXJ0X29mZmNhbnZhcy1mcmVlLXNoaXBwaW5nLWluZGljYXRvciB7XG4gICAgICAgICAgICAgICAgLyogaVBob25lIFggYW5kIFhzIE1heCAqL1xuICAgICAgICAgICAgICAgIC8qIHByZXR0aWVyLWlnbm9yZSAqL1xuICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlblxuICAgICAgICAgICAgICAgIGFuZCAobWluLWRldmljZS13aWR0aDogMzc1cHgpXG4gICAgICAgICAgICAgICAgYW5kIChtaW4tZGV2aWNlLWhlaWdodDogODEycHgpXG4gICAgICAgICAgICAgICAgYW5kICgtd2Via2l0LWRldmljZS1waXhlbC1yYXRpbzogMylcbiAgICAgICAgICAgICAgICBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gI3skbWluaWNhcnRfb2ZmY2FudmFzLW9mZnNldC1pcGhvbmUtZml4fSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvKiBpUGhvbmUgWFIgKi9cbiAgICAgICAgICAgICAgICAvKiBwcmV0dGllci1pZ25vcmUgKi9cbiAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW5cbiAgICAgICAgICAgICAgICBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6IDQxNHB4KVxuICAgICAgICAgICAgICAgIGFuZCAobWluLWRldmljZS1oZWlnaHQ6IDg5NnB4KVxuICAgICAgICAgICAgICAgIGFuZCAoLXdlYmtpdC1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpXG4gICAgICAgICAgICAgICAgYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtICN7JG1pbmljYXJ0X29mZmNhbnZhcy1vZmZzZXQtaXBob25lLWZpeH0pICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdC1pdGVtIHtcbiAgICAgICAgcGFkZGluZzogJG1pbmljYXJ0X2l0ZW0tcGFkZGluZztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJG1pbmljYXJ0X2l0ZW0tYm9yZGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAgICAgcGFkZGluZzogJG1pbmljYXJ0X29mZmNhbnZhcy1pdGVtLXBhZGRpbmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hY3Rpb25zLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAkbWluaWNhcnRfcGFkZGluZztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpZiAkbWluaWNhcnQtb2ZmY2FudmFzIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRtaW5pY2FydF9vZmZjYW52YXMtcGFkZGluZztcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRtaW5pY2FydF9hY3Rpb24td3JhcHBlcl9ib3gtc2hhZG93O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgICAgIC52aWV3Y2FydCB7XG4gICAgICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfcHJpbWFyeS1vcmFuZ2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19lbXB0eSB7XG4gICAgICAgIHBhZGRpbmc6ICRtaW5pY2FydF9wYWRkaW5nO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9fc3VidG90YWwge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XG4gICAgfVxuXG4gICAgJl9fc3VidG90YWwtcHJpY2Uge1xuICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIEBpZiAkbWluaWNhcnQtb2ZmY2FudmFzIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuMXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLWNoZWNrb3V0IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgJHR5cGU6ICRtaW5pY2FydF9idXR0b24tY2hlY2tvdXQtdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJG1pbmljYXJ0X2J1dHRvbi1jaGVja291dC1pY29uLXBvc1xuICAgICAgICApO1xuICAgICAgICBwYWRkaW5nOiAxM3B4IDE0cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICYtc3BhbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJG1pbmljYXJ0X2J1dHRvbi1jaGVja291dC10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1pbmljYXJ0X2J1dHRvbi1jaGVja291dC1pY29uLXBvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSAqL1xuICAgICAgICB9XG5cbiAgICAgICAgJi1pY29uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9pY29uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkbWluaWNhcnRfYnV0dG9uLWNoZWNrb3V0LXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkbWluaWNhcnRfYnV0dG9uLWNoZWNrb3V0LWljb24tcG9zXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24tdmlld2NhcnQge1xuICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfYmxhY2s7XG4gICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjphY3RpdmUsIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfYmxhY2s7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbi1jYXJvdXNlbCB7XG4gICAgICAgICYtd3JhcHBlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1idXR0b24tc3BhY2luZztcbiAgICAgICAgICAgIG1hcmdpbjogJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1idXR0b24tc3BhY2luZyAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1idXR0b24tYm9yZGVyO1xuXG4gICAgICAgICAgICBAaWYgJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1idXR0b24tcG9zaXRpb24gPT0gJ2xlZnQnIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtYnV0dG9uLXBvc2l0aW9uID09ICdyaWdodCcge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJG1pbmljYXJ0X2J1dHRvbi1jYXJvdXNlbC10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkbWluaWNhcnRfYnV0dG9uLWNhcm91c2VsLWljb24tcG9zXG4gICAgICAgICk7XG5cbiAgICAgICAgJi1zcGFuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkbWluaWNhcnRfYnV0dG9uLWNhcm91c2VsLXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkbWluaWNhcnRfYnV0dG9uLWNhcm91c2VsLWljb24tcG9zXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4gICAgICAgIH1cblxuICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2ljb24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRtaW5pY2FydF9idXR0b24tY2Fyb3VzZWwtdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRtaW5pY2FydF9idXR0b24tY2Fyb3VzZWwtaWNvbi1wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi9cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21lc3NhZ2VzIHtcbiAgICAgICAgcGFkZGluZzogMCAycmVtO1xuICAgIH1cblxuICAgICYtb2ZmY2FudmFzX193cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogJG1pbmljYXJ0X29mZmNhbnZhcy13cmFwcGVyO1xuICAgIH1cbn1cblxuQGlmICRtaW5pY2FydC1vZmZjYW52YXMgYW5kICRtaW5pY2FydC1vZmZjYW52YXMtY2Fyb3VzZWwge1xuICAgIC8qIHByZXR0aWVyLWlnbm9yZSAqL1xuICAgIC4jeyRuc31taW5pY2FydF9fY2Fyb3VzZWwge1xuICAgICAgICAkcm9vdDogJjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICAmLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC10cmFuc2l0aW9uO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1iYWNrZ3JvdW5kO1xuXG4gICAgICAgICAgICAjeyRyb290fS13cmFwcGVyLS1yZWFkeSAmIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi13cmFwcGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHJpZ2h0OiBjYWxjKCN7JG1pbmljYXJ0X3dpZHRofSArICN7JG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1zcGFjaW5nfSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtICgjeyRtaW5pY2FydF93aWR0aH0gKyAoMiAqICN7JG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1zcGFjaW5nfSkpKTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTIwcmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICBAYXQtcm9vdCAuZHJhd2VyLS12aXNpYmxlICYge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGF0LXJvb3QgLmllMTEgLmRyYXdlci0tdmlzaWJsZSAmIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wTGcnKSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogODB2aDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wTGcnKSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGNhbGMoI3skbWluaWNhcnRfd2lkdGh9ICsgKDIgKiAjeyRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtc3BhY2luZ30pKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtICgjeyRtaW5pY2FydF93aWR0aH0gKyAoNCAqICN7JG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1zcGFjaW5nfSkpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtcG9zaXRpb24gPT0gJ3RvcCcge1xuICAgICAgICAgICAgICAgIHRvcDogJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1wb3NpdGlvbi1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1wb3NpdGlvbiA9PSAnYm90dG9tJyB7XG4gICAgICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1wb3NpdGlvbi1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLiN7JG5zfWhlYWRsaW5lIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXNwYWNpbmc7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1zcGFjaW5nIDAgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtc3Bpbm5lciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB3aWR0aDogJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1zcGlubmVyLXNpemU7XG4gICAgICAgICAgICBoZWlnaHQ6ICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtc3Bpbm5lci1zaXplO1xuICAgICAgICAgICAgcGFkZGluZzogJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1zcGFjaW5nIDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3dfYmFzZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246ICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtdHJhbnNpdGlvbjtcblxuICAgICAgICAgICAgI3skcm9vdH0td3JhcHBlci0tbG9hZGluZyAmIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLiN7JG5zfXByb2R1Y3RzLWNhcm91c2VsIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgIH1cbn0gQGVsc2Uge1xuICAgIC4jeyRuc31taW5pY2FydF9fY2Fyb3VzZWwge1xuICAgICAgICAmLXNwaW5uZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGlmICRtaW5pY2FydC1vZmZjYW52YXMgIT0gdHJ1ZSB7XG4gICAgLm1pbmljYXJ0LXdyYXBwZXIge1xuICAgICAgICAudWktZGlhbG9nIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIHJpZ2h0OiAwLjVyZW07XG4gICAgICAgICAgICB6LWluZGV4OiA5OTk5OTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1oZWlnaHQtZGVza3RvcCA+ICRnbG9iYWxfaGVhZGVyLWhlaWdodC10YWJsZXQpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3BMZycpIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBjYWxjKFxuICAgICAgICAgICAgICAgICAgICAgICAgMTAwJSAtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3skZ2xvYmFsX2hlYWRlci1oZWlnaHQtZGVza3RvcH0gLSAjeyRnbG9iYWxfaGVhZGVyLWhlaWdodC10YWJsZXR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIC8gMlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYmxvY2stbWluaWNhcnQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJG1pbmljYXJ0X2JhY2tncm91bmQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkbWluaWNhcnRfYm94LXNoYWRvdztcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAzMXJlbTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAycmVtO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZUxnJykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkbWluaWNhcnRfd2lkdGg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbWluaWNhcnRfYmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgdG9wOiAtMC44cmVtO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxLjVyZW07XG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDQuNXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IEBlbHNlIHtcbiAgICAubWluaWNhcnQtd3JhcHBlciB7XG4gICAgICAgIC51aS1kaWFsb2cge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIFJhZGlvIGFuZCBjaGVja2JveCBzdHlsaW5nICovXG4vKioqXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDEzMFxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4uY3MtbWluaWNhcnQtcHJvZHVjdCB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX2ltYWdlLWNvbnRhaW5lciBpbWcge1xuICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19pbWFnZSB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3ZlcnZpZXcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX2RldGFpbHMge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19icmFuZC13cmFwcGVyIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19icmFuZCB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgY29sb3I6ICMzRTNFM0U7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX25hbWUtd3JhcHBlciB7XG4gICAgZmxleC1iYXNpczogNTUlO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjJyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LXNpemU6IDEuM3JlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fbmFtZS13cmFwcGVyIHtcbiAgICAgICAgZmxleC1iYXNpczogNzAlOyB9IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX25hbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fbmFtZTp2aXNpdGVkLCAuY3MtbWluaWNhcnQtcHJvZHVjdF9fbmFtZTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogIzIxMjEyMTsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcHJpY2UgLnByaWNlIHtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMjEyMTIxOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19wcmljZS1sYWJlbCwgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtc3VidGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXRpdGxlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXRpdGxlLXN2ZyB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgdmVydGljYWwtYWxpZ246IGluaXRpYWw7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtdGl0bGUtc3ZnIHtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMCwgMC42NiwgMC4zMiwgMC45OSk7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW4tdG9wOiAtMC40cmVtO1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtZ3JvdXAge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy1ncm91cC0tcXR5IHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTsgfVxuICAgICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtd3JhcHBlciArIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLWdyb3VwLS1xdHkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGNvbG9yOiAjM0UzRTNFO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTsgfVxuICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLWxhYmVsOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICc6JzsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy12YWx1ZSB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgY29sb3I6ICMzRTNFM0U7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXZhbHVlX192YWx1ZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXZhbHVlX192YWx1ZSAucHJpY2Uge1xuICAgICAgICBjb2xvcjogIzIxMjEyMTsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMS4ycmVtOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19hY3Rpb24td3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eSxcbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3QgLmNzLXF0eS1pbmNyZW1lbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMSAwIDlyZW07XG4gICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWlucHV0IHtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBwYWRkaW5nOiAxMXB4IDEwcHg7XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjVzO1xuICAgIG1hcmdpbjogMCAwIDAuMmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDQwcHg7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgaGVpZ2h0OiAzcmVtO1xuICAgIHdpZHRoOiA0cmVtO1xuICAgIG1heC13aWR0aDogNHJlbTtcbiAgICBmb250LXNpemU6IDEuMnJlbTsgfVxuICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktaW5wdXQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWlucHV0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRkY0NjA0O1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjb2xvcjogIzZFNkU2RTsgfVxuICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktaW5wdXRbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIjtcbiAgICBwYWRkaW5nOiA4cHggMjVweDtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGhlaWdodDogM3JlbTtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1idXR0b24ubWVkaXVtIHtcbiAgICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1idXR0b24ubGFyZ2Uge1xuICAgICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1idXR0b24sIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktYnV0dG9uOnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktYnV0dG9uICosIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktYnV0dG9uOnZpc2l0ZWQgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNzQ0MjsgfVxuICAgICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktYnV0dG9uLXNwYW4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktYnV0dG9uLWljb24ge1xuICAgIG1heC13aWR0aDogMWVtO1xuICAgIG1heC1oZWlnaHQ6IDEuNHJlbTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjFlbTsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fYWN0aW9uOmhvdmVyIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXRpdGxlLXN2ZyAqLFxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fYWN0aW9uOmhvdmVyIC5jcy1taW5pY2FydC1wcm9kdWN0X19hY3Rpb24taWNvbiAqLCAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy10aXRsZTpob3ZlciAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy10aXRsZS1zdmcgKixcbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtdGl0bGU6aG92ZXIgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX2FjdGlvbi1pY29uICoge1xuICAgIGZpbGw6ICMwMDA7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX2FjdGlvbi1pY29uIHtcbiAgICB3aWR0aDogMS42cmVtO1xuICAgIGhlaWdodDogMS42cmVtOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19hY3Rpb24taWNvbiAqLCAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy10aXRsZS1zdmcgKiB7XG4gICAgZmlsbDogIzAwMDsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fYWN0aW9uLWxhYmVsIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgLyogMSAqLyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZpZWxkL21peGluJztcbkBpbXBvcnQgJ3V0aWxzL3Zpc3VhbGx5LWhpZGRlbic7XG5AaW1wb3J0ICdldGMvdmlldy5zY3NzJztcbkBpbXBvcnQgJ3V0aWxzL2RlZXAtZ2V0L2RlZXAtZ2V0LnNjc3MnO1xuXG4kbWluaWNhcnQtb2ZmY2FudmFzOiBkZWVwLWdldChcbiAgICAkdmlldy14bWwsXG4gICAgdmFycyxcbiAgICBNYWdlbnRvX0NoZWNrb3V0LFxuICAgIG1pbmljYXJ0X29mZmNhbnZhcyxcbiAgICBlbmFibGVkXG4pICFkZWZhdWx0O1xuXG4kbWluaWNhcnQtcHJvZHVjdF9hY3Rpb24taWNvbi1jb2xvcjogJGNvbG9yX2JsYWNrICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3RfYWN0aW9uLWljb24tY29sb3ItaG92ZXI6ICRjb2xvcl9ibGFjayAhZGVmYXVsdDtcblxuJG1pbmljYXJ0LW9mZmNhbnZhcy1wcm9kdWN0X2FjdGlvbi1pY29uLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3RfYWN0aW9uLWljb24tY29sb3ItLWhvdmVyOiAkbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3RfYWN0aW9uLWljb24tY29sb3IgIWRlZmF1bHQ7XG5cbiRtaW5pY2FydC1wcm9kdWN0X2JyYW5kLWZvbnQtc2l6ZTogMS4ycmVtICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3RfYnJhbmQtY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcbiRtaW5pY2FydC1wcm9kdWN0X2JyYW5kLWFsaWdubWVudDogbGVmdCAhZGVmYXVsdDtcblxuJG1pbmljYXJ0LXByb2R1Y3Rfb3ZlcnZpZXctZm9udC1zaXplOiAxLjNyZW0gIWRlZmF1bHQ7XG4kbWluaWNhcnQtcHJvZHVjdF9uYW1lLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kbWluaWNhcnQtcHJvZHVjdF9uYW1lLWNvbG9yLWhvdmVyOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kbWluaWNhcnQtcHJvZHVjdF9uYW1lLXBhZGRpbmc6IDEuMnJlbSAhZGVmYXVsdDtcbiRtaW5pY2FydC1wcm9kdWN0X25hbWUtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcblxuJG1pbmljYXJ0LXByb2R1Y3Qtb3B0aW9ucy10aXRsZS1jb2xvcjogJGNvbG9yX3RleHQtNjAwICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3Rfb3B0aW9ucy1mb250LXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcbiRtaW5pY2FydC1wcm9kdWN0X29wdGlvbnMtbGFiZWwtY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcbiRtaW5pY2FydC1wcm9kdWN0X29wdGlvbnMtdmFsdWUtY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcbiRtaW5pY2FydC1wcm9kdWN0X29wdGlvbnNfdG9nZ2xlLXBhZGRpbmc6IDEuMnJlbSAhZGVmYXVsdDtcbiRtaW5pY2FydC1wcm9kdWN0LW9wdGlvbnNfdG9nZ2xlLWRpc2FibGU6IGZhbHNlICFkZWZhdWx0O1xuXG4kbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3Qtb3B0aW9ucy10aXRsZS1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJG1pbmljYXJ0LW9mZmNhbnZhcy1wcm9kdWN0X29wdGlvbnMtdGl0bGUtZm9udC1zaXplOiAxLjNyZW0gIWRlZmF1bHQ7XG4kbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3Rfb3B0aW9ucy1sYWJlbC1mb250LXNpemU6IDEuMXJlbSAhZGVmYXVsdDtcbiRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdC1vcHRpb25zLWxhYmVsLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3Qtb3B0aW9ucy1sYWJlbC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuXG4kbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3RfYWN0aW9uLWljb24tc2l6ZTogMnJlbSAhZGVmYXVsdDtcblxuJG1pbmljYXJ0LXByb2R1Y3RfcHJpY2UtY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcblxuJG1pbmljYXJ0LXByb2R1Y3RfcXR5LWVuYWJsZTogdHJ1ZSAhZGVmYXVsdDtcbiRtaW5pY2FydC1wcm9kdWN0X3F0eS1oZWlnaHQ6IDNyZW0gIWRlZmF1bHQ7XG4kbWluaWNhcnQtcHJvZHVjdF9xdHktZm9udC1zaXplOiAxLjJyZW0gIWRlZmF1bHQ7XG4kbWluaWNhcnQtcHJvZHVjdF9xdHktYnV0dG9uLXR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3RfcXR5LWJ1dHRvbi1pY29uLXBvczogJ29ubHktaWNvbicgIWRlZmF1bHQ7XG5cbi4jeyRuc31taW5pY2FydC1wcm9kdWN0IHtcbiAgICAkcm9vdDogJjtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAmX19pbWFnZS1jb250YWluZXIge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgICZfX292ZXJ2aWV3IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICB9XG5cbiAgICAmX19kZXRhaWxzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fYnJhbmQtd3JhcHBlciB7XG4gICAgICAgIHRleHQtYWxpZ246ICRtaW5pY2FydC1wcm9kdWN0X2JyYW5kLWFsaWdubWVudDtcbiAgICB9XG5cbiAgICAmX19icmFuZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJG1pbmljYXJ0LXByb2R1Y3RfYnJhbmQtZm9udC1zaXplO1xuICAgICAgICBjb2xvcjogJG1pbmljYXJ0LXByb2R1Y3RfYnJhbmQtY29sb3I7XG4gICAgfVxuXG4gICAgJl9fbmFtZS13cmFwcGVyIHtcbiAgICAgICAgZmxleC1iYXNpczogNTUlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJG1pbmljYXJ0LXByb2R1Y3RfbmFtZS1wYWRkaW5nO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXNpemU6ICRtaW5pY2FydC1wcm9kdWN0X292ZXJ2aWV3LWZvbnQtc2l6ZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZUxnJykge1xuICAgICAgICAgICAgZmxleC1iYXNpczogNzAlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbmFtZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6ICRtaW5pY2FydC1wcm9kdWN0X25hbWUtY29sb3I7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkbWluaWNhcnQtcHJvZHVjdF9uYW1lLWZvbnQtd2VpZ2h0O1xuXG4gICAgICAgICY6dmlzaXRlZCxcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogJG1pbmljYXJ0LXByb2R1Y3RfbmFtZS1jb2xvci1ob3ZlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkbWluaWNhcnQtb2ZmY2FudmFzIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0tcHJpY2luZyB7XG4gICAgICAgIEBpZiAkbWluaWNhcnQtb2ZmY2FudmFzIHtcbiAgICAgICAgICAgIG9yZGVyOiAzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcHJpY2Uge1xuICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkbWluaWNhcnQtcHJvZHVjdF9vdmVydmlldy1mb250LXNpemU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgY29sb3I6ICRtaW5pY2FydC1wcm9kdWN0X3ByaWNlLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAgICAgLnByaWNlLWluY2x1ZGluZy10YXgsXG4gICAgICAgICAgICAucHJpY2UtZXhjbHVkaW5nLXRheCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkbWluaWNhcnQtcHJvZHVjdF9vdmVydmlldy1mb250LXNpemU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3ByaWNlLWxhYmVsLFxuICAgICZfX29wdGlvbnMtc3VidGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICZfX29wdGlvbnMtdGl0bGUge1xuICAgICAgICBAaWYgKCRtaW5pY2FydC1wcm9kdWN0LW9wdGlvbnNfdG9nZ2xlLWRpc2FibGUpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkbWluaWNhcnQtcHJvZHVjdF9vcHRpb25zLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkbWluaWNhcnQtcHJvZHVjdC1vcHRpb25zLXRpdGxlLWNvbG9yO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9J3RydWUnXSB7XG4gICAgICAgICAgICAgICAgPiAjeyRyb290fV9fb3B0aW9ucy10aXRsZS1zdmcge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdF9vcHRpb25zLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3Qtb3B0aW9ucy10aXRsZS1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX29wdGlvbnMtdGl0bGUtc3ZnIHtcbiAgICAgICAgd2lkdGg6IDFyZW07XG4gICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uLWRlZmF1bHQtdGltZVxuICAgICAgICAgICAgJHRyYW5zaXRpb24tZWFzaW5nX3Nsb3dkb3duLTkwMDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAmX19vcHRpb25zLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTAuNHJlbTtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTtcblxuICAgICAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJG1pbmljYXJ0LXByb2R1Y3Rfb3B0aW9uc190b2dnbGUtcGFkZGluZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX29wdGlvbnMtZ3JvdXAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICYtLXF0eSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19vcHRpb25zLXdyYXBwZXIgKyAmIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19vcHRpb25zLWNvbnRlbnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaWYgKCRtaW5pY2FydC1wcm9kdWN0LW9wdGlvbnNfdG9nZ2xlLWRpc2FibGUpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fb3B0aW9ucy1sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJG1pbmljYXJ0LXByb2R1Y3Rfb3B0aW9ucy1mb250LXNpemU7XG4gICAgICAgIGNvbG9yOiAkbWluaWNhcnQtcHJvZHVjdF9vcHRpb25zLWxhYmVsLWNvbG9yO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnOic7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdF9vcHRpb25zLWxhYmVsLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3Qtb3B0aW9ucy1sYWJlbC1mb250LXdlaWdodDtcbiAgICAgICAgICAgIGNvbG9yOiAkbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3Qtb3B0aW9ucy1sYWJlbC1jb2xvcjtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19vcHRpb25zLXZhbHVlIHtcbiAgICAgICAgZm9udC1zaXplOiAkbWluaWNhcnQtcHJvZHVjdF9vcHRpb25zLWZvbnQtc2l6ZTtcbiAgICAgICAgY29sb3I6ICRtaW5pY2FydC1wcm9kdWN0X29wdGlvbnMtdmFsdWUtY29sb3I7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICZfX3ZhbHVlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG1pbmljYXJ0LXByb2R1Y3RfcHJpY2UtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6ICRtaW5pY2FydC1wcm9kdWN0X29wdGlvbnNfdG9nZ2xlLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgJl9fYWN0aW9uLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICB9XG5cbiAgICBAaWYgKCRtaW5pY2FydC1wcm9kdWN0X3F0eS1lbmFibGUpIHtcbiAgICAgICAgJl9fcXR5LFxuICAgICAgICAuY3MtcXR5LWluY3JlbWVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleDogMSAwIDlyZW07XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3F0eS1sYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fcXR5LWlucHV0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLWlucHV0KCk7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGhlaWdodDogJG1pbmljYXJ0LXByb2R1Y3RfcXR5LWhlaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiA0cmVtO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA0cmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkbWluaWNhcnQtcHJvZHVjdF9xdHktZm9udC1zaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fcXR5LWJ1dHRvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRtaW5pY2FydC1wcm9kdWN0X3F0eS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRtaW5pY2FydC1wcm9kdWN0X3F0eS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB3aWR0aDogM3JlbTtcbiAgICAgICAgICAgIGhlaWdodDogJG1pbmljYXJ0LXByb2R1Y3RfcXR5LWhlaWdodDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmX19xdHktYnV0dG9uLXNwYW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRtaW5pY2FydC1wcm9kdWN0X3F0eS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRtaW5pY2FydC1wcm9kdWN0X3F0eS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19xdHktYnV0dG9uLWljb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2ljb24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRtaW5pY2FydC1wcm9kdWN0X3F0eS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRtaW5pY2FydC1wcm9kdWN0X3F0eS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgJl9fcXR5LFxuICAgICAgICAuY3MtcXR5LWluY3JlbWVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWN0aW9uLFxuICAgICZfX29wdGlvbnMtdGl0bGUge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICN7JHJvb3R9X19vcHRpb25zLXRpdGxlLXN2ZyxcbiAgICAgICAgICAgICN7JHJvb3R9X19hY3Rpb24taWNvbiB7XG4gICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRtaW5pY2FydC1wcm9kdWN0X2FjdGlvbi1pY29uLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FjdGlvbi1pY29uIHtcbiAgICAgICAgd2lkdGg6IDEuNnJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjZyZW07XG5cbiAgICAgICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAgICAgd2lkdGg6ICRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdF9hY3Rpb24taWNvbi1zaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3RfYWN0aW9uLWljb24tc2l6ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FjdGlvbi1pY29uLFxuICAgICZfX29wdGlvbnMtdGl0bGUtc3ZnIHtcbiAgICAgICAgKiB7XG4gICAgICAgICAgICBmaWxsOiAkbWluaWNhcnQtcHJvZHVjdF9hY3Rpb24taWNvbi1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FjdGlvbi1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuICAgIH1cblxuICAgIEBpZiAkbWluaWNhcnQtb2ZmY2FudmFzIHtcbiAgICAgICAgJl9fb3B0aW9ucy10aXRsZSB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAjeyRyb290fV9fb3B0aW9ucy10aXRsZS1zdmcge1xuICAgICAgICAgICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdF9hY3Rpb24taWNvbi1jb2xvci0taG92ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19vcHRpb25zLXRpdGxlLXN2ZyB7XG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3RfYWN0aW9uLWljb24tY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jcy1mcmVlLXNoaXBwaW5nLWluZGljYXRvcl9fY29udGVudCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGNkY2RjO1xuICBwYWRkaW5nOiAxLjVyZW0gMnJlbSAycmVtO1xuICBjb2xvcjogIzY5Njk2OTtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLmNzLWZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX19jZWxsIHtcbiAgcGFkZGluZy10b3A6IDEuNHJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuNHJlbTtcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi5jcy1mcmVlLXNoaXBwaW5nLWluZGljYXRvcl9fdG90YWwtbGVmdC10ZXh0IHNwYW4ge1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5jcy1mcmVlLXNoaXBwaW5nLWluZGljYXRvcl9fdG90YWwtZnVsZmlsbGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAyLjhyZW07XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy9tZXNzYWdlcy9pY29uLXN1Y2Nlc3Muc3ZnXCIpIDAgNTAlIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAycmVtOyB9XG5cbi5jcy1mcmVlLXNoaXBwaW5nLWluZGljYXRvcl9fYmFyLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5jcy1mcmVlLXNoaXBwaW5nLWluZGljYXRvcl9fYmFyLWxhYmVsIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGNvbG9yOiAjQTlDNTQ2O1xuICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5jcy1mcmVlLXNoaXBwaW5nLWluZGljYXRvcl9fYmFyLWxhYmVsLS1zdGFydCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC5jcy1mcmVlLXNoaXBwaW5nLWluZGljYXRvcl9fYmFyLWxhYmVsLS1lbmQge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG5cbi5jcy1mcmVlLXNoaXBwaW5nLWluZGljYXRvcl9fYmFyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMnJlbTtcbiAgcGFkZGluZzogMC40cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYjBiMGIwO1xuICBib3JkZXItcmFkaXVzOiA0LjJweDsgfVxuXG4uY3MtZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfX2Jhci1wcm9ncmVzcy13cmFwcGVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG5cbi5jcy1mcmVlLXNoaXBwaW5nLWluZGljYXRvcl9fYmFyLXByb2dyZXNzIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMDtcbiAgYmFja2dyb3VuZDogI0E5QzU0NjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjU1cyBjdWJpYy1iZXppZXIoMCwgMC42NiwgMC4zMiwgMC45OSk7IH1cblxuLmNzLWZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX19pY29uIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAzLjRyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgbWFyZ2luOiAwIDAgMCAyLjVyZW07XG4gIGZpbGw6ICM2RTZFNkU7XG4gIHRyYW5zaXRpb246IGZpbGwgMC4zczsgfVxuICAuY3MtZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfX2Jhci13cmFwcGVyLS1mcmVlLXNoaXBwaW5nLWFjdGl2ZSAuY3MtZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfX2ljb24ge1xuICAgIGZpbGw6ICNBOUM1NDY7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuXG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfcGFkZGluZzogMS41cmVtIDJyZW0gMnJlbSAhZGVmYXVsdDtcbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9mb250LXNpemU6IDEuNHJlbSAhZGVmYXVsdDtcbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9zZXBhcmF0b3I6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcblxuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX3ByaWNlLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG5cbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9mdWxmaWxsZWQtaWNvbi11cmw6ICcuLi9pbWFnZXMvaWNvbnMvbWVzc2FnZXMvaWNvbi1zdWNjZXNzLnN2ZycgIWRlZmF1bHQ7XG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfZnVsZmlsbGVkLWljb24tc2l6ZTogMnJlbSAhZGVmYXVsdDsgLy8gYmFja2dyb3VuZC1zaXplIGZvcm1hdCAoMnJlbSAxcmVtIG9yIDJyZW0gPT09IDJyZW0gMnJlbSlcblxuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1sYWJlbC1jb2xvcjogJGNvbG9yX3N1Y2Nlc3MtNTAwICFkZWZhdWx0O1xuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1sYWJlbC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1sYWJlbC1zcGFjaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItcGFkZGluZzogMC40cmVtICFkZWZhdWx0O1xuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3Jfc2lsdmVyLWNoYWxpY2UgIWRlZmF1bHQ7XG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2UgKiAxLjQgIWRlZmF1bHQ7XG5cbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItcHJvZ3Jlc3Mtd3JhcHBlci1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItcHJvZ3Jlc3MtYmFja2dyb3VuZDogJGNvbG9yX3N1Y2Nlc3MtNTAwICFkZWZhdWx0O1xuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1wcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1wcm9ncmVzcy10cmFuc2l0aW9uOiB3aWR0aCAwLjU1c1xuICAgICR0cmFuc2l0aW9uLWVhc2luZ19zbG93ZG93bi05MDAgIWRlZmF1bHQ7XG5cbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9pY29uLXdpZHRoOiAzLjRyZW0gIWRlZmF1bHQ7XG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfaWNvbi1oZWlnaHQ6IDJyZW0gIWRlZmF1bHQ7XG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfaWNvbi1tYXJnaW46IDAgMCAwIDIuNXJlbSAhZGVmYXVsdDtcbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9pY29uLWNvbG9yOiAkY29sb3JfZ3JheSAhZGVmYXVsdDtcbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9pY29uLWNvbG9yLS1mcmVlLXNoaXBwaW5nLWFwcGxpZWQ6ICRjb2xvcl9zdWNjZXNzLTUwMCAhZGVmYXVsdDtcblxuLiN7JG5zfWZyZWUtc2hpcHBpbmctaW5kaWNhdG9yIHtcbiAgICAkcm9vdDogJjtcblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBib3JkZXItdG9wOiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3Jfc2VwYXJhdG9yO1xuICAgICAgICBwYWRkaW5nOiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfcGFkZGluZztcbiAgICAgICAgY29sb3I6ICRjb2xvcl90ZXh0LTUwMDtcbiAgICAgICAgZm9udC1zaXplOiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfZm9udC1zaXplO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgICZfX2NlbGwge1xuICAgICAgICBwYWRkaW5nLXRvcDogMS40cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS40cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJl9fdG90YWwtbGVmdC10ZXh0IHtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX3ByaWNlLWZvbnQtd2VpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdG90YWwtZnVsZmlsbGVkIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjhyZW07XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfZnVsZmlsbGVkLWljb24tdXJsKSAwIDUwJVxuICAgICAgICAgICAgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9mdWxmaWxsZWQtaWNvbi1zaXplO1xuICAgIH1cblxuICAgICZfX2Jhci13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19iYXItbGFiZWwge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgY29sb3I6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItbGFiZWwtY29sb3I7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLWxhYmVsLWZvbnQtd2VpZ2h0O1xuXG4gICAgICAgICYtLXN0YXJ0IHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1sYWJlbC1zcGFjaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tZW5kIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLWxhYmVsLXNwYWNpbmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19iYXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLWhlaWdodDtcbiAgICAgICAgcGFkZGluZzogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1wYWRkaW5nO1xuICAgICAgICBib3JkZXI6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItYm9yZGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgJl9fYmFyLXByb2dyZXNzLXdyYXBwZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItcHJvZ3Jlc3Mtd3JhcHBlci1iYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLXByb2dyZXNzLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgJl9fYmFyLXByb2dyZXNzIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1wcm9ncmVzcy1iYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLXByb2dyZXNzLWJvcmRlci1yYWRpdXM7XG4gICAgICAgIHRyYW5zaXRpb246ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItcHJvZ3Jlc3MtdHJhbnNpdGlvbjtcbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHdpZHRoOiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfaWNvbi13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfaWNvbi1oZWlnaHQ7XG4gICAgICAgIG1hcmdpbjogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2ljb24tbWFyZ2luO1xuICAgICAgICBmaWxsOiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfaWNvbi1jb2xvcjtcbiAgICAgICAgdHJhbnNpdGlvbjogZmlsbCAkdHJhbnNpdGlvbi1kZWZhdWx0LXRpbWU7XG5cbiAgICAgICAgI3skcm9vdH1fX2Jhci13cmFwcGVyLS1mcmVlLXNoaXBwaW5nLWFjdGl2ZSAmIHtcbiAgICAgICAgICAgIGZpbGw6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9pY29uLWNvbG9yLS1mcmVlLXNoaXBwaW5nLWFwcGxpZWQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKipcbiAqIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyczpcbiAqIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKlxuICogMS4gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAqICAgIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICogICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyNMMTMwXG4gKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eSAqL1xuLm1vZGFsLXNsaWRlLmNvbmZpcm0gLm1vZGFsLWlubmVyLXdyYXAsXG4ubW9kYWwtcG9wdXAuY29uZmlybSAubW9kYWwtaW5uZXItd3JhcCxcbi5tb2RhbC1jdXN0b20uY29uZmlybSAubW9kYWwtaW5uZXItd3JhcCB7XG4gIG1heC13aWR0aDogNTByZW07IH1cblxuLm1vZGFsLXNsaWRlIC5tb2RhbC1pbm5lci13cmFwLFxuLm1vZGFsLXBvcHVwIC5tb2RhbC1pbm5lci13cmFwLFxuLm1vZGFsLWN1c3RvbSAubW9kYWwtaW5uZXItd3JhcCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDFweCAzcHggM3JlbSAwIHJnYmEoMzMsIDMzLCAzMywgMC4yOCk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4ubW9kYWwtc2xpZGUgLm1vZGFsLWNvbnRlbnQsXG4ubW9kYWwtcG9wdXAgLm1vZGFsLWNvbnRlbnQsXG4ubW9kYWwtY3VzdG9tIC5tb2RhbC1jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICBmb250LXNpemU6IDEuNnJlbTsgfVxuXG4ubW9kYWwtc2xpZGUgLm1vZGFsLWhlYWRlcixcbi5tb2RhbC1wb3B1cCAubW9kYWwtaGVhZGVyLFxuLm1vZGFsLWN1c3RvbSAubW9kYWwtaGVhZGVyIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBtaW4taGVpZ2h0OiA2NXB4OyB9XG5cbi5tb2RhbC1zbGlkZSAuYWN0aW9uLWNsb3NlLFxuLm1vZGFsLXBvcHVwIC5hY3Rpb24tY2xvc2UsXG4ubW9kYWwtY3VzdG9tIC5hY3Rpb24tY2xvc2Uge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgbWFyZ2luOiAxLjVyZW07XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9jbG9zZS5zdmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxNXB4O1xuICB3aWR0aDogM3JlbTtcbiAgaGVpZ2h0OiAzcmVtOyB9XG4gIC5pZTExIC5tb2RhbC1zbGlkZSAuYWN0aW9uLWNsb3NlLCAuaWUxMVxuICAubW9kYWwtcG9wdXAgLmFjdGlvbi1jbG9zZSwgLmllMTFcbiAgLm1vZGFsLWN1c3RvbSAuYWN0aW9uLWNsb3NlIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwcHggMTBweDsgfVxuICAubW9kYWwtc2xpZGUgLmFjdGlvbi1jbG9zZSBzcGFuLFxuICAubW9kYWwtcG9wdXAgLmFjdGlvbi1jbG9zZSBzcGFuLFxuICAubW9kYWwtY3VzdG9tIC5hY3Rpb24tY2xvc2Ugc3BhbiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC8qIDEgKi8gfVxuXG4ubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3Rlcixcbi5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyLFxuLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIHtcbiAgcGFkZGluZzogMnJlbTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkY2RjZGM7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMzkuOTllbSkge1xuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnksXG4gIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5LFxuICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnksXG4gIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5LFxuICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5LFxuICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnByaW1hcnkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIjtcbiAgICBwYWRkaW5nOiA4cHggMjVweDtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjtcbiAgICBtaW4td2lkdGg6IDEycmVtOyB9XG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5Lm1lZGl1bSxcbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeS5tZWRpdW0sXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5Lm1lZGl1bSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeS5tZWRpdW0sXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeS5tZWRpdW0sXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5Lm1lZGl1bSB7XG4gICAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeS5sYXJnZSxcbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeS5sYXJnZSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnkubGFyZ2UsXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnByaW1hcnkubGFyZ2UsXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeS5sYXJnZSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnByaW1hcnkubGFyZ2Uge1xuICAgICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnksIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTp2aXNpdGVkLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5LFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OnZpc2l0ZWQsXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5LFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTp2aXNpdGVkLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5LFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OnZpc2l0ZWQsXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OnZpc2l0ZWQsXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5LFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeTp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0OyB9XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnkgKiwgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OnZpc2l0ZWQgKixcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5ICosXG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeTp2aXNpdGVkICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTp2aXNpdGVkICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeSAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6dmlzaXRlZCAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeSAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTp2aXNpdGVkICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnByaW1hcnkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeTp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNzQ0MjsgfVxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5W2Rpc2FibGVkXSxcbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeVtkaXNhYmxlZF0sXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5W2Rpc2FibGVkXSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeVtkaXNhYmxlZF0sXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeVtkaXNhYmxlZF0sXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5W2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDM5Ljk5ZW0pIHtcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeSxcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5LFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5LFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnByaW1hcnksXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5LFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeSBzcGFuLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5IHNwYW4sXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5IHNwYW4sXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnByaW1hcnkgc3BhbixcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5IHNwYW4sXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5IHNwYW4ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB9XG4gIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LFxuICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5LFxuICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSxcbiAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSxcbiAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LFxuICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICAgIHBhZGRpbmc6IDhweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yO1xuICAgIG1pbi13aWR0aDogMTJyZW07IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeS5tZWRpdW0sXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeS5tZWRpdW0sXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkubWVkaXVtLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkubWVkaXVtLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeS5tZWRpdW0sXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkubWVkaXVtIHtcbiAgICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkubGFyZ2UsXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeS5sYXJnZSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeS5sYXJnZSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5LmxhcmdlLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeS5sYXJnZSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeS5sYXJnZSB7XG4gICAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTp2aXNpdGVkLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnksXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTp2aXNpdGVkLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OnZpc2l0ZWQsXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OnZpc2l0ZWQsXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTp2aXNpdGVkLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5LFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5ICosIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OnZpc2l0ZWQgKixcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkgKixcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6dmlzaXRlZCAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OnZpc2l0ZWQgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6dmlzaXRlZCAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5ICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6dmlzaXRlZCAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OnZpc2l0ZWQgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmaWxsOiAjRkY0NjA0OyB9XG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0UzRTNFOyB9XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeVtkaXNhYmxlZF0sXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeVtkaXNhYmxlZF0sXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnlbZGlzYWJsZWRdLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnlbZGlzYWJsZWRdLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeVtkaXNhYmxlZF0sXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnlbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IGF1dG87IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMzkuOTllbSkge1xuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnksXG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5LFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnksXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5LFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH0gfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5IHNwYW4sXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSBzcGFuLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5IHNwYW4sXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSBzcGFuLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSBzcGFuLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5IHNwYW4ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB9XG4gICAgYm9keS5jaGVja291dC1pbmRleC1pbmRleCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gICAgICBwYWRkaW5nOiA4cHggMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB6LWluZGV4OiA1O1xuICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjtcbiAgICAgIG1pbi13aWR0aDogMTJyZW07IH1cbiAgICAgIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkubWVkaXVtLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5Lm1lZGl1bSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkubWVkaXVtLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5Lm1lZGl1bSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5Lm1lZGl1bSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkubWVkaXVtIHtcbiAgICAgICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgICAgYm9keS5jaGVja291dC1pbmRleC1pbmRleCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeS5sYXJnZSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeS5sYXJnZSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkubGFyZ2UsIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkubGFyZ2UsIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeS5sYXJnZSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkubGFyZ2Uge1xuICAgICAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gICAgICBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4IC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OjotbW96LWZvY3VzLWlubmVyLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OjotbW96LWZvY3VzLWlubmVyLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTo6LW1vei1mb2N1cy1pbm5lciwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTo6LW1vei1mb2N1cy1pbm5lciwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OjotbW96LWZvY3VzLWlubmVyLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4IC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4IC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OnZpc2l0ZWQsIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6dmlzaXRlZCwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OnZpc2l0ZWQsIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6dmlzaXRlZCwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6dmlzaXRlZCwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OnZpc2l0ZWQge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gICAgICAgIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTp2aXNpdGVkICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6dmlzaXRlZCAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5ICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6dmlzaXRlZCAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OnZpc2l0ZWQgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6dmlzaXRlZCAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5ICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6dmlzaXRlZCAqIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICBmaWxsOiAjRkY0NjA0OyB9XG4gICAgICBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4IC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzRTNFM0U7IH1cbiAgICAgICAgYm9keS5jaGVja291dC1pbmRleC1pbmRleCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgICAgYm9keS5jaGVja291dC1pbmRleC1pbmRleCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeVtkaXNhYmxlZF0sIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnlbZGlzYWJsZWRdLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeVtkaXNhYmxlZF0sIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnlbZGlzYWJsZWRdLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnlbZGlzYWJsZWRdLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeVtkaXNhYmxlZF0ge1xuICAgICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgICBjdXJzb3I6IGF1dG87IH1cbiAgICAgIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkgc3BhbiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSBzcGFuLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSBzcGFuLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5IHNwYW4sIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSBzcGFuLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSBzcGFuIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB9XG4gIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkLFxuICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZCxcbiAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gICAgcGFkZGluZzogOHB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7XG4gICAgbWluLXdpZHRoOiAxMnJlbTsgfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkLm1lZGl1bSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZC5tZWRpdW0sXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkLm1lZGl1bSB7XG4gICAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkLmxhcmdlLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkLmxhcmdlLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZC5sYXJnZSB7XG4gICAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQsIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOnZpc2l0ZWQsXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQsXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6dmlzaXRlZCxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQsXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkICosIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOnZpc2l0ZWQgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDp2aXNpdGVkICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDphY3RpdmU6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNzQ0MjsgfVxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGRbZGlzYWJsZWRdLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkW2Rpc2FibGVkXSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGRbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IGF1dG87IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZCBzcGFuLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkIHNwYW4sXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkIHNwYW4ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB9XG5cbi5tb2RhbC1zbGlkZSAubW9kYWwtdGl0bGUsXG4ubW9kYWwtcG9wdXAgLm1vZGFsLXRpdGxlLFxuLm1vZGFsLWN1c3RvbSAubW9kYWwtdGl0bGUge1xuICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBVYnVudHUsIENhbnRhcmVsbCwgT3h5Z2VuLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBjb2xvcjogIzIxMjEyMTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luOiAxcmVtIDAgMnJlbTtcbiAgcGFkZGluZzogMnJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7XG4gIG1hcmdpbjogMDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAubW9kYWwtcG9wdXAubW9kYWwtc2xpZGUgLm1vZGFsLWlubmVyLXdyYXBbY2xhc3NdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDM5Ljk5ZW0pIHtcbiAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAzOS45OWVtKSB7XG4gIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeSxcbiAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnByaW1hcnkge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDM5Ljk5ZW0pIHtcbiAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnksXG4gIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OyB9IH1cblxuLmllMTEgLm1vZGFsLXBvcHVwOm5vdCguY3MtdmlkZW8tcGxheWVyX19tb2RhbCkgLm1vZGFsLWNvbnRlbnQge1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzNyZW0pOyB9XG5cbi5wYWdlLWxheW91dC1jaGVja291dCAubW9kYWwtcG9wdXAge1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLm1vZGFsLXNsaWRlIHtcbiAgICB3aWR0aDogODAlO1xuICAgIG1heC13aWR0aDogNjVyZW07XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfSB9XG5cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5mYW5jeWJveC1vdmVybGF5IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpOyB9XG5cbi5mYW5jeWJveC1kZXNrdG9wLmZhbmN5Ym94LXR5cGUtaWZyYW1lLmZhbmN5Ym94LW9wZW5lZCB7XG4gIG1heC13aWR0aDogMTE3MHB4O1xuICB3aWR0aDogODV2dyAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgLmZhbmN5Ym94LWRlc2t0b3AuZmFuY3lib3gtdHlwZS1pZnJhbWUuZmFuY3lib3gtb3BlbmVkIHtcbiAgICAgIHdpZHRoOiA5NXZ3ICFpbXBvcnRhbnQ7XG4gICAgICBsZWZ0OiAyLjV2dyAhaW1wb3J0YW50OyB9IH1cblxuLmZhbmN5Ym94LWRlc2t0b3AuZmFuY3lib3gtdHlwZS1pbmxpbmUge1xuICBtYXgtd2lkdGg6IDQ4MHB4O1xuICB3aWR0aDogOTV2dyAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgLmZhbmN5Ym94LWRlc2t0b3AuZmFuY3lib3gtdHlwZS1pbmxpbmUge1xuICAgICAgbGVmdDogMi41dncgIWltcG9ydGFudDsgfSB9XG4gIC5mYW5jeWJveC1kZXNrdG9wLmZhbmN5Ym94LXR5cGUtaW5saW5lIC5mYW5jeWJveC1za2luIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG4gIC5mYW5jeWJveC1kZXNrdG9wLmZhbmN5Ym94LXR5cGUtaW5saW5lIC5oZWFkZXIsXG4gIC5mYW5jeWJveC1kZXNrdG9wLmZhbmN5Ym94LXR5cGUtaW5saW5lIC5jYXJ0LWluZm8ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZhbmN5Ym94LWRlc2t0b3AgLmZhbmN5Ym94LWlubmVyIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgbWF4LWhlaWdodDogNzM1cHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogNDVweCAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgLmZhbmN5Ym94LWRlc2t0b3AgLmZhbmN5Ym94LWlubmVyIHtcbiAgICAgIHBhZGRpbmc6IDQwcHggMCAwcHg7IH0gfVxuXG4uZmFuY3lib3gtc2tpbiAuZmFuY3lib3gtY2xvc2Uge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBsZWZ0OiAzMXB4O1xuICByaWdodDogYXV0bztcbiAgdG9wOiAyMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogMjNweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgIC5mYW5jeWJveC1za2luIC5mYW5jeWJveC1jbG9zZSB7XG4gICAgICBsZWZ0OiAyNXB4O1xuICAgICAgdG9wOiAxMnB4OyB9IH1cbiAgLmZhbmN5Ym94LXNraW4gLmZhbmN5Ym94LWNsb3NlOmJlZm9yZSwgLmZhbmN5Ym94LXNraW4gLmZhbmN5Ym94LWNsb3NlOmFmdGVyIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7IH1cbiAgLmZhbmN5Ym94LXNraW4gLmZhbmN5Ym94LWNsb3NlOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1gnO1xuICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gIC5mYW5jeWJveC1za2luIC5mYW5jeWJveC1jbG9zZTphZnRlciB7XG4gICAgY29udGVudDogJ0Nsb3NlJzsgfVxuXG4jYnNzX2FqYXhjYXJ0X3BvcHVwIC5wcm9kdWN0LWltYWdlIHtcbiAgbWF4LXdpZHRoOiAzMTBweDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuI2Jzc19hamF4Y2FydF9wb3B1cCAubWVzc2FnZSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG5cbiNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi12aWV3Y2FydCBidXR0b24udmlld2NhcnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gIG1hcmdpbjogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gIHBhZGRpbmc6IDhweCAyNXB4O1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB6LWluZGV4OiA1O1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yO1xuICBiYWNrZ3JvdW5kOiAjMDAwICFpbXBvcnRhbnQ7IH1cbiAgI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLXZpZXdjYXJ0IGJ1dHRvbi52aWV3Y2FydC5tZWRpdW0ge1xuICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tdmlld2NhcnQgYnV0dG9uLnZpZXdjYXJ0LmxhcmdlIHtcbiAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLXZpZXdjYXJ0IGJ1dHRvbi52aWV3Y2FydDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi12aWV3Y2FydCBidXR0b24udmlld2NhcnQsICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi12aWV3Y2FydCBidXR0b24udmlld2NhcnQ6dmlzaXRlZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gICAgI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLXZpZXdjYXJ0IGJ1dHRvbi52aWV3Y2FydCAqLCAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tdmlld2NhcnQgYnV0dG9uLnZpZXdjYXJ0OnZpc2l0ZWQgKiB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZpbGw6ICNGRjQ2MDQ7IH1cbiAgI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLXZpZXdjYXJ0IGJ1dHRvbi52aWV3Y2FydDpob3Zlcjpub3QoW2Rpc2FibGVkXSksICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi12aWV3Y2FydCBidXR0b24udmlld2NhcnQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tdmlld2NhcnQgYnV0dG9uLnZpZXdjYXJ0OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNFM0UzRTsgfVxuICAgICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi12aWV3Y2FydCBidXR0b24udmlld2NhcnQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi12aWV3Y2FydCBidXR0b24udmlld2NhcnQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi12aWV3Y2FydCBidXR0b24udmlld2NhcnQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tdmlld2NhcnQgYnV0dG9uLnZpZXdjYXJ0W2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC42NTtcbiAgICBjdXJzb3I6IGF1dG87IH1cbiAgI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLXZpZXdjYXJ0IGJ1dHRvbi52aWV3Y2FydDpob3ZlciwgI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLXZpZXdjYXJ0IGJ1dHRvbi52aWV3Y2FydDpmb2N1cywgI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLXZpZXdjYXJ0IGJ1dHRvbi52aWV3Y2FydDphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICMzRTNFM0UgIWltcG9ydGFudDsgfVxuXG4jYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tY29udGludWUgYnV0dG9uLmNvbnRpbnVlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICBwYWRkaW5nOiA4cHggMjVweDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgei1pbmRleDogNTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjtcbiAgYmFja2dyb3VuZDogI0ZGNDYwNCAhaW1wb3J0YW50OyB9XG4gICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi1jb250aW51ZSBidXR0b24uY29udGludWUubWVkaXVtIHtcbiAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLWNvbnRpbnVlIGJ1dHRvbi5jb250aW51ZS5sYXJnZSB7XG4gICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi1jb250aW51ZSBidXR0b24uY29udGludWU6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tY29udGludWUgYnV0dG9uLmNvbnRpbnVlLCAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tY29udGludWUgYnV0dG9uLmNvbnRpbnVlOnZpc2l0ZWQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDsgfVxuICAgICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi1jb250aW51ZSBidXR0b24uY29udGludWUgKiwgI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLWNvbnRpbnVlIGJ1dHRvbi5jb250aW51ZTp2aXNpdGVkICoge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi1jb250aW51ZSBidXR0b24uY29udGludWU6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tY29udGludWUgYnV0dG9uLmNvbnRpbnVlOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLWNvbnRpbnVlIGJ1dHRvbi5jb250aW51ZTphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjc0NDI7IH1cbiAgICAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tY29udGludWUgYnV0dG9uLmNvbnRpbnVlOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tY29udGludWUgYnV0dG9uLmNvbnRpbnVlOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tY29udGludWUgYnV0dG9uLmNvbnRpbnVlOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLWNvbnRpbnVlIGJ1dHRvbi5jb250aW51ZVtkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgY3Vyc29yOiBhdXRvOyB9XG4gICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi1jb250aW51ZSBidXR0b24uY29udGludWU6aG92ZXIsICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi1jb250aW51ZSBidXR0b24uY29udGludWU6Zm9jdXMsICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi1jb250aW51ZSBidXR0b24uY29udGludWU6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkY3NDQyICFpbXBvcnRhbnQ7IH1cblxuI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLWNvbnRpbnVlIC5jb3VudGRvd24ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5hamF4Y2FydC1pbmRleC12aWV3ICNhamF4LWdvdG8ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmFqYXhjYXJ0LWluZGV4LXZpZXcgLmJzcy1ub3RpY2Uge1xuICBwYWRkaW5nOiAwIDMwcHg7IH1cblxuLmFqYXhjYXJ0LWluZGV4LXZpZXcgLmNzLWNvbnRhaW5lci0tcGFnZS1wZHAtdG9wIHtcbiAgcGFkZGluZzogMCAyNXB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgLmFqYXhjYXJ0LWluZGV4LXZpZXcgLmNzLWNvbnRhaW5lci0tcGFnZS1wZHAtdG9wIHtcbiAgICAgIHBhZGRpbmc6IDAgMTVweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5hamF4Y2FydC1pbmRleC12aWV3IC5jcy1wYWdlLXByb2R1Y3RfX2dhbGxlcnkge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0OS41JSk7IH0gfVxuXG4uYWpheGNhcnQtaW5kZXgtdmlldyAuY3MtYnV5Ym94X19zZWN0aW9uLFxuLmFqYXhjYXJ0LWluZGV4LXZpZXcgLmNzLWNvbnRhaW5lci0tcGFnZS1wZHAtYnVuZGxlLWNvbmZpZyB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLnBvcHVwLWF1dGhlbnRpY2F0aW9uIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgbWF4LXdpZHRoOiA0ODBweDsgfVxuXG4ucG9wdXAtYXV0aGVudGljYXRpb24gLmFjdGlvbi1jbG9zZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMjJweCAzMHB4IDAgMDtcbiAgcGFkZGluZzogMXB4IDJweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7IH1cbiAgLnBvcHVwLWF1dGhlbnRpY2F0aW9uIC5hY3Rpb24tY2xvc2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnWCBDTE9TRSc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICM1NzU3NTc7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDEycHg7IH1cblxuLnBvcHVwLWF1dGhlbnRpY2F0aW9uIC5ibG9jay10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4ucG9wdXAtYXV0aGVudGljYXRpb24gLmFjdGlvbnMtdG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgLnBvcHVwLWF1dGhlbnRpY2F0aW9uIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi1sb2dpbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICAgIHBhZGRpbmc6IDhweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yO1xuICAgIHBhZGRpbmc6IDEwcHggMjVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgbWluLXdpZHRoOiAxNDVweDsgfVxuICAgIC5wb3B1cC1hdXRoZW50aWNhdGlvbiAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24tbG9naW4ubWVkaXVtIHtcbiAgICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgLnBvcHVwLWF1dGhlbnRpY2F0aW9uIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi1sb2dpbi5sYXJnZSB7XG4gICAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAgIC5wb3B1cC1hdXRoZW50aWNhdGlvbiAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24tbG9naW46Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5wb3B1cC1hdXRoZW50aWNhdGlvbiAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24tbG9naW4sIC5wb3B1cC1hdXRoZW50aWNhdGlvbiAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24tbG9naW46dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDsgfVxuICAgICAgLnBvcHVwLWF1dGhlbnRpY2F0aW9uIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi1sb2dpbiAqLCAucG9wdXAtYXV0aGVudGljYXRpb24gLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLWxvZ2luOnZpc2l0ZWQgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICAgLnBvcHVwLWF1dGhlbnRpY2F0aW9uIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi1sb2dpbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5wb3B1cC1hdXRoZW50aWNhdGlvbiAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24tbG9naW46Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAucG9wdXAtYXV0aGVudGljYXRpb24gLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLWxvZ2luOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNzQ0MjsgfVxuICAgICAgLnBvcHVwLWF1dGhlbnRpY2F0aW9uIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi1sb2dpbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLnBvcHVwLWF1dGhlbnRpY2F0aW9uIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi1sb2dpbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLnBvcHVwLWF1dGhlbnRpY2F0aW9uIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi1sb2dpbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5wb3B1cC1hdXRoZW50aWNhdGlvbiAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24tbG9naW5bZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IGF1dG87IH1cblxuLmNoZWNrb3V0LXJlZ2lvbnMtcG9wdXAgLm1vZGFsLWlubmVyLXdyYXAsXG4uYWdyZWVtZW50cy1tb2RhbCAubW9kYWwtaW5uZXItd3JhcCxcbi5nb29nbGVfcG9wdXAgLm1vZGFsLWlubmVyLXdyYXAge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuICAuY2hlY2tvdXQtcmVnaW9ucy1wb3B1cCAubW9kYWwtaW5uZXItd3JhcCAubW9kYWwtdGl0bGUsXG4gIC5hZ3JlZW1lbnRzLW1vZGFsIC5tb2RhbC1pbm5lci13cmFwIC5tb2RhbC10aXRsZSxcbiAgLmdvb2dsZV9wb3B1cCAubW9kYWwtaW5uZXItd3JhcCAubW9kYWwtdGl0bGUge1xuICAgIHBhZGRpbmc6IDI1cHggMzBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIGJvcmRlcjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICBmb250LXNpemU6IDQwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgLmNoZWNrb3V0LXJlZ2lvbnMtcG9wdXAgLm1vZGFsLWlubmVyLXdyYXAgLm1vZGFsLXRpdGxlLFxuICAgICAgLmFncmVlbWVudHMtbW9kYWwgLm1vZGFsLWlubmVyLXdyYXAgLm1vZGFsLXRpdGxlLFxuICAgICAgLmdvb2dsZV9wb3B1cCAubW9kYWwtaW5uZXItd3JhcCAubW9kYWwtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMTVweDsgfSB9XG4gIC5jaGVja291dC1yZWdpb25zLXBvcHVwIC5tb2RhbC1pbm5lci13cmFwIC5hY3Rpb24tY2xvc2UsXG4gIC5hZ3JlZW1lbnRzLW1vZGFsIC5tb2RhbC1pbm5lci13cmFwIC5hY3Rpb24tY2xvc2UsXG4gIC5nb29nbGVfcG9wdXAgLm1vZGFsLWlubmVyLXdyYXAgLmFjdGlvbi1jbG9zZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAzN3B4IDQxcHggMCAwO1xuICAgIHBhZGRpbmc6IDFweCAycHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgLmNoZWNrb3V0LXJlZ2lvbnMtcG9wdXAgLm1vZGFsLWlubmVyLXdyYXAgLmFjdGlvbi1jbG9zZSxcbiAgICAgIC5hZ3JlZW1lbnRzLW1vZGFsIC5tb2RhbC1pbm5lci13cmFwIC5hY3Rpb24tY2xvc2UsXG4gICAgICAuZ29vZ2xlX3BvcHVwIC5tb2RhbC1pbm5lci13cmFwIC5hY3Rpb24tY2xvc2Uge1xuICAgICAgICBtYXJnaW46IDMwcHggMTVweCAwIDA7IH0gfVxuICAgIC5jaGVja291dC1yZWdpb25zLXBvcHVwIC5tb2RhbC1pbm5lci13cmFwIC5hY3Rpb24tY2xvc2U6YmVmb3JlLFxuICAgIC5hZ3JlZW1lbnRzLW1vZGFsIC5tb2RhbC1pbm5lci13cmFwIC5hY3Rpb24tY2xvc2U6YmVmb3JlLFxuICAgIC5nb29nbGVfcG9wdXAgLm1vZGFsLWlubmVyLXdyYXAgLmFjdGlvbi1jbG9zZTpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1ggQ0xPU0UnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb2xvcjogIzU3NTc1NztcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAuYWdyZWVtZW50cy1tb2RhbCAubW9kYWwtaW5uZXItd3JhcCxcbiAgLmdvb2dsZV9wb3B1cCAubW9kYWwtaW5uZXItd3JhcCB7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG5cbi5hZ3JlZW1lbnRzLW1vZGFsIC5tb2RhbC1pbm5lci13cmFwIC5hY3Rpb24tY2xvc2UsXG4uZ29vZ2xlX3BvcHVwIC5tb2RhbC1pbm5lci13cmFwIC5hY3Rpb24tY2xvc2Uge1xuICBtYXJnaW46IDIycHggNDFweCAwIDA7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAuYWdyZWVtZW50cy1tb2RhbCAubW9kYWwtaW5uZXItd3JhcCAuYWN0aW9uLWNsb3NlLFxuICAgIC5nb29nbGVfcG9wdXAgLm1vZGFsLWlubmVyLXdyYXAgLmFjdGlvbi1jbG9zZSB7XG4gICAgICBtYXJnaW46IDIycHggMTVweCAwIDA7IH0gfVxuXG4uZ29vZ2xlX3BvcHVwIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgd2lkdGg6IDk2JTtcbiAgbWF4LXdpZHRoOiA2NDBweDsgfVxuXG4ubW9kYWxfaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5tb2RhbC1wb3B1cCAubW9kYWxfaGlkZGVuIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3R5cG9ncmFwaHkvbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuQGltcG9ydCAndXRpbHMvdmlzdWFsbHktaGlkZGVuJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbiRtb2RhbF90aXRsZS1mb250LXNpemU6ICRmb250LXNpemVfaGVhZGxpbmUtMyAhZGVmYXVsdDtcbiRtb2RhbF9zZWNvbmRhcnktYnV0dG9uLXR5cGU6ICdzZWNvbmRhcnknICFkZWZhdWx0O1xuJG1vZGFsX3NlY29uZGFyeS1idXR0b24taWNvbi1wb3M6ICduby1pY29uJyAhZGVmYXVsdDtcbiRtb2RhbF9pbnNpZGUtYm9yZGVyczogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJG1vZGFsX2JhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRtb2RhbF9zbGlkZS1tb2JpbGUtYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJG1vZGFsX2JveC1zaGFkb3c6ICRib3gtc2hhZG93X2Jhc2UgIWRlZmF1bHQ7XG4kbW9kYWxfYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcbiRtb2RhbC1ib3JkZXI6IG5vbmUgIWRlZmF1bHQ7XG4kbW9kYWxfdGV4dC1mb250LXNpemU6ICRmb250LXNpemVfcGFyYWdyYXBoICFkZWZhdWx0O1xuJG1vZGFsX3ByaW1hcnktYnV0dG9uLXR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJG1vZGFsX3ByaW1hcnktYnV0dG9uLWljb24tcG9zOiAnbm8taWNvbicgIWRlZmF1bHQ7XG4kbW9kYWxfc2Vjb25kYXJ5LWJ1dHRvbi10eXBlOiAnc2Vjb25kYXJ5JyAhZGVmYXVsdDtcbiRtb2RhbF9zZWNvbmRhcnktYnV0dG9uLWljb24tcG9zOiAnbm8taWNvbicgIWRlZmF1bHQ7XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHkgKi9cblxuLm1vZGFsLXNsaWRlLFxuLm1vZGFsLXBvcHVwLFxuLm1vZGFsLWN1c3RvbSB7XG4gICAgJi5jb25maXJtIHtcbiAgICAgICAgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA1MHJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgICAgYmFja2dyb3VuZDogJG1vZGFsX2JhY2tncm91bmQ7XG4gICAgICAgIGJveC1zaGFkb3c6ICRtb2RhbF9ib3gtc2hhZG93O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbW9kYWxfYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYm9yZGVyOiAkbW9kYWwtYm9yZGVyO1xuICAgIH1cblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICAgICAgICBmb250LXNpemU6ICRtb2RhbF90ZXh0LWZvbnQtc2l6ZTtcbiAgICB9XG5cbiAgICAubW9kYWwtaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtaW4taGVpZ2h0OiA2NXB4O1xuICAgIH1cblxuICAgIC5hY3Rpb24tY2xvc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbWFyZ2luOiAxLjVyZW07XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb25zL2Nsb3NlLnN2ZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTVweDtcbiAgICAgICAgd2lkdGg6IDNyZW07XG4gICAgICAgIGhlaWdodDogM3JlbTtcblxuICAgICAgICAvLyBJRTExIGN1dHMgYmFja2dyb3VuZCB3aGVuIGluIHJlbSB1bml0c1xuICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTBweCAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb2RhbC1mb290ZXIge1xuICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICBib3JkZXItdG9wOiAkbW9kYWxfaW5zaWRlLWJvcmRlcnM7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lTGcnKSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9uLXByaW1hcnksXG4gICAgICAgIC5wcmltYXJ5IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJG1vZGFsX3ByaW1hcnktYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkbW9kYWxfcHJpbWFyeS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEycmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zcGFuKFxuICAgICAgICAgICAgICAgICAgICAkdHlwZTogJG1vZGFsX3ByaW1hcnktYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1vZGFsX3ByaW1hcnktYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb24tc2Vjb25kYXJ5LFxuICAgICAgICAuc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJG1vZGFsX3NlY29uZGFyeS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRtb2RhbF9zZWNvbmRhcnktYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMnJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZUxnJykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3BhbihcbiAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRtb2RhbF9zZWNvbmRhcnktYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1vZGFsX3NlY29uZGFyeS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBTdHlsZSBmb3IgY2hlY2tvdXQgbW9kYWxzIGhhdmUgdmVyeSBoaWdoIHNwZWNpZmljaXR5IGluIG1hZ2VudG9cbiAgICAgICAgICAgIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggJiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgICAgICAgICAkdHlwZTogJG1vZGFsX3NlY29uZGFyeS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkbW9kYWxfc2Vjb25kYXJ5LWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMnJlbTtcblxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3BhbihcbiAgICAgICAgICAgICAgICAgICAgICAgICR0eXBlOiAkbW9kYWxfc2Vjb25kYXJ5LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkbW9kYWxfc2Vjb25kYXJ5LWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGJ1dHRvbjpvbmx5LWNoaWxkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJG1vZGFsX3ByaW1hcnktYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkbW9kYWxfcHJpbWFyeS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEycmVtO1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3BhbihcbiAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRtb2RhbF9wcmltYXJ5LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRtb2RhbF9wcmltYXJ5LWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kYWwtdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBoZWFkbGluZSgkbGV2ZWw6ICRtb2RhbF90aXRsZS1mb250LXNpemUpO1xuICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICBib3JkZXItYm90dG9tOiAkbW9kYWxfaW5zaWRlLWJvcmRlcnM7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG5cbi5tb2RhbC1wb3B1cC5tb2RhbC1zbGlkZSB7XG4gICAgLm1vZGFsLWlubmVyLXdyYXBbY2xhc3NdIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWxfc2xpZGUtbW9iaWxlLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tb2RhbC1zbGlkZSB7XG4gICAgLm1vZGFsLWZvb3RlciB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmVMZycpIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb24tcHJpbWFyeSxcbiAgICAgICAgLnByaW1hcnkge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZUxnJykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbi1zZWNvbmRhcnksXG4gICAgICAgIC5zZWNvbmRhcnkge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZUxnJykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uaWUxMSAubW9kYWwtcG9wdXA6bm90KC5jcy12aWRlby1wbGF5ZXJfX21vZGFsKSAubW9kYWwtY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDMzcmVtKTtcbn1cblxuLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IHtcbiAgICAubW9kYWwtcG9wdXAge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB9XG5cbiAgICAubW9kYWwtc2xpZGUge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA2NXJlbTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLy8gcG9wdXAgYWpheCBhZGQgdG8gY2FydFxuLmZhbmN5Ym94LW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjkpO1xufVxuLmZhbmN5Ym94LWRlc2t0b3Age1xuICAgICYuZmFuY3lib3gtdHlwZS1pZnJhbWUuZmFuY3lib3gtb3BlbmVkIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMTcwcHg7XG4gICAgICAgIHdpZHRoOiA4NXZ3ICFpbXBvcnRhbnQ7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICB3aWR0aDogOTV2dyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbGVmdDogMi41dncgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuZmFuY3lib3gtdHlwZS1pbmxpbmUge1xuICAgICAgICBtYXgtd2lkdGg6IDQ4MHB4O1xuICAgICAgICB3aWR0aDogOTV2dyAhaW1wb3J0YW50O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICBsZWZ0OiAyLjV2dyAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5mYW5jeWJveC1za2luIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl93aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXIsXG4gICAgICAgIC5jYXJ0LWluZm8ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mYW5jeWJveC1pbm5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC1oZWlnaHQ6IDczNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDQ1cHggMDtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX3doaXRlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDAgMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZmFuY3lib3gtc2tpbiB7XG4gICAgLmZhbmN5Ym94LWNsb3Nle1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBsZWZ0OiAzMXB4O1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yX2JsYWNrO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiAyM3B4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGxlZnQ6IDI1cHg7XG4gICAgICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX2JsYWNrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRfZmFtaWx5LXByaW1hcnk7XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1gnO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnQ2xvc2UnO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jYnNzX2FqYXhjYXJ0X3BvcHVwIHtcbiAgICAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgIG1heC13aWR0aDogMzEwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cblxuICAgIC5tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgfVxuXG4gICAgLmJ0bi12aWV3Y2FydCB7XG4gICAgICAgIGJ1dHRvbi52aWV3Y2FydCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogbnVsbCxcbiAgICAgICAgICAgICAgICAkdGV4dF90cmFuc2Zvcm06IHVwcGVyY2FzZSxcbiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1czogMjVweFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9ibGFjayAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfYm9keS10ZXh0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJ0bi1jb250aW51ZSB7XG4gICAgICAgIGJ1dHRvbi5jb250aW51ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6IG51bGwsXG4gICAgICAgICAgICAgICAgJHRleHRfdHJhbnNmb3JtOiB1cHBlcmNhc2UsXG4gICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXM6IDI1cHhcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfbWFpbl9fYnJhbmQgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2J1dHRvbl9faG92ZXIgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmNvdW50ZG93biB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYWpheGNhcnQtaW5kZXgtdmlldyB7XG4gICAgI2FqYXgtZ290byB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYnNzLW5vdGljZSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICB9XG5cbiAgICAuY3MtY29udGFpbmVyLS1wYWdlLXBkcC10b3Age1xuICAgICAgICBwYWRkaW5nOiAwIDI1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNzLXBhZ2UtcHJvZHVjdF9fZ2FsbGVyeSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0OS41JSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY3MtYnV5Ym94X19zZWN0aW9uLFxuICAgIC5jcy1jb250YWluZXItLXBhZ2UtcGRwLWJ1bmRsZS1jb25maWcge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuXG4ucG9wdXAtYXV0aGVudGljYXRpb24ge1xuICAgIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0ODBweDtcbiAgICB9XG5cbiAgICAuYWN0aW9uLWNsb3NlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAyMnB4IDMwcHggMCAwO1xuICAgICAgICBwYWRkaW5nOiAxcHggMnB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnWCBDTE9TRSc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfZGFyay1ncmF5O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5ibG9jay10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gICAgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG5cbiAgICAgICAgLmFjdGlvbi1sb2dpbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRtb2RhbF9wcmltYXJ5LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogZmFsc2VcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDI1cHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDE0NXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2hlY2tvdXQtcmVnaW9ucy1wb3B1cCxcbi5hZ3JlZW1lbnRzLW1vZGFsLFxuLmdvb2dsZV9wb3B1cCB7XG4gICAgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcblxuICAgICAgICAubW9kYWwtdGl0bGUge1xuICAgICAgICAgICAgcGFkZGluZzogMjVweCAzMHB4O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb24tY2xvc2Uge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luOiAzN3B4IDQxcHggMCAwO1xuICAgICAgICAgICAgcGFkZGluZzogMXB4IDJweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDE1cHggMCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ1ggQ0xPU0UnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfZGFyay1ncmF5O1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uYWdyZWVtZW50cy1tb2RhbCxcbi5nb29nbGVfcG9wdXAge1xuICAgIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb24tY2xvc2Uge1xuICAgICAgICAgICAgbWFyZ2luOiAyMnB4IDQxcHggMCAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyMnB4IDE1cHggMCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZ29vZ2xlX3BvcHVwIHtcbiAgICAubW9kYWwtaW5uZXItd3JhcCB7XG4gICAgICAgIHdpZHRoOiA5NiU7XG4gICAgICAgIG1heC13aWR0aDogNjQwcHg7XG4gICAgfVxufVxuXG4ubW9kYWxfaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5tb2RhbC1wb3B1cCB7XG4gICAgLm1vZGFsX2hpZGRlbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fZmlndXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmNzLW5hdmlnYXRpb24tdGVhc2VyX19pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fY29udGVudC13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDZyZW0gM3JlbTsgfVxuXG4uY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2NvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiAjMjEyMTIxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmNzLW5hdmlnYXRpb24tdGVhc2VyX19oZWFkbGluZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIGZvbnQtc2l6ZTogM3JlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjMjEyMTIxOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLW5hdmlnYXRpb24tdGVhc2VyX19oZWFkbGluZSB7XG4gICAgICBmb250LXNpemU6IDQuM3JlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9IH1cblxuLmNzLW5hdmlnYXRpb24tdGVhc2VyX19zdWJoZWFkbGluZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIGZvbnQtc2l6ZTogMS42NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMjEyMTIxOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLW5hdmlnYXRpb24tdGVhc2VyX19zdWJoZWFkbGluZSB7XG4gICAgICBmb250LXNpemU6IDIuOHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1OyB9IH1cblxuLmNzLW5hdmlnYXRpb24tdGVhc2VyX190ZXh0IHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgY29sb3I6ICMyMTIxMjE7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtbmF2aWdhdGlvbi10ZWFzZXJfX3RleHQge1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07IH0gfVxuXG4uY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2N0YSB7XG4gIG1hcmdpbi10b3A6IDJyZW07IH1cblxuLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gIG1hcmdpbjogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gIHBhZGRpbmc6IDhweCAyNXB4O1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB6LWluZGV4OiA1O1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yOyB9XG4gIC5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fYnV0dG9uLm1lZGl1bSB7XG4gICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gIC5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fYnV0dG9uLmxhcmdlIHtcbiAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAuY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2J1dHRvbiwgLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b246dmlzaXRlZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0OyB9XG4gICAgLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b24gKiwgLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b246dmlzaXRlZCAqIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAuY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY3NDQyOyB9XG4gICAgLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gIC5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC42NTtcbiAgICBjdXJzb3I6IGF1dG87IH1cblxuLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b24tc3BhbiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgcGFkZGluZy1yaWdodDogNGVtOyB9XG5cbi5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fYnV0dG9uLWljb24ge1xuICBtYXgtd2lkdGg6IDFlbTtcbiAgbWF4LWhlaWdodDogMS40cmVtO1xuICB6LWluZGV4OiAyO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHJpZ2h0OiAxZW07IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuXG4kdGVhc2VyX2J1dHRvbi10eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSAhZGVmYXVsdDtcbiR0ZWFzZXJfYnV0dG9uLWljb24tcG9zOiAkYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3MgIWRlZmF1bHQ7XG5cbi4jeyRuc31uYXZpZ2F0aW9uLXRlYXNlciB7XG4gICAgJl9fZmlndXJlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmX19jb250ZW50LXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogNnJlbSAzcmVtO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfbWluZXNoYWZ0O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9faGVhZGxpbmUge1xuICAgICAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogJGNvbG9yX21pbmVzaGFmdDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDQuM3JlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3ViaGVhZGxpbmUge1xuICAgICAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgICAgICBmb250LXNpemU6IDEuNjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBjb2xvcjogJGNvbG9yX21pbmVzaGFmdDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuOHJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfbWluZXNoYWZ0O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY3RhIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJHRlYXNlcl9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJHRlYXNlcl9idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAmX19idXR0b24tc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgJHR5cGU6ICR0ZWFzZXJfYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICR0ZWFzZXJfYnV0dG9uLWljb24tcG9zXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLWljb24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICR0eXBlOiAkdGVhc2VyX2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkdGVhc2VyX2J1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogVXNpbmcgcHN1ZWRvIGVsZW1lbnRzIHRvIG1haW50YWluIGFuIGVsZW1lbnRzIGFzcGVjdCByYXRpbywgZXZlbiBhcyBpdCBzY2FsZXNcbiAqIEl0J3MgdXNpbmcgb25seSBmb3IgSUUxMSBhbmQgRWRnZSAodmVyc2lvbiB3aGljaCBkb2Vzbid0IHN1cHBvcnQgbmF0aXZlIENTUyBncmlkKSBicm93c2Vyc1xuICogRm9yIGJyb3dzZXJzIHdoaWNoIHN1cHBvcnQgbmF0aXZlIENTUyBncmlkLCB3ZSBhcmUgdXNpbmcgbWl4aW5zIGNvbnRhaW4gYHJlc2V0YCBpbiBtaXhpbiBuYW1lXG4gKiB0byBvdmVycmlkZSBkZWZhdWx0IG1peGlucyAocHJvZ3Jlc3NpdmUgZW5oYW5jZW1lbnQpXG4gKiBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL3Nhc3MvbWFpbnRhaW4tYXNwZWN0LXJhdGlvLW1peGluL1xuICogQHBhcmFtIHtudW1iZXJ9ICR3aWR0aDogd2lkdGggb2YgdGhlIGVsZW1lbnQ7XG4gKiBAcGFyYW0ge251bWJlcn0gJGhlaWdodDogaGVpZ2h0IG9mIHRoZSBlbGVtZW50O1xuICogQHBhcmFtIHtzdHJpbmd9ICRjb250ZW50Q2xhc3M6IGNsYXNzIG9mIHRoZSBkaXJlY3QgY2hpbGQgZWxlbWVudCB0byBiZSBwb3NpdGlvbmVkIGFic29sdXRlbHk7XG4gKiBAcGFyYW0ge2Jvb2xlYW59ICRhdXRvcG9zaXRpb246IHRlbGxzIGlmIGl0ZW0gc2hhbGwgdGFrZSAxMDAlIG9mIHBhcmVudCBzaXplIG9yIGlmIGl0IGNhbiBiZSB3aWRlci9oaWdoZXIgaWYgbmVlZGVkO1xuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jcy1jb250YWluZXItLW5hdmlnYXRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkU2RTZFOyB9XG5cbi5jcy1jb250YWluZXJfX25hdmlnYXRpb24taW5uZXIge1xuICBtYXJnaW46IDEwcHggYXV0byAwOyB9XG5cbi5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb24ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDFyZW07IH1cbiAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpc3QtLW1haW4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGlzdC0tYWxsLWNhdGVnb3JpZXMge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBjb2x1bW5zOiBhdXRvIDE7XG4gICAgICBjb2x1bW4tZ2FwOiAwO1xuICAgICAgZmxleDogMSAwIGF1dG87IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saXN0LS1sZXZlbF8xIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgY29sdW1uczogYXV0byAxO1xuICAgICAgY29sdW1uLWdhcDogMDtcbiAgICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGlzdC0tbGV2ZWxfMiB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saXN0LS1oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGlzdC0taGlkZGVuICsgLmNzLW5hdmlnYXRpb25fX2V4dHJhcyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saXN0IC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2l0ZW0tLW5vLWNoaWxkcmVuOm50aC1jaGlsZCgyKSB7XG4gICAgICBwYWRkaW5nLXRvcDogMXJlbTsgfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpc3QgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9faXRlbS0tbm8tY2hpbGRyZW46bGFzdC1vZi10eXBlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtOyB9XG4gIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2l0ZW0ge1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9faXRlbS0tbWFpbiB7XG4gICAgICBmb250LXNpemU6IDEuNGVtO1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNTc1NzU3O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19pdGVtLS1tYWluOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBib3JkZXItbGVmdDogMDsgfVxuICAgICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9faXRlbS0tbWFpbjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgICAgICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9faXRlbS0tbWFpbjpsYXN0LW9mLXR5cGUgLmNzLW5hdmlnYXRpb25fX2ZseW91dCB7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICByaWdodDogMDsgfVxuICAgICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9faXRlbS0tbWFpbjp2aXNpdGVkID4gYSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0OyB9XG4gICAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19pdGVtLS1tYWluOmhvdmVyID4gYSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0OyB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9faXRlbS0tYWxsLWNhdGVnb3JpZXMge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICAgIC8qIFRoZW9yZXRpY2FsbHkgRkYgMjArICovXG4gICAgICBicmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgICAgIC8qIElFIDExICovXG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2l0ZW0tLWxldmVsXzEge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICAgIC8qIFRoZW9yZXRpY2FsbHkgRkYgMjArICovXG4gICAgICBicmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgICAgIC8qIElFIDExICovXG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2l0ZW0tLWhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcGFkZGluZzogOXB4IDVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LWZhbWlseTogXCJQVCBTYW5zIE5hcnJvd1wiO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjlweDsgfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpbmssIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpbms6dmlzaXRlZCwgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGluazp2aXNpdGVkOmhvdmVyLCAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saW5rOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGluazpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saW5rLS1tYWluIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGluay0tYWxsLWNhdGVnb3JpZXMge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuNTVlbTsgfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpbmstLWxldmVsXzEsIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpbmstLWxldmVsXzIge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgICAgcGFkZGluZzogMTJweCAxNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjRjRGNEY0OyB9XG4gICAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saW5rLS1sZXZlbF8xOmhvdmVyLCAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saW5rLS1sZXZlbF8yOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTVlNTsgfVxuICAgICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGluay0tbGV2ZWxfMSwgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGluay0tbGV2ZWxfMTp2aXNpdGVkLCAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saW5rLS1sZXZlbF8xOnZpc2l0ZWQ6aG92ZXIsIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpbmstLWxldmVsXzE6Zm9jdXMsIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpbmstLWxldmVsXzIsIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpbmstLWxldmVsXzI6dmlzaXRlZCwgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGluay0tbGV2ZWxfMjp2aXNpdGVkOmhvdmVyLCAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saW5rLS1sZXZlbF8yOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saW5rLS1sZXZlbF8yIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgZm9udC1zaXplOiAxLjI1ZW07IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saW5rLS13aXRoLWljb24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyLjhyZW07IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saW5rLWljb24td3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMnJlbTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpbmstaWNvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gICAgICBtYXgtaGVpZ2h0OiAxLjhyZW07IH1cbiAgICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpbmstLWNhdGVnb3J5IC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpbmstaWNvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saW5rLXByb2R1Y3RzLXF0eTpiZWZvcmUge1xuICAgICAgY29udGVudDogJygnOyB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGluay1wcm9kdWN0cy1xdHk6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyknOyB9XG4gIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb24gLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9faXRlbS0tbm8tY2hpbGRyZW4ge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbiAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19pdGVtLS1uby1jaGlsZHJlbiA+IC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpbmstLWxldmVsXzEge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMS4xMmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgcGFkZGluZzogMC45ZW0gMS41ZW07XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2ZseW91dCA+IHVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19mbHlvdXQgPiB1bCBsaTpob3ZlciA+IHVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2ZseW91dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbGVmdDogMjBweDtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgei1pbmRleDogMTAwMTtcbiAgICBib3gtc2hhZG93OiAycHggMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWF4LXdpZHRoOiAyMTVweDsgfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2ZseW91dC0tdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fZmx5b3V0IHN2ZyB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIEBzdXBwb3J0cyAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuICAgICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fZmx5b3V0IGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbGlzdC1zdHlsZS1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFBQkNBUUFBQUMxSEF3Q0FBQUFDMGxFUVZSNDJtTmtZQUFBQUFZQUFqQ0IwQzhBQUFBQVNVVk9SSzVDWUlJPSk7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfSB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fZmx5b3V0IHVsIGEge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fZmx5b3V0IHVsIHVsIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICByaWdodDogLTEwMCU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIHotaW5kZXg6IDEwMDE7XG4gICAgICBib3gtc2hhZG93OiAycHggMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1heC13aWR0aDogMjE1cHg7IH1cbiAgICAgIEBzdXBwb3J0cyAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuICAgICAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19mbHlvdXQgdWwgdWwgbGkge1xuICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgbGlzdC1zdHlsZS1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFBQkNBUUFBQUMxSEF3Q0FBQUFDMGxFUVZSNDJtTmtZQUFBQUFZQUFqQ0IwQzhBQUFBQVNVVk9SSzVDWUlJPSk7XG4gICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9IH1cbiAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGlzdC0tbGV2ZWxfMiB7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX190ZWFzZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDFlbSAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fdGVhc2VyLS1oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX3RlYXNlciAuY3MtaW1hZ2UtdGVhc2VyX19maWd1cmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19wcm9kdWN0cyB7XG4gICAgcGFkZGluZzogMC41ZW0gMWVtO1xuICAgIG1pbi13aWR0aDogMjRyZW07IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19wcm9kdWN0cy1oZWFkZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYztcbiAgICAgIHBhZGRpbmc6IDEuMWVtIDEuMDVlbSAxLjU1ZW07XG4gICAgICBmb250LXNpemU6IDAuOWVtOyB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fcHJvZHVjdHMtbGlzdCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19wcm9kdWN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19wcm9kdWN0OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLXRvcDogMTcwJTsgfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX3Byb2R1Y3QgLmNzLXByb2R1Y3QtdGlsZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7IH1cbiAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fb3ZlcmxheSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzcmVtLCAwKTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhciwgdHJhbnNmb3JtIDAuMnMgY3ViaWMtYmV6aWVyKDAsIDAuOTcsIDAuMDUsIDAuOTkpOyB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fb3ZlcmxheS0tdmlzaWJsZSB7XG4gICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIC5wYWdlLXByaW50IC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSBhbmQgKGdyaWQtYXV0by1mbG93OiByb3cpIHtcbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19wcm9kdWN0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fcHJvZHVjdDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBub25lOyB9XG4gICAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19wcm9kdWN0IC5jcy1wcm9kdWN0LXRpbGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGJvdHRvbTogYXV0bzsgfSB9XG5cbi5jcy1jb250YWluZXItLW5hdmlnYXRpb24ge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3V0aWxzL2FzcGVjdC1yYXRpbyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG4kbmF2aWdhdGlvbl9mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbiRuYXZpZ2F0aW9uX292ZXJsYXktc2hvdzogZmFsc2UgIWRlZmF1bHQ7XG4vLyBCb3ggc2hhZG93IGVmZmVjdCBhcHBsaWVkIGZvciB0aGUgZmx5b3V0LlxuJG5hdmlnYXRpb25fZmx5b3V0LWJveC1zaGFkb3c6IDJweCAycHggNXB4IHJnYmEoJGNvbG9yX2JhY2tncm91bmQtODAwLCAwLjE1KSAhZGVmYXVsdDtcbi8vIEZseW91dCBiYWNrZ3JvdW5kIGNvbG9yLlxuJG5hdmlnYXRpb25fZmx5b3V0LWJhY2tncm91bmQ6ICRjb2xvcl9saWdodC1ncmF5ICFkZWZhdWx0O1xuLy8gQ29sb3Igb2YgdGhlIGxpbmsuXG4kbmF2aWdhdGlvbl9saW5rLWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4vLyBDb2xvciBvZiB0aGUgbGluayBpbiB0aGUgZmx5b3V0IG9uIGhvdmVyLlxuJG5hdmlnYXRpb25fbGluay1jb2xvci1ob3ZlcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJG5hdmlnYXRpb25fbGluay1iYWNrZ3JvdW5kLWhvdmVyOiAkY29sb3JfbWFpbl9fYnJhbmQgIWRlZmF1bHQ7XG4vLyBCb3R0b20gYm9yZGVyIGNvbmZpZ3VyYXRpb24gZm9yIGZseW91dCBjYXRlZ29yeSBsaW5rcy5cbiRuYXZpZ2F0aW9uX2xpbmstYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kbmF2aWdhdGlvbl9saXN0cy1tYXJrLXBhcmVudC1vbi1ob3ZlcjogdHJ1ZSAhZGVmYXVsdDtcblxuJHN1Ym5hdmlnYXRpb25fbGluay1jb2xvcjogJGNvbG9yX2JsYWNrICFkZWZhdWx0O1xuJHN1Ym5hdmlnYXRpb25fbGluay1iYWNrZ3JvdW5kLWhvdmVyOiAkc2lkZWJhcl9fZ3JleSAhZGVmYXVsdDtcblxuLmNzLWNvbnRhaW5lciB7XG4gICAgJi0tbmF2aWdhdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9ncmF5O1xuICAgIH1cblxuICAgICZfX25hdmlnYXRpb24taW5uZXIge1xuICAgICAgICBtYXJnaW46IDEwcHggYXV0byAwO1xuICAgIH1cbn1cblxuLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiB7XG4gICAgLiN7JG5zfW5hdmlnYXRpb24ge1xuICAgICAgICAkcm9vdDogJjtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZm9udC1zaXplOiAkbmF2aWdhdGlvbl9mb250LXNpemU7XG5cbiAgICAgICAgJl9fbGlzdCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgJi0tbWFpbiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1hbGwtY2F0ZWdvcmllcyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgY29sdW1uczogYXV0byAxO1xuICAgICAgICAgICAgICAgIGNvbHVtbi1nYXA6IDA7XG4gICAgICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWxldmVsIHtcbiAgICAgICAgICAgICAgICAmXzEge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uczogYXV0byAxO1xuICAgICAgICAgICAgICAgICAgICBjb2x1bW4tZ2FwOiAwO1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmXzIge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1oaWRkZW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAmICsgLiN7JG5zfW5hdmlnYXRpb25fX2V4dHJhcyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fV9faXRlbS0tbm8tY2hpbGRyZW4ge1xuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICYtLW1haW4ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkY29sb3JfZGFyay1ncmF5O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcblxuICAgICAgICAgICAgICAgICAgICAuY3MtbmF2aWdhdGlvbl9fZmx5b3V0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG5hdmlnYXRpb25fbGluay1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZpZ2F0aW9uX2xpbmstYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRuYXZpZ2F0aW9uX2xpbmstY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2aWdhdGlvbl9saW5rLWJhY2tncm91bmQtaG92ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWFsbC1jYXRlZ29yaWVzIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIC8vIFByZXZlbnRzIGVsZW1lbnQgYnJlYWtpbmcgYmVjYXVzZSBvZiBjb2x1bW4gbGF5b3V0LlxuICAgICAgICAgICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgLyogVGhlb3JldGljYWxseSBGRiAyMCsgKi9cbiAgICAgICAgICAgICAgICBicmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjsgLyogSUUgMTEgKi9cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tbGV2ZWwge1xuICAgICAgICAgICAgICAgICZfMSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIC8vIFByZXZlbnRzIGVsZW1lbnQgYnJlYWtpbmcgYmVjYXVzZSBvZiBjb2x1bW4gbGF5b3V0LlxuICAgICAgICAgICAgICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IC8qIFRoZW9yZXRpY2FsbHkgRkYgMjArICovXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uOyAvKiBJRSAxMSAqL1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWhpZGRlbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2xpbmsge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgcGFkZGluZzogOXB4IDVweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250X2ZhbWlseS1zZWNvbmRhcnk7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMS45cHg7XG5cbiAgICAgICAgICAgICYsXG4gICAgICAgICAgICAmOnZpc2l0ZWQsXG4gICAgICAgICAgICAmOnZpc2l0ZWQ6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG5hdmlnYXRpb25fbGluay1jb2xvcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbmF2aWdhdGlvbl9saW5rLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9tYWluX19icmFuZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tbWFpbiB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1hbGwtY2F0ZWdvcmllcyB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJG5hdmlnYXRpb25fbGluay1ib3JkZXI7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNTVlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tbGV2ZWwge1xuICAgICAgICAgICAgICAgICZfMSxcbiAgICAgICAgICAgICAgICAmXzIge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRuYXZpZ2F0aW9uX2xpbmstYm9yZGVyO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbmF2aWdhdGlvbl9mbHlvdXQtYmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHN1Ym5hdmlnYXRpb25fbGluay1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzdWJuYXZpZ2F0aW9uX2xpbmstYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYsXG4gICAgICAgICAgICAgICAgICAgICY6dmlzaXRlZCxcbiAgICAgICAgICAgICAgICAgICAgJjp2aXNpdGVkOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc3VibmF2aWdhdGlvbl9saW5rLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJl8yIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0td2l0aC1pY29uIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjhyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtaWNvbi13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDJyZW07XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEuOHJlbTtcblxuICAgICAgICAgICAgICAgICN7JHJvb3R9X19saW5rLS1jYXRlZ29yeSAmIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtcHJvZHVjdHMtcXR5IHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcoJztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyknO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vU3R5bGluZyBmb3IgY2F0ZWdvcmllcyBsZXZlbF8xIHdpdGggbm8gc3ViY2F0ZWdvcmllc1xuICAgICAgICAjeyRyb290fV9faXRlbS0tbm8tY2hpbGRyZW4ge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgICAgICAjeyRyb290fV9faXRlbS0tbm8tY2hpbGRyZW4gPiAjeyRyb290fV9fbGluay0tbGV2ZWxfMSB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuOWVtIDEuNWVtO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICRuYXZpZ2F0aW9uX2xpbmstY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmX19mbHlvdXQge1xuICAgICAgICAgICAgPiB1bCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGxpOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgPiB1bCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2ZseW91dCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgbGVmdDogMjBweDtcbiAgICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDE7IC8vIE1ha2Ugc3VyZSBmbHlvdXRzIGNvdmVyIGdhbGxlcnkgbmF2LlxuICAgICAgICAgICAgYm94LXNoYWRvdzogJG5hdmlnYXRpb25fZmx5b3V0LWJveC1zaGFkb3c7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMTVweDtcblxuICAgICAgICAgICAgJi0tdmlzaWJsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIEBzdXBwb3J0cyAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQUFCQ0FRQUFBQzFIQXdDQUFBQUMwbEVRVlI0Mm1Oa1lBQUFBQVlBQWpDQjBDOEFBQUFBU1VWT1JLNUNZSUk9KTtcbiAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc3VibmF2aWdhdGlvbl9saW5rLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogLTEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTAwMTsgLy8gTWFrZSBzdXJlIGZseW91dHMgY292ZXIgZ2FsbGVyeSBuYXYuXG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRuYXZpZ2F0aW9uX2ZseW91dC1ib3gtc2hhZG93O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDIxNXB4O1xuXG4gICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBzdXBwb3J0cyAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZS1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFBQkNBUUFBQUMxSEF3Q0FBQUFDMGxFUVZSNDJtTmtZQUFBQUFZQUFqQ0IwQzhBQUFBQVNVVk9SSzVDWUlJPSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fbGlzdC0tbGV2ZWxfMiB7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fdGVhc2VyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxZW0gMDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICYtLWhpZGRlbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLiN7JG5zfWltYWdlLXRlYXNlcl9fZmlndXJlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fcHJvZHVjdHMge1xuICAgICAgICAgICAgcGFkZGluZzogMC41ZW0gMWVtO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAyNHJlbTtcblxuICAgICAgICAgICAgJi1oZWFkZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbmF2aWdhdGlvbl9saW5rLWNvbG9yO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJG5hdmlnYXRpb25fbGluay1ib3JkZXI7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMS4xZW0gMS4wNWVtIDEuNTVlbTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLWxpc3Qge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19wcm9kdWN0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpbyhcbiAgICAgICAgICAgICAgICAkd2lkdGg6ICR0aWxlX2FzcGVjdC1yYXRpby13aWR0aCxcbiAgICAgICAgICAgICAgICAkaGVpZ2h0OiAkdGlsZV9hc3BlY3QtcmF0aW8taGVpZ2h0LFxuICAgICAgICAgICAgICAgICRjaGlsZENsYXNzOiAjeyRuc31wcm9kdWN0LXRpbGUsXG4gICAgICAgICAgICAgICAgJGF1dG9wb3NpdGlvbjogdHJ1ZVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX292ZXJsYXkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgM3JlbSwgMCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcixcbiAgICAgICAgICAgIHRyYW5zZm9ybSAwLjJzIGN1YmljLWJlemllcigwLCAwLjk3LCAwLjA1LCAwLjk5KTtcblxuICAgICAgICAgICAgQGlmICRuYXZpZ2F0aW9uX292ZXJsYXktc2hvdyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLXZpc2libGUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2UtcHJpbnQgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSBhbmQgKGdyaWQtYXV0by1mbG93OiByb3cpIHtcbiAgICAgICAgICAgICZfX3Byb2R1Y3Qge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpby1yZXNldChcbiAgICAgICAgICAgICAgICAgICAgJGNoaWxkQ2xhc3M6ICN7JG5zfXByb2R1Y3QtdGlsZSxcbiAgICAgICAgICAgICAgICAgICAgJGF1dG9wb3NpdGlvbjogdHJ1ZVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi4jeyRuc31jb250YWluZXIge1xuICAgICYtLW5hdmlnYXRpb24ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBSYWRpbyBhbmQgY2hlY2tib3ggc3R5bGluZyAqL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5jcy1uZXdzbGV0dGVyIHtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuICAuY3MtbmV3c2xldHRlcl9fZm9ybSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLW5ld3NsZXR0ZXJfX2Zvcm0ge1xuICAgICAgICBtYXgtd2lkdGg6IDM0cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLW5ld3NsZXR0ZXJfX2Zvcm0ge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY3MtbmV3c2xldHRlcl9fZm9ybSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfSB9XG4gIC5jcy1uZXdzbGV0dGVyX19maWVsZCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jcy1uZXdzbGV0dGVyX19maWVsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH0gfVxuICAuY3MtbmV3c2xldHRlcl9faW5wdXQge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4OyB9XG4gICAgLmNzLW5ld3NsZXR0ZXJfX2lucHV0LmlucHV0LXRleHQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS42cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH1cbiAgLmNzLW5ld3NsZXR0ZXJfX2FjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiA0cmVtOyB9XG4gIC5jcy1uZXdzbGV0dGVyX19idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIjtcbiAgICBwYWRkaW5nOiA4cHggMjVweDtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAyNXB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDI1cHggIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTA1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDsgfVxuICAgIC5jcy1uZXdzbGV0dGVyX19idXR0b24ubWVkaXVtIHtcbiAgICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgLmNzLW5ld3NsZXR0ZXJfX2J1dHRvbi5sYXJnZSB7XG4gICAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAgIC5jcy1uZXdzbGV0dGVyX19idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1uZXdzbGV0dGVyX19idXR0b24sIC5jcy1uZXdzbGV0dGVyX19idXR0b246dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDsgfVxuICAgICAgLmNzLW5ld3NsZXR0ZXJfX2J1dHRvbiAqLCAuY3MtbmV3c2xldHRlcl9fYnV0dG9uOnZpc2l0ZWQgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICAgLmNzLW5ld3NsZXR0ZXJfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1uZXdzbGV0dGVyX19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtbmV3c2xldHRlcl9fYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNzQ0MjsgfVxuICAgICAgLmNzLW5ld3NsZXR0ZXJfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLW5ld3NsZXR0ZXJfX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLW5ld3NsZXR0ZXJfX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5jcy1uZXdzbGV0dGVyX19idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IGF1dG87IH1cbiAgICAuY3MtbmV3c2xldHRlcl9fYnV0dG9uLWxhYmVsIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLmNzLW5ld3NsZXR0ZXJfX2J1dHRvbi1pY29uIHtcbiAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbGVmdDogMWVtO1xuICAgIHdpZHRoOiAwLjhlbTtcbiAgICBoZWlnaHQ6IDAuOGVtO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4ubmV3c2xldHRlci1sb2NrX19pY29uIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ljb25zL2xvY2syNEAxeC5zdmcpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IDdweDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMTVweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgIC5uZXdzbGV0dGVyLWxvY2tfX2ljb24ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH0gfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG5AaW1wb3J0ICdjb21wb25lbnRzL2ZpZWxkL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcblxuJGlucHV0X3BhZGRpbmc6IDAuNzE1ZW0gMWVtICFkZWZhdWx0O1xuJGlucHV0X2JvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9hbHRvICFkZWZhdWx0O1xuJGlucHV0X2JvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2UgIWRlZmF1bHQ7XG5cbiRuZXdzbGV0dGVyX21hcmdpbjogMCAhZGVmYXVsdDtcbiRuZXdzbGV0dGVyX3BhZGRpbmc6IDAgMS41cmVtICFkZWZhdWx0O1xuXG4kbmV3c2xldHRlcl9mb3JtLW1heC13aWR0aDogMzRyZW0gIWRlZmF1bHQ7XG4kbmV3c2xldHRlcl9mb3JtLWhlaWdodDogNHJlbSAhZGVmYXVsdDtcblxuJG5ld3NsZXR0ZXJfYnV0dG9uLXR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJG5ld3NsZXR0ZXJfYnV0dG9uLWljb24tcG9zOiAnbGVmdCcgIWRlZmF1bHQ7XG5cbiRuZXdzbGV0dGVyX2J1dHRvbi1pY29uLXdpZHRoOiAwLjhlbSAhZGVmYXVsdDtcbiRuZXdzbGV0dGVyX2J1dHRvbi1pY29uLWhlaWdodDogMC44ZW0gIWRlZmF1bHQ7XG5cbi4jeyRuc31uZXdzbGV0dGVyIHtcbiAgICBtYXJnaW46ICRuZXdzbGV0dGVyX21hcmdpbjtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICZfX2Zvcm0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHggIWltcG9ydGFudDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRuZXdzbGV0dGVyX2Zvcm0tbWF4LXdpZHRoO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ZpZWxkIHtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW5wdXQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG5cbiAgICAgICAgJi5pbnB1dC10ZXh0IHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNnJlbTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBoZWlnaHQ6ICRuZXdzbGV0dGVyX2Zvcm0taGVpZ2h0O1xuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAkbmV3c2xldHRlcl9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJG5ld3NsZXR0ZXJfYnV0dG9uLWljb24tcG9zXG4gICAgICAgICk7XG5cbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAyNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAyNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDVweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcblxuICAgICAgICAmLWxhYmVsIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24taWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1pY29uKFxuICAgICAgICAgICAgJHR5cGU6ICRuZXdzbGV0dGVyX2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkbmV3c2xldHRlcl9idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcblxuICAgICAgICB3aWR0aDogJG5ld3NsZXR0ZXJfYnV0dG9uLWljb24td2lkdGg7XG4gICAgICAgIGhlaWdodDogJG5ld3NsZXR0ZXJfYnV0dG9uLWljb24taGVpZ2h0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxufVxuXG4ubmV3c2xldHRlci1sb2NrX19pY29uIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ljb25zL2xvY2syNEAxeC5zdmcpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IDdweDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jcy1vZmZjYW52YXMtdG9nZ2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBib3JkZXI6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAxLjVyZW07XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLW9mZmNhbnZhcy10b2dnbGUsIC5jcy1vZmZjYW52YXMtdG9nZ2xlOmFjdGl2ZSwgLmNzLW9mZmNhbnZhcy10b2dnbGU6Zm9jdXMsIC5jcy1vZmZjYW52YXMtdG9nZ2xlOmhvdmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIC5jcy1vZmZjYW52YXMtdG9nZ2xlOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICBiYWNrZ3JvdW5kOiAjRkY0NjA0O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7IH1cbiAgLmNzLW9mZmNhbnZhcy10b2dnbGUtLWFjdGl2ZSwgLmNzLW9mZmNhbnZhcy10b2dnbGUtLWFjdGl2ZTphY3RpdmUsIC5jcy1vZmZjYW52YXMtdG9nZ2xlLS1hY3RpdmU6Zm9jdXMsIC5jcy1vZmZjYW52YXMtdG9nZ2xlLS1hY3RpdmU6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNGRjQ2MDQ7IH1cbiAgLmNzLW9mZmNhbnZhcy10b2dnbGUtLWFjdGl2ZTphZnRlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAuY3Mtb2ZmY2FudmFzLXRvZ2dsZS0tYWN0aXZlIC5jcy1vZmZjYW52YXMtdG9nZ2xlX19pY29uIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gICAgLmNzLW9mZmNhbnZhcy10b2dnbGUtLWFjdGl2ZSAuY3Mtb2ZmY2FudmFzLXRvZ2dsZV9faWNvbiwgLmNzLW9mZmNhbnZhcy10b2dnbGUtLWFjdGl2ZSAuY3Mtb2ZmY2FudmFzLXRvZ2dsZV9faWNvbjpiZWZvcmUsIC5jcy1vZmZjYW52YXMtdG9nZ2xlLS1hY3RpdmUgLmNzLW9mZmNhbnZhcy10b2dnbGVfX2ljb246YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICAgIC5jcy1vZmZjYW52YXMtdG9nZ2xlLS1hY3RpdmUgLmNzLW9mZmNhbnZhcy10b2dnbGVfX2ljb246YmVmb3JlLCAuY3Mtb2ZmY2FudmFzLXRvZ2dsZS0tYWN0aXZlIC5jcy1vZmZjYW52YXMtdG9nZ2xlX19pY29uOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuICAuY3Mtb2ZmY2FudmFzLXRvZ2dsZV9faWNvbiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMjJweDsgfVxuICAgIC5jcy1vZmZjYW52YXMtdG9nZ2xlX19pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL21lbnUuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjFweDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5jcy1vZmZjYW52YXMtdG9nZ2xlX190ZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwLjVyZW07XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzOyB9XG4gICAgLmNzLW9mZmNhbnZhcy10b2dnbGUtLWFjdGl2ZSAuY3Mtb2ZmY2FudmFzLXRvZ2dsZV9fdGV4dCB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3Mtb2ZmY2FudmFzLXRvZ2dsZV9fdGV4dCB7XG4gICAgICAgIGJvdHRvbTogMnJlbTsgfSB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbiRvZmZjYW52YXMtdG9nZ2xlX2ljb24tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXRvZ2dsZV9pY29uLWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXRvZ2dsZV9pY29uLWJhY2tncm91bmQtYWN0aXZlOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXRvZ2dsZV9pY29uLWNvbG9yLWFjdGl2ZTogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10b2dnbGVfaWNvbi10cmFuc2l0aW9uLXRpbWU6ICR0cmFuc2l0aW9uLWRlZmF1bHQtdGltZSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtdG9nZ2xlX2FuaW1hdGlvbi1kaXJlY3Rpb246ICdsZWZ0JyAhZGVmYXVsdDsgLy8gJ2xlZnQnIG9yICdyaWdodCdcbiRvZmZjYW52YXMtdG9nZ2xlX3RleHQtY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtdG9nZ2xlX3RleHQtY29sb3ItYWN0aXZlOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXRvZ2dsZV90ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuXG4uY3Mtb2ZmY2FudmFzLXRvZ2dsZSB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBib3JkZXI6IDA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmLFxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy10b2dnbGVfaWNvbi1iYWNrZ3JvdW5kO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtdG9nZ2xlX2ljb24tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRvZ2dsZV9pY29uLXRyYW5zaXRpb24tdGltZTtcbiAgICAgICAgYm90dG9tOiAwO1xuXG4gICAgICAgIEBpZiAoJG9mZmNhbnZhcy10b2dnbGVfYW5pbWF0aW9uLWRpcmVjdGlvbiA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tYWN0aXZlIHtcbiAgICAgICAgJixcbiAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy10b2dnbGVfaWNvbi1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19pY29uIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cbiAgICAgICAgICAgICYsXG4gICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtdG9nZ2xlX2ljb24tY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICBoZWlnaHQ6IDIycHg7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9tZW51LnN2Z1wiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIxcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMC41cmVtO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgY29sb3I6ICRvZmZjYW52YXMtdG9nZ2xlX3RleHQtY29sb3I7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkb2ZmY2FudmFzLXRvZ2dsZV90ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcblxuICAgICAgICAjeyRyb290fS0tYWN0aXZlICYge1xuICAgICAgICAgICAgY29sb3I6ICRvZmZjYW52YXMtdG9nZ2xlX3RleHQtY29sb3ItYWN0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgYm90dG9tOiAycmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogI0Y0RjRGNDsgfVxuICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb24gLm5hdi1sb2dvIHtcbiAgICBiYWNrZ3JvdW5kOiAjM0UzRTNFO1xuICAgIHBhZGRpbmc6IDE3cHg7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb24gLm5hdi1sb2dvIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDE2MHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0LS1jdXJyZW50IHtcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDEwNSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0b3A6IDA7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xczsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0IC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdC0tYWN0aXZlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDUlKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTA1JSwgMCwgMCk7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QgPiBsaTpub3QoLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pdGVtKSB7XG4gICAgICBib3JkZXItdG9wOiAxcHggI2RjZGNkYyBzb2xpZDsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0ID4gbGk6bm90KC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faXRlbSk6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4ICNkY2RjZGMgc29saWQ7IH1cbiAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pdGVtLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QgPiBsaTpub3QoLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pdGVtKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faXRlbSArIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faXRlbSwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0ID4gbGk6bm90KC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faXRlbSkgKyAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW0sIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdCA+IC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faXRlbSArIGxpOm5vdCguY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW0pICwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0ID4gbGk6bm90KC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faXRlbSkgKyBsaTpub3QoLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pdGVtKSB7XG4gICAgICBib3JkZXItdG9wOiAxcHggI2RjZGNkYyBzb2xpZDsgfVxuICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faXRlbTpsYXN0LW9mLXR5cGUsIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdCA+IGxpOmxhc3Qtb2YtdHlwZTpub3QoLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pdGVtKSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggI2RjZGNkYyBzb2xpZDsgfVxuICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faXRlbS0td2l0aC1pY29uIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fdGV4dCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cbiAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QgPiBsaTpub3QoLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pdGVtKSBhIHtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmssIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdCA+IGxpOm5vdCguY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW0pIGEsIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluazp2aXNpdGVkLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QgPiBsaTpub3QoLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pdGVtKSBhOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICMyMTIxMjE7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbms6aG92ZXIsIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdCA+IGxpOm5vdCguY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW0pIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMyMTIxMjE7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXNpZ24taW4sIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tc2lnbi1vdXQge1xuICAgICAgcGFkZGluZy1yaWdodDogNXJlbTsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1zaWduLWluLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXNpZ24taW46dmlzaXRlZCwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1zaWduLW91dCwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1zaWduLW91dDp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tc2lnbi1pbjpob3ZlciwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1zaWduLW91dDpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjRkY0NjA0OyB9XG4gICAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tc2lnbi1pbjpob3ZlciAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2ljb24gcGF0aCwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1zaWduLW91dDpob3ZlciAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2ljb24gcGF0aCB7XG4gICAgICAgICAgZmlsbDogI0ZGNDYwNDsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1zaWduLWluIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faWNvbiwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1zaWduLW91dCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2ljb24ge1xuICAgICAgICB3aWR0aDogMi4zcmVtO1xuICAgICAgICBoZWlnaHQ6IDIuN3JlbTtcbiAgICAgICAgcmlnaHQ6IDE1cHg7IH1cbiAgICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1zaWduLWluIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faWNvbiBwYXRoLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXNpZ24tb3V0IC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faWNvbiBwYXRoIHtcbiAgICAgICAgICBmaWxsOiAjRkY0NjA0OyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1wYXJlbnQgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pY29uLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXJldHVybiAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2ljb24ge1xuICAgICAgd2lkdGg6IDAuOHJlbTtcbiAgICAgIGhlaWdodDogMC44cmVtOyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1wYXJlbnQge1xuICAgICAgcGFkZGluZy1yaWdodDogNXJlbTsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1wYXJlbnQgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pY29uIHtcbiAgICAgICAgcmlnaHQ6IDE1cHg7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXJldHVybiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDVyZW07IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcmV0dXJuIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faWNvbiB7XG4gICAgICAgIGxlZnQ6IDE1cHg7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLW5leHQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLW5leHQ6YmVmb3JlLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLW5leHQ6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6IDAuOHJlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjJyZW07XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7XG4gICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1uZXh0W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmJlZm9yZSwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1uZXh0W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzZFNkU2RTsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1uZXh0OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZykgdHJhbnNsYXRlM2QoNTAlLCAwLCAwKTtcbiAgICAgICAgcmlnaHQ6IDE1cHg7IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tbmV4dDphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIDAsIDApOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLW5leHRbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjI1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tbmV4dFthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHJpZ2h0OiAxNXB4OyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1wcmV2IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1wcmV2OmJlZm9yZSwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1wcmV2OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHdpZHRoOiAwLjhyZW07XG4gICAgICAgIGhlaWdodDogMC4ycmVtO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0O1xuICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcHJldlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUsIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcHJldlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2RTZFNkU7IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcHJldjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoNTAlLCAtNTAlLCAwKTtcbiAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcHJldjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgNTAlLCAwKTsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1wcmV2W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHJpZ2h0OiBhdXRvOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXByZXZbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcHJldjpiZWZvcmUsIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcHJldjphZnRlciB7XG4gICAgICAgIGxlZnQ6IDE1cHg7IH1cbiAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uIC5hY3RpdmUgPiAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmssIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbiAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QgPiBsaTpub3QoLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pdGVtKSAuYWN0aXZlID4gYSwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0ID4gbGk6bm90KC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faXRlbSkgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uIC5hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogI0ZGNDYwNDsgfVxuICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2ljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2ljb24gcGF0aCB7XG4gICAgICBmaWxsOiAjRkY0NjA0OyB9XG4gIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fY2F0ZWdvcnktaWNvbi13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDJyZW07XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19jYXRlZ29yeS1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgIG1heC1oZWlnaHQ6IDJyZW07IH1cbiAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19wcm9kdWN0LXF0eSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzY5Njk2OTsgfVxuICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fcHJvZHVjdC1xdHk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcoJzsgfVxuICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fcHJvZHVjdC1xdHk6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyknOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy9nZXQtdmFsdWUtZnJvbS1saXN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHNldWRvaWNvbi9taXhpbic7XG5cbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9iYWNrZ3JvdW5kOiAkY29sb3JfbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2l0ZW0tYmFja2dyb3VuZDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2JhY2tncm91bmQgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25faXRlbS1ib3JkZXI6IDFweCAkY29sb3JfYWx0byBzb2xpZCAhZGVmYXVsdDtcblxuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLWNvbG9yLS1ob3ZlcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstY29sb3IgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1mb250LXNpemU6IDEuNHJlbSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1zaWduLWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1zaWduLWNvbG9yLS1ob3ZlcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstc2lnbi1jb2xvciAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLWFjdGl2ZS1jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstcGFkZGluZzogMTVweCAhZGVmYXVsdDtcblxuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tdXNlLXBzZXVkb2ljb24taW5zdGVhZC1zdmc6IHRydWUgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi13aWR0aDogMC44cmVtICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24taGVpZ2h0OiAwLjJyZW0gIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tY29sb3ItLWhvdmVyOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1jb2xvciAhZGVmYXVsdDtcbi8vIEJlbG93IG5hdmlnYXRpb25faWNvbiBzZXR0aW5ncyBhcmUgdXNhYmxlIG9ubHkgaWYgeW91IHVzZSBwc2V1ZG9pY29uXG4kb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi10eXBlOiAnYXJyb3cnICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tZGVmYXVsdC0tbmV4dDogJ3JpZ2h0JyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWRlZmF1bHQtLXByZXY6ICdsZWZ0JyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWFuaW1hdGlvbjogZmFsc2UgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1hcnJvdy1sZWZ0LW9mZnNldDogMCAhZGVmYXVsdDtcblxuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tc2lnbi1jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwO1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tc2lnbi1jb2xvci0taG92ZXI6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXNpZ24tY29sb3I7XG5cbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9wcm9kdWN0LXF0eS1jb2xvcjogJGNvbG9yX3RleHQtNTAwICFkZWZhdWx0O1xuXG4uI3skbnN9b2ZmY2FudmFzLW5hdmlnYXRpb24ge1xuICAgICRyb290OiAmO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9iYWNrZ3JvdW5kO1xuXG4gICAgLm5hdi1sb2dvIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2JvZHktdGV4dDtcbiAgICAgICAgcGFkZGluZzogMTdweDtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTYwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICAgICAgJi0tY3VycmVudCB7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgJiAmIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDEwNSU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcztcblxuICAgICAgICAgICAgJi0tYWN0aXZlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwNSUpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwNSUsIDAsIDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiBsaTpub3QoLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pdGVtKXtcbiAgICAgICAgICAgIEBleHRlbmQgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pdGVtO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2l0ZW0tYm9yZGVyO1xuXG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2l0ZW0tYm9yZGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pdGVtLWJvcmRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pdGVtLWJvcmRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXdpdGgtaWNvbiB7XG4gICAgICAgICAgICAjeyRyb290fV9fdGV4dCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogZ2V0LXZhbHVlLWZyb20tbGlzdChcbiAgICAgICAgICAgICAgICAgICAgJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstcGFkZGluZyxcbiAgICAgICAgICAgICAgICAgICAgJ2xlZnQnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwYWRkaW5nOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1wYWRkaW5nO1xuICAgICAgICBmb250LXNpemU6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLWZvbnQtc2l6ZTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1mb250LXdlaWdodDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICYsXG4gICAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgICAgICBjb2xvcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1jb2xvci0taG92ZXI7XG5cbiAgICAgICAgICAgIEBpZiBub3QoJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tdXNlLXBzZXVkb2ljb24taW5zdGVhZC1zdmcpIHtcbiAgICAgICAgICAgICAgICAjeyRyb290fV9faWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tY29sb3ItLWhvdmVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tc2lnbi1pbixcbiAgICAgICAgJi0tc2lnbi1vdXQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNXJlbTtcblxuICAgICAgICAgICAgJixcbiAgICAgICAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLXNpZ24tY29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1zaWduLWNvbG9yLS1ob3ZlcjtcblxuICAgICAgICAgICAgICAgICN7JHJvb3R9X19pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1zaWduLWNvbG9yLS1ob3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH1fX2ljb24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyLjNyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyLjdyZW07XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGdldC12YWx1ZS1mcm9tLWxpc3QoXG4gICAgICAgICAgICAgICAgICAgICRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLXBhZGRpbmcsXG4gICAgICAgICAgICAgICAgICAgICdyaWdodCdcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXNpZ24tY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tcGFyZW50LFxuICAgICAgICAmLS1yZXR1cm4ge1xuICAgICAgICAgICAgI3skcm9vdH1fX2ljb24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi13aWR0aDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXdpZHRoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tcGFyZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVyZW07XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19pY29uIHtcbiAgICAgICAgICAgICAgICByaWdodDogZ2V0LXZhbHVlLWZyb20tbGlzdChcbiAgICAgICAgICAgICAgICAgICAgJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstcGFkZGluZyxcbiAgICAgICAgICAgICAgICAgICAgJ3JpZ2h0J1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1yZXR1cm4ge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cmVtO1xuXG4gICAgICAgICAgICAjeyRyb290fV9faWNvbiB7XG4gICAgICAgICAgICAgICAgbGVmdDogZ2V0LXZhbHVlLWZyb20tbGlzdChcbiAgICAgICAgICAgICAgICAgICAgJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstcGFkZGluZyxcbiAgICAgICAgICAgICAgICAgICAgJ2xlZnQnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tdXNlLXBzZXVkb2ljb24taW5zdGVhZC1zdmcpIHtcbiAgICAgICAgICAgICYtLW5leHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBzZXVkb2ljb24oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi10eXBlLFxuICAgICAgICAgICAgICAgICAgICAkYW5pbWF0ZWQ6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWFuaW1hdGlvbixcbiAgICAgICAgICAgICAgICAgICAgJGFycm93LWRlZmF1bHQ6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWRlZmF1bHQtLW5leHQsXG4gICAgICAgICAgICAgICAgICAgICRhcnJvdy1vZmZzZXQ6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWFycm93LWxlZnQtb2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICAkd2lkdGg6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXdpZHRoLFxuICAgICAgICAgICAgICAgICAgICAkaGVpZ2h0OiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1oZWlnaHQsXG4gICAgICAgICAgICAgICAgICAgICRjb2xvcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tY29sb3IsXG4gICAgICAgICAgICAgICAgICAgICRjb2xvci1ob3ZlcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tY29sb3ItLWhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAkcG9zaXRpb24tc2lkZS1vZmZzZXQ6XG4gICAgICAgICAgICAgICAgICAgICAgICBnZXQtdmFsdWUtZnJvbS1saXN0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLXBhZGRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JpZ2h0J1xuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLXByZXYge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBzZXVkb2ljb24oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi10eXBlLFxuICAgICAgICAgICAgICAgICAgICAkYW5pbWF0ZWQ6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWFuaW1hdGlvbixcbiAgICAgICAgICAgICAgICAgICAgJGFycm93LWRlZmF1bHQ6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWRlZmF1bHQtLXByZXYsXG4gICAgICAgICAgICAgICAgICAgICRhcnJvdy1vZmZzZXQ6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWFycm93LWxlZnQtb2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICAkd2lkdGg6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXdpZHRoLFxuICAgICAgICAgICAgICAgICAgICAkaGVpZ2h0OiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1oZWlnaHQsXG4gICAgICAgICAgICAgICAgICAgICRjb2xvcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tY29sb3IsXG4gICAgICAgICAgICAgICAgICAgICRjb2xvci1ob3ZlcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tY29sb3ItLWhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAkcG9zaXRpb24tc2lkZS1vZmZzZXQ6IGF1dG9cbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGdldC12YWx1ZS1mcm9tLWxpc3QoXG4gICAgICAgICAgICAgICAgICAgICAgICAkb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1wYWRkaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2xlZnQnXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjdGl2ZSB7XG4gICAgICAgID4gI3skcm9vdH1fX2xpbmsge1xuICAgICAgICAgICAgY29sb3I6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICBmaWxsOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NhdGVnb3J5LWljb24td3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDJyZW07XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuXG4gICAgJl9fY2F0ZWdvcnktaWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgICAgIG1heC1oZWlnaHQ6IDJyZW07XG4gICAgfVxuXG4gICAgJl9fcHJvZHVjdC1xdHkge1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBjb2xvcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX3Byb2R1Y3QtcXR5LWNvbG9yO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcoJztcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyknO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jcy1vZmZjYW52YXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDMwMDsgfVxuICAuY3Mtb2ZmY2FudmFzX19kcmF3ZXIsIC5jcy1vZmZjYW52YXNfX292ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3Mtb2ZmY2FudmFzX19kcmF3ZXIsIC5jcy1vZmZjYW52YXNfX292ZXJsYXkge1xuICAgICAgICB0b3A6IDA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3Mtb2ZmY2FudmFzX19kcmF3ZXIsIC5jcy1vZmZjYW52YXNfX292ZXJsYXkge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAuY3Mtb2ZmY2FudmFzLS1taW5pLWNhcnQgLmNzLW9mZmNhbnZhc19fZHJhd2VyLCAuY3Mtb2ZmY2FudmFzLS1taW5pLWNhcnQgLmNzLW9mZmNhbnZhc19fb3ZlcmxheSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRvcDogMDsgfVxuICAuY3Mtb2ZmY2FudmFzX19vdmVybGF5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCB0cmFuc2Zvcm0gMW1zIDAuM3M7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmNzLW9mZmNhbnZhcyAub3ZlcmxheS0tdmlzaWJsZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzOyB9XG4gIC5jcy1vZmZjYW52YXNfX2RyYXdlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiAjRjRGNEY0O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICAgIHdpZHRoOiA3MiU7XG4gICAgbWF4LXdpZHRoOiAyODBweDsgfVxuICAgIC5jcy1vZmZjYW52YXMtLXNpZGVfbGVmdCAuY3Mtb2ZmY2FudmFzX19kcmF3ZXIge1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTA1JSwgMCwgMCk7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLS1zaWRlX3JpZ2h0IC5jcy1vZmZjYW52YXNfX2RyYXdlciB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNSUsIDAsIDApOyB9XG4gIC5jcy1vZmZjYW52YXMgLmRyYXdlci0tdmlzaWJsZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSAhaW1wb3J0YW50OyB9XG4gIC5jcy1vZmZjYW52YXNfX3NwaW5uZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogNnJlbTtcbiAgICBoZWlnaHQ6IDZyZW07XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogMjAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtM3JlbTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG4kb2ZmY2FudmFzX3RvcC1vZmZzZXQtbW9iaWxlOiAwICFkZWZhdWx0OyAvLyBNb3ZlIGJlbG93IHRoZSBuYXZpZ2F0aW9uIG9uIG1vYmlsZS5cbiRvZmZjYW52YXNfdG9wLW9mZnNldC10YWJsZXQ6IDAgIWRlZmF1bHQ7IC8vIE1vdmUgYmVsb3cgdGhlIG5hdmlnYXRpb24gb24gdGFibGV0LlxuJG9mZmNhbnZhc190cmFuc2l0aW9uLXRpbWU6ICR0cmFuc2l0aW9uLWRlZmF1bHQtdGltZSAhZGVmYXVsdDtcblxuJG9mZmNhbnZhc19vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGNvbG9yX2JhY2tncm91bmQtODAwLCAwLjcpICFkZWZhdWx0O1xuXG4kb2ZmY2FudmFzX2RyYXdlci1iYWNrZ3JvdW5kOiAkY29sb3JfbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuJG9mZmNhbnZhc19zcGlubmVyLWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG5cbi4jeyRuc31vZmZjYW52YXMge1xuICAgICRyb290OiAmO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDMwMDtcblxuICAgICZfX2RyYXdlcixcbiAgICAmX19vdmVybGF5IHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6ICRvZmZjYW52YXNfdG9wLW9mZnNldC1tb2JpbGU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgdG9wOiAkb2ZmY2FudmFzX3RvcC1vZmZzZXQtdGFibGV0O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1taW5pLWNhcnQgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX292ZXJsYXkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgLy8gU2V0dGluZyAxbXMgYmVjYXVzZSAwIGRvZXNuJ3Qgc2VlbSB0byB3b3JrIGFuZCB3ZSBuZWVkIHNlYW1sZXNzIHRyYW5zaXRpb24gZm9yIHNjYWxlIGhlcmUuXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJG9mZmNhbnZhc190cmFuc2l0aW9uLXRpbWUsXG4gICAgICAgICAgICB0cmFuc2Zvcm0gMW1zICRvZmZjYW52YXNfdHJhbnNpdGlvbi10aW1lO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgLm92ZXJsYXkge1xuICAgICAgICAmLS12aXNpYmxlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzX292ZXJsYXktYmFja2dyb3VuZDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJG9mZmNhbnZhc190cmFuc2l0aW9uLXRpbWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kcmF3ZXIge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZDogJG9mZmNhbnZhc19kcmF3ZXItYmFja2dyb3VuZDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXNfdHJhbnNpdGlvbi10aW1lO1xuICAgICAgICB3aWR0aDogNzIlO1xuICAgICAgICBtYXgtd2lkdGg6IDI4MHB4O1xuXG4gICAgICAgICN7JHJvb3R9LS1zaWRlX2xlZnQgJiB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDUlLCAwLCAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1zaWRlX3JpZ2h0ICYge1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDUlLCAwLCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kcmF3ZXIge1xuICAgICAgICAmLS12aXNpYmxlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NwaW5uZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiA2cmVtO1xuICAgICAgICBoZWlnaHQ6IDZyZW07XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiAyMCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtM3JlbTtcbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3MtcGFnZS10ZWFzZXItLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY3MtcGFnZS10ZWFzZXItLWNvbnRhaW5lciBwaWN0dXJlIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5jcy1wYWdlLXRlYXNlci0tY29udGFpbmVyIHBpY3R1cmUsXG4gIC5jcy1wYWdlLXRlYXNlci0tY29udGFpbmVyIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNzLXBhZ2UtdGVhc2VyLS1jb250YWluZXIgLmNtcy1wYWdlX190ZWFzZXItd3JhcHBlciB7XG4gICAgaGVpZ2h0OiAzNTFweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtcGFnZS10ZWFzZXItLWNvbnRhaW5lciAuY21zLXBhZ2VfX3RlYXNlci13cmFwcGVyIHtcbiAgICAgICAgaGVpZ2h0OiAyMDBweCAhaW1wb3J0YW50OyB9IH1cbiAgLmNzLXBhZ2UtdGVhc2VyLS1jb250YWluZXIgLmNtcy1wYWdlX190ZWFzZXItaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1pbi1oZWlnaHQ6IDM1MXB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1wYWdlLXRlYXNlci0tY29udGFpbmVyIC5jbXMtcGFnZV9fdGVhc2VyLWltYWdlIHtcbiAgICAgICAgbWluLWhlaWdodDogMjAwcHg7IH0gfVxuICAuY3MtcGFnZS10ZWFzZXItLWNvbnRhaW5lciAuY21zLXBhZ2VfX3RlYXNlciA+IHBpY3R1cmUsXG4gIC5jcy1wYWdlLXRlYXNlci0tY29udGFpbmVyIC5jbXMtcGFnZV9fdGVhc2VyID4gaW1nIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuY3MtcGFnZS10ZWFzZXItLWNvbnRhaW5lciAucGFnZS10aXRsZS13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLXBhZ2UtdGVhc2VyLS1jb250YWluZXIgLmNtcy1wYWdlX190ZWFzZXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9hcnJvdy1kb3duQDF4LnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgLmNzLXBhZ2UtdGVhc2VyLS1jb250YWluZXIgLmNtcy1wYWdlX190ZWFzZXItaW1hZ2Uge1xuICAgICAgbWluLWhlaWdodDogMjAwcHggIWltcG9ydGFudDsgfSB9XG5cbi5wYWdlLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgU2Vnb2UgVUksIFJvYm90bywgVWJ1bnR1LCBDYW50YXJlbGwsIE94eWdlbiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICBmb250LXNpemU6IDRyZW07XG4gIGNvbG9yOiAjMjEyMTIxO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW46IDFyZW0gMCAycmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAucGFnZS10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAucGFnZS10aXRsZV9faGVhZGxpbmUge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgLnBhZ2UtdGl0bGVfX3NwYW4ge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZzogMDsgfVxuXG4uY21zLXBhZ2UtdmlldyAucGFnZS10aXRsZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3R5cG9ncmFwaHkvbWl4aW4nO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuJHBhZ2UtdGl0bGVfZm9udC1zaXplOiA0cmVtICFkZWZhdWx0O1xuJHBhZ2UtdGl0bGVfdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRwYWdlLXRpdGxlX2ZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XG5cbiRwYWdlLXRpdGxlX3NwYW4tY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRwYWdlLXRpdGxlX3NwYW4tZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcbiRwYWdlLXRpdGxlX3NwYW4tcGFkZGluZzogMCAhZGVmYXVsdDtcblxuLmNzLXBhZ2UtdGVhc2VyLS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIHBpY3R1cmUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgcGljdHVyZSxcbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuY21zLXBhZ2VfX3RlYXNlci13cmFwcGVyIHtcbiAgICAgICAgaGVpZ2h0OiAzNTFweDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY21zLXBhZ2VfX3RlYXNlci1pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBtaW4taGVpZ2h0OiAzNTFweDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY21zLXBhZ2VfX3RlYXNlciA+IHBpY3R1cmUsXG4gICAgLmNtcy1wYWdlX190ZWFzZXIgPiBpbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG5cbiAgICAucGFnZS10aXRsZS13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIC5jbXMtcGFnZV9fdGVhc2VyIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDonJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9hcnJvdy1kb3duQDF4LnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgIC5jbXMtcGFnZV9fdGVhc2VyLWltYWdlIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wYWdlLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBoZWFkbGluZSgkbGV2ZWw6ICRwYWdlLXRpdGxlX2ZvbnQtc2l6ZSk7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06ICRwYWdlLXRpdGxlX3RleHQtdHJhbnNmb3JtO1xuICAgIGZvbnQtd2VpZ2h0OiAkcGFnZS10aXRsZV9mb250LXdlaWdodDtcbiAgICBjb2xvcjogJHBhZ2UtdGl0bGVfc3Bhbi1jb2xvcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgICZfX2hlYWRsaW5lIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cblxuICAgICZfX3NwYW4ge1xuICAgICAgICBjb2xvcjogJHBhZ2UtdGl0bGVfc3Bhbi1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwYWdlLXRpdGxlX3NwYW4tZm9udC13ZWlnaHQ7XG4gICAgICAgIHBhZGRpbmc6ICRwYWdlLXRpdGxlX3NwYW4tcGFkZGluZztcbiAgICB9XG59XG5cbi5jbXMtcGFnZS12aWV3IHtcbiAgICAucGFnZS10aXRsZSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG5cblxuXG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQG1lZGlhIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgLmNvbHVtbnMgLmNvbHVtbi5tYWluIHtcbiAgICBwYWRkaW5nOiAwOyB9IH1cblxuLmNzLWNvbnRhaW5lci0tcGFnZS1ib3R0b20ge1xuICBiYWNrZ3JvdW5kOiAjMDAwOyB9XG5cbi5jcy1wYWdlLWJvdHRvbSB7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLXBhZ2UtYm90dG9tIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLXBhZ2UtYm90dG9tIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAucGFnZS1wcmludCAuY3MtcGFnZS1ib3R0b20ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLXBhZ2UtYm90dG9tX19pbWFnZSB7XG4gICAgaGVpZ2h0OiAzcmVtO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19pbWFnZS0tY2lyY2xlIHtcbiAgICAgIHdpZHRoOiA0LjdyZW07XG4gICAgICBoZWlnaHQ6IDQuN3JlbTtcbiAgICAgIG1pbi13aWR0aDogNC43cmVtO1xuICAgICAgbWluLWhlaWdodDogNC43cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC5jcy1wYWdlLWJvdHRvbV9fdGV4dCxcbiAgLmNzLXBhZ2UtYm90dG9tIC5jb3B5cmlnaHQge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjZyZW07IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX3RleHQtLXNtYWxsLFxuICAgIC5jcy1wYWdlLWJvdHRvbSAuY29weXJpZ2h0LS1zbWFsbCB7XG4gICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLmNzLXBhZ2UtYm90dG9tX19ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LXNocmluazogMTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLXBhZ2UtYm90dG9tX19ncm91cCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAtLWluZm8ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLXBhZ2UtYm90dG9tX19ncm91cC0taW5mbyB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWJhc2lzOiA0MCU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgICAgICAgICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwLS1pbmZvIC5jcy1wYWdlLWJvdHRvbV9fdGV4dCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIwcmVtOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAtLWluZm8ge1xuICAgICAgICAgIGZsZXgtYmFzaXM6IDE3JTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgICAgICAgLmNzLXBhZ2UtYm90dG9tX19ncm91cC0taW5mbyAuY3MtcGFnZS1ib3R0b21fX3RleHQge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwLS1zaGlwcGluZyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwLS1zaGlwcGluZyB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWJhc2lzOiA1NSU7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNzLXBhZ2UtYm90dG9tX19ncm91cC0tc2hpcHBpbmcge1xuICAgICAgICAgIGZsZXgtYmFzaXM6IDMzJTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDRyZW07IH0gfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAtLXBheW1lbnQge1xuICAgICAgZmxleC1iYXNpczogNTAlOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwLS1wYXltZW50IC5jcy1wYWdlLWJvdHRvbV9fdGV4dCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwLS1wYXltZW50IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAtLXBheW1lbnQge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogNHJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAtLXNoaXBwaW5nLCAuY3MtcGFnZS1ib3R0b21fX2dyb3VwLS1wYXltZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAtLXNoaXBwaW5nOmJlZm9yZSwgLmNzLXBhZ2UtYm90dG9tX19ncm91cC0tcGF5bWVudDpiZWZvcmUge1xuICAgICAgICAgIG1hcmdpbjogMCAxcmVtO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAxcmVtO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHdpZHRoOiAwLjJyZW07XG4gICAgICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9IH1cbiAgLmNzLXBhZ2UtYm90dG9tX19sb2dvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgIGhlaWdodDogMnJlbTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAuY3MtcGFnZS1ib3R0b21fX2xvZ28ge1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19sb2dvLS1oZXJtZXMge1xuICAgICAgd2lkdGg6IDEyLjJyZW07IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2xvZ28tLWRobCB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXgtaGVpZ2h0OiAycmVtO1xuICAgICAgbWluLXdpZHRoOiA4LjZyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2xvZ28tLXBheXBhbCB7XG4gICAgICB3aWR0aDogNi4ycmVtOyB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19sb2dvLS12aXNhIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1heC1oZWlnaHQ6IDJyZW07XG4gICAgICBtaW4td2lkdGg6IDUuNXJlbTsgfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fbG9nby0tbWFzdGVyY2FyZCB7XG4gICAgICB3aWR0aDogMy4zcmVtOyB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19sb2dvLS1rbGFybmEtc29mb3J0IHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1heC1oZWlnaHQ6IDIuNXJlbTtcbiAgICAgIG1pbi1oZWlnaHQ6IDIuNXJlbTsgfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fbG9nby0ta2xhcm5hIHtcbiAgICAgIHdpZHRoOiA3cmVtOyB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19sb2dvLS1nbHMge1xuICAgICAgd2lkdGg6IDVyZW07IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2xvZ28tLWdpcm9wYXkge1xuICAgICAgd2lkdGg6IDQuOHJlbTsgfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fbG9nby0tZWMge1xuICAgICAgd2lkdGg6IDEuOHJlbTsgfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fbG9nby0tcGF5ZGlyZWt0IHtcbiAgICAgIHdpZHRoOiA2cmVtOyB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19sb2dvLS1sYXN0c2NocmlmdCB7XG4gICAgICB3aWR0aDogNi4xNXJlbTsgfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fbG9nby0tdm9ya2Fzc2Uge1xuICAgICAgd2lkdGg6IDguM3JlbTsgfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fbG9nby0tcmVjaG51bmcge1xuICAgICAgd2lkdGg6IDYuMTVyZW07IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2xvZ28gKyAuY3MtcGFnZS1ib3R0b21fX2xvZ28ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAuY3MtY29udGFpbmVyLS1wYWdlLXBkcC1ib3R0b20sXG4gIC5jcy1jb250YWluZXItLXByb2R1Y3RzLWNhcm91c2VsIHtcbiAgICBwYWRkaW5nOiAwOyB9IH1cblxuLmNzLWNvbnRhaW5lci0tcGFnZS1ib3R0b20ge1xuICBtYXgtd2lkdGg6IG5vbmU7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuJHBhZ2UtYm90dG9tX3RleHQtY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRwYWdlLWJvdHRvbV9kaXZpZGVyLWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG5cbi5jb2x1bW5zIC5jb2x1bW4ubWFpbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzw9bGFwdG9wJykge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuLmNzLWNvbnRhaW5lci0tcGFnZS1ib3R0b20ge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcl9ibGFjaztcbn1cblxuLiN7JG5zfXBhZ2UtYm90dG9tIHtcbiAgICAkcm9vdDogJjtcblxuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnBhZ2UtcHJpbnQgJiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAgICYtLWNpcmNsZSB7XG4gICAgICAgICAgICB3aWR0aDogNC43cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiA0LjdyZW07XG4gICAgICAgICAgICBtaW4td2lkdGg6IDQuN3JlbTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQuN3JlbTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQsXG4gICAgLmNvcHlyaWdodCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBjb2xvcjogJHBhZ2UtYm90dG9tX3RleHQtY29sb3I7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC42cmVtO1xuXG4gICAgICAgICYtLXNtYWxsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2dyb3VwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBmbGV4LXNocmluazogMTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0taW5mbyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA0MCU7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG5cbiAgICAgICAgICAgICAgICAjeyRyb290fV9fdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjByZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTclO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgICAgICAjeyRyb290fV9fdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zaGlwcGluZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1NSU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAzMyU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tcGF5bWVudCB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICN7JHJvb3R9X190ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDRyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zaGlwcGluZyxcbiAgICAgICAgJi0tcGF5bWVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwLjJyZW07XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHBhZ2UtYm90dG9tX2RpdmlkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sb2dvIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICAgIGhlaWdodDogMnJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0taGVybWVzIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMi4ycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tZGhsIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDJyZW07XG4gICAgICAgICAgICBtaW4td2lkdGg6IDguNnJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXBheXBhbCB7XG4gICAgICAgICAgICB3aWR0aDogNi4ycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tdmlzYSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAycmVtO1xuICAgICAgICAgICAgbWluLXdpZHRoOiA1LjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1tYXN0ZXJjYXJkIHtcbiAgICAgICAgICAgIHdpZHRoOiAzLjNyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1rbGFybmEtc29mb3J0IHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWtsYXJuYSB7XG4gICAgICAgICAgICB3aWR0aDogN3JlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWdscyB7XG4gICAgICAgICAgICB3aWR0aDogNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWdpcm9wYXkge1xuICAgICAgICAgICAgd2lkdGg6IDQuOHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWVjIHtcbiAgICAgICAgICAgIHdpZHRoOiAxLjhyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1wYXlkaXJla3Qge1xuICAgICAgICAgICAgd2lkdGg6IDZyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1sYXN0c2NocmlmdCB7XG4gICAgICAgICAgICB3aWR0aDogNi4xNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXZvcmthc3NlIHtcbiAgICAgICAgICAgIHdpZHRoOiA4LjNyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1yZWNobnVuZyB7XG4gICAgICAgICAgICB3aWR0aDogNi4xNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jcy1jb250YWluZXItLXBhZ2UtcGRwLWJvdHRvbSxcbi5jcy1jb250YWluZXItLXByb2R1Y3RzLWNhcm91c2VsIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuLmNzLWNvbnRhaW5lciB7XG4gICAgJi0tcGFnZS1ib3R0b20ge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKlxuICogQmVjYXVzZSBwcmljZS1ib3ggaXMgdXNlZCBpbiBtdWx0aXBsZSBjb21wb25lbnRzIGxpa2UgdGlsZSwgYnV5Ym94IGV0YyxcbiAqIHdlIG5lZWQgdG8gbW92ZSB2YXJpYWJsZXMgdG8gc2VwYXJhdGUgZmlsZSB0byBoYXZlIHBvc3NpYmlsaXR5IHRvIGluY2x1ZGUgdGhlbVxuICogaW4gZWFjaCBjb21wb25lbnQgd2l0aG91dCBnZW5lcmF0ZSBwcmljZS1ib3ggY29tcG9uZW50IHN0eWxlcyBtdWx0aXBsZSB0aW1lc1xuKi9cbi8qKipcbiAqIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyczpcbiAqIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKlxuICogMS4gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAqICAgIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICogICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyNMMTMwXG4gKi9cbi5wcmljZS1ib3gge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnByaWNlLWJveCAucHJpY2Uge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgIC5wcmljZS1ib3ggLnByaWNlLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnByaWNlLWJveCAub2xkLXByaWNlIC5wcmljZSB7XG4gICAgZm9udC1zaXplOiAwLjY1cmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOyB9XG4gIC5wcmljZS1ib3ggLm9sZC1wcmljZS5uby1kaXNwbGF5IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgLnByaWNlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNGVtOyB9XG4gIC5wcmljZS1ib3ggLnByaWNlIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5wcmljZS1ib3ggLnByaWNlLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBtYXJnaW46IDAgMCAwLjNyZW0gMDsgfVxuICAgICAgLnByaWNlLWJveCAucHJpY2UtbGFiZWw6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnOic7IH1cbiAgICAgIGJvZHlcbnBcbi5wcmljZS1ib3ggLnByaWNlLWxhYmVsIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIC8qIDEgKi8gfVxuICAgIC5wcmljZS1ib3ggLnByaWNlLW1zcnBfcHJpY2Uge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gIC5wcmljZS1ib3ggLnByaWNlLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnByaWNlLWJveCAucHJpY2UtZnJvbSxcbiAgLnByaWNlLWJveCAucHJpY2UtdG8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5wcmljZS1ib3ggLnByaWNlLWZyb20gPiAucHJpY2UtY29udGFpbmVyLFxuICAgIC5wcmljZS1ib3ggLnByaWNlLXRvID4gLnByaWNlLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgLnByaWNlLWJveCAucHJpY2UtZnJvbSAucHJpY2UtbGFiZWwsXG4gICAgLnByaWNlLWJveCAucHJpY2UtdG8gLnByaWNlLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLnByaWNlLWJveCAub2xkLXByaWNlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAucHJpY2UtYm94IC5vbGQtcHJpY2UubWFwLW9sZC1wcmljZSAucHJpY2Utd3JhcHBlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIC5wcmljZS1ib3ggLm9sZC1wcmljZSAucHJpY2Utd3JhcHBlciAucHJpY2Uge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2ggIWltcG9ydGFudDsgfVxuICAgIC5wcmljZS1ib3ggLm9sZC1wcmljZSAucHJpY2UsXG4gICAgLnByaWNlLWJveCAub2xkLXByaWNlIC5wcmljZS13cmFwcGVyIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgPiAucHJpY2UtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIC5wcmljZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGNvbG9yOiAjQ0MxQzNBO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZS5hY3RpdmUgLnByaWNlIHtcbiAgICBjb2xvcjogI0NDMUMzQTsgfVxuICAucHJpY2UtYm94IC5wcmljZS1mcm9tIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLmNzLXByaWNlLS1wZHBfZGFpbHlkZWFsLWNvdW50ZG93biAucHJpY2UtYm94Om5vdCgucHJpY2UtZmluYWxfcHJpY2Vfd2l0aG91dF9kYWlseV9kZWFsKSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAucHJpY2UtYm94IC5yZWd1bGFyLXByaWNlLWNvbnRhaW5lcjpub3QoLndpdGgtc3BlY2lhbCkgLm1hcC1vbGQtcHJpY2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jcy1idW5kbGUtYm94X19hZGQgLnByaWNlLWFzLWNvbmZpZ3VyZWQge1xuICBtYXJnaW46IDFyZW0gMCAwOyB9XG5cbi5taW5pbWFsLXByaWNlLWxpbmsge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogMS41cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLm1pbmltYWwtcHJpY2UtbGluazphZnRlciB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogJy0nO1xuICAgIHJpZ2h0OiAtMXJlbTtcbiAgICB0b3A6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJpY2UtYm94L21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJpY2UtYm94L3ZhcmlhYmxlcy5zY3NzJztcbkBpbXBvcnQgJ3V0aWxzL3Zpc3VhbGx5LWhpZGRlbic7XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHlcbiRwcmljZS1ib3hfb2xkLXByaWNlLWZvbnQtc2l6ZTogMS40cmVtICFkZWZhdWx0O1xuXG4ucHJpY2UtYm94IHtcbiAgICAkcm9vdDogJjtcbiAgICBAaW5jbHVkZSBwcmljZUJveCgpO1xuXG4gICAgLnByaWNlIHtcbiAgICAgICAgY29sb3I6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWNvbG9yO1xuICAgICAgICBmb250LXNpemU6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtd2VpZ2h0O1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgJi1sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogJHByaWNlLWJveF9sYWJlbC1jb2xvcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHByaWNlLWJveF9sYWJlbC1mb250LXNpemU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJHByaWNlLWJveF9sYWJlbC1mb250LXdlaWdodDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgJHByaWNlLWJveF9sYWJlbC1tYXJnaW4gMDtcblxuICAgICAgICAgICAgQGlmICgkcHJpY2UtYm94X2xhYmVsLWRpc3BsYXktY29sb24pIHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJzonO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYm9keTpub3QoLnBhZ2UtcHJvZHVjdC1idW5kbGUsIC5wYWdlLXByb2R1Y3QtZ3JvdXBlZClcbiAgICAgICAgICAgICAgICBwOm5vdCgucHJpY2UtZnJvbSwgLnByaWNlLXRvKVxuICAgICAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1tc3JwX3ByaWNlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcmljZS13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgLnByaWNlLWZyb20sXG4gICAgLnByaWNlLXRvIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgPiAucHJpY2UtY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcHJpY2UtYm94X2xhYmVsLWZvbnQtc2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZS1sYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9sZC1wcmljZSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAmLm1hcC1vbGQtcHJpY2Uge1xuXG4gICAgICAgICAgICAucHJpY2Utd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2Utd3JhcHBlciAucHJpY2Uge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2ggIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZSxcbiAgICAgICAgLnByaWNlLXdyYXBwZXIge1xuICAgICAgICAgICAgY29sb3I6ICRwcmljZS1ib3hfb2xkLXByaWNlLWNvbG9yO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcHJpY2UtYm94X29sZC1wcmljZS1mb250LXNpemU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJHByaWNlLWJveF9vbGQtcHJpY2UtZm9udC13ZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3BlY2lhbC1wcmljZSB7XG4gICAgICAgID4gLnByaWNlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBjb2xvcjogJHByaWNlLWJveF9zcGVjaWFsLXByaWNlLWNvbG9yO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcHJpY2UtYm94X3NwZWNpYWwtcHJpY2UtZm9udC1zaXplO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfc3BlY2lhbC1wcmljZS1mb250LXdlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmljZS1ib3hfc3BlY2lhbC1wcmljZS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcmljZS1mcm9tIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkcHJpY2UtYm94X3NwYWNlLWJldHdlZW4tcHJpY2VzO1xuICAgIH1cblxuICAgIC4jeyRuc31wcmljZS0tcGRwX2RhaWx5ZGVhbC1jb3VudGRvd24gJiB7XG4gICAgICAgICY6bm90KC5wcmljZS1maW5hbF9wcmljZV93aXRob3V0X2RhaWx5X2RlYWwpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnJlZ3VsYXItcHJpY2UtY29udGFpbmVyIHtcbiAgICAgICAgJjpub3QoLndpdGgtc3BlY2lhbCl7XG4gICAgICAgICAgICAubWFwLW9sZC1wcmljZXtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4uI3skbnN9YnVuZGxlLWJveF9fYWRkIHtcbiAgICAucHJpY2UtYXMtY29uZmlndXJlZCB7XG4gICAgICAgIG1hcmdpbjogMXJlbSAwIDA7XG4gICAgfVxufVxuXG4ubWluaW1hbC1wcmljZS1saW5rIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1jb2xvcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6ICctJztcbiAgICAgICAgcmlnaHQ6IC0xcmVtO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG59XG4iLCIvLyBwcmljZS1ib3hcbi8vIFRoaXMgY29tcG9uZW50IGlzIHJlc3BvbnNpYmxlIGZvciBzdHlsaW5nIHByaWNlcyBieSBtYXJrdXAgcHJvdmlkZWQgYnkgTWFnZW50bzJcbi8vXG4vLyBTZWUgaHR0cDovL3dhcnBzcGlyZS5jb20va3NzLyBmb3IgZG9jdW1lbnRhdGlvbiBndWlkZWxpbmVzLlxuLy8gVmVyc2lvbiAwLjAuMVxuQG1peGluIHByaWNlQm94KCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIC5wcmljZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgJi1sYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9sZC1wcmljZSB7XG4gICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNjVyZW07XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9sZCBwcmljZSBzaG91bGQgbm90IGJlIGRpc3BsYXllZCBmb3IgcHJpY2VzIHdoZXJlIG5vcm1hbCBwcmljZSBpcyBcIkFzIGxvdyBhcyB7cHJpY2V9XCJcbiAgICAgICAgJi5uby1kaXNwbGF5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3BlY2lhbC1wcmljZSAucHJpY2Uge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNGVtO1xuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qXG4gKiBCZWNhdXNlIHByaWNlLWJveCBpcyB1c2VkIGluIG11bHRpcGxlIGNvbXBvbmVudHMgbGlrZSB0aWxlLCBidXlib3ggZXRjLFxuICogd2UgbmVlZCB0byBtb3ZlIHZhcmlhYmxlcyB0byBzZXBhcmF0ZSBmaWxlIHRvIGhhdmUgcG9zc2liaWxpdHkgdG8gaW5jbHVkZSB0aGVtXG4gKiBpbiBlYWNoIGNvbXBvbmVudCB3aXRob3V0IGdlbmVyYXRlIHByaWNlLWJveCBjb21wb25lbnQgc3R5bGVzIG11bHRpcGxlIHRpbWVzXG4qL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqKlxuICogVXNpbmcgcHN1ZWRvIGVsZW1lbnRzIHRvIG1haW50YWluIGFuIGVsZW1lbnRzIGFzcGVjdCByYXRpbywgZXZlbiBhcyBpdCBzY2FsZXNcbiAqIEl0J3MgdXNpbmcgb25seSBmb3IgSUUxMSBhbmQgRWRnZSAodmVyc2lvbiB3aGljaCBkb2Vzbid0IHN1cHBvcnQgbmF0aXZlIENTUyBncmlkKSBicm93c2Vyc1xuICogRm9yIGJyb3dzZXJzIHdoaWNoIHN1cHBvcnQgbmF0aXZlIENTUyBncmlkLCB3ZSBhcmUgdXNpbmcgbWl4aW5zIGNvbnRhaW4gYHJlc2V0YCBpbiBtaXhpbiBuYW1lXG4gKiB0byBvdmVycmlkZSBkZWZhdWx0IG1peGlucyAocHJvZ3Jlc3NpdmUgZW5oYW5jZW1lbnQpXG4gKiBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL3Nhc3MvbWFpbnRhaW4tYXNwZWN0LXJhdGlvLW1peGluL1xuICogQHBhcmFtIHtudW1iZXJ9ICR3aWR0aDogd2lkdGggb2YgdGhlIGVsZW1lbnQ7XG4gKiBAcGFyYW0ge251bWJlcn0gJGhlaWdodDogaGVpZ2h0IG9mIHRoZSBlbGVtZW50O1xuICogQHBhcmFtIHtzdHJpbmd9ICRjb250ZW50Q2xhc3M6IGNsYXNzIG9mIHRoZSBkaXJlY3QgY2hpbGQgZWxlbWVudCB0byBiZSBwb3NpdGlvbmVkIGFic29sdXRlbHk7XG4gKiBAcGFyYW0ge2Jvb2xlYW59ICRhdXRvcG9zaXRpb246IHRlbGxzIGlmIGl0ZW0gc2hhbGwgdGFrZSAxMDAlIG9mIHBhcmVudCBzaXplIG9yIGlmIGl0IGNhbiBiZSB3aWRlci9oaWdoZXIgaWYgbmVlZGVkO1xuICovXG4vKipcbiAqIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4gKiBodHRwczovL3d3dy5zYXNzbWVpc3Rlci5jb20vZ2lzdC85ZmExOWQyNTQ4NjRmMzNkNGE4MFxuICogQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4gKiBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG4gKiBAcmV0dXJuIHtOdW1iZXJ9XG4gKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLmNzLXByb2R1Y3QtdGlsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLXByb2R1Y3QtdGlsZTpob3ZlciB7XG4gICAgICB6LWluZGV4OiA1O1xuICAgICAgdHJhbnNpdGlvbjogei1pbmRleCAwLjAwMDFzOyB9IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tY2xpY2thYmxlOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0taGlkZGVuIC5jcy1wcm9kdWN0LXRpbGVfX21haW4sXG4gIC5jcy1wcm9kdWN0LXRpbGUtLWhpZGRlbiAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQuY3MtcHJvZHVjdC10aWxlLS1zdGF0aWMgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2NvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgcGFkZGluZzogMS4ycmVtOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX190aHVtYm5haWwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAuY3MtcHJvZHVjdC10aWxlX190aHVtYm5haWwtbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX3RodW1ibmFpbC1saW5rIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fdGh1bWJuYWlsLWxpbms6aG92ZXIsIC5jcy1wcm9kdWN0LXRpbGVfX3RodW1ibmFpbC1saW5rOnZpc2l0ZWQge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwIDE1cHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2ZpZ3VyZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB0b3A6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fZmlndXJlOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMDAlOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2ZpZ3VyZSAuY3MtcHJvZHVjdC10aWxlX190aHVtYm5haWwtbGluayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2ltYWdlIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9faW1hZ2Uge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9faW1hZ2Uge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZXMge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlcy0tbGlzdCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZXMge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2VzIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgcGFkZGluZzogMTBweCAxNXB4IDEwcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1pbi1oZWlnaHQ6IDJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDI1cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMjVweDtcbiAgICBtYXgtd2lkdGg6IDEyNXB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlIHtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDg4cHg7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxM3B4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDguMDFlbSkge1xuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2Uge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7IH0gfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1kaXNjb3VudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0O1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1kaXNjb3VudCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tZGlzY291bnQgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCArIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1kaXNjb3VudCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLXNhbGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0NDMUMzQTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tc2FsZSAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tc2FsZSAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0ICsgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLXNhbGUgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1uZXcge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0E5QzU0NjtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tbmV3IC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1uZXcgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCArIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1uZXcgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1mcmVlLXNoaXBwaW5nIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNBOUM1NDY7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLWZyZWUtc2hpcHBpbmcgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLWZyZWUtc2hpcHBpbmcgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCArIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1mcmVlLXNoaXBwaW5nIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tcG9wdWxhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTlDNTQ2O1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1wb3B1bGFyIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1wb3B1bGFyIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQgKyAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tcG9wdWxhciAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLWRhaWx5ZGVhbCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0MxQzNBO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1kYWlseWRlYWwgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLWRhaWx5ZGVhbCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0ICsgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLWRhaWx5ZGVhbCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS1pdGVtIHtcbiAgICAgIG1hcmdpbjogMCAwIDAuNXJlbTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS1pdGVtIHtcbiAgICAgIG1hcmdpbjogMCAwIDAuM3JlbSAwOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtaXRlbTplbXB0eSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCArIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2dhbGxlcnkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFRkVGRjA7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2NvbnRlbnQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXg6IDE7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLXRvcCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLXNpZGVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5pZTExIC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucy1yaWdodCB7XG4gICAgd2lkdGg6IDMwJTsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucy1yaWdodCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucy1ib3R0b20ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucy1sZWZ0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLmllMTEgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLWxlZnQge1xuICAgICAgd2lkdGg6IDcwJTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLWxlZnQge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fcmV2aWV3LS1ncmlkIHtcbiAgICBtYXJnaW46IDFyZW0gMCAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3JldmlldzplbXB0eSB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19yZXZpZXcsXG4gIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fcmV2aWV3IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3N0b2NrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuNHJlbTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX3N0b2NrLS1pbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTlDNTQ2OyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19zdG9jay0taW46YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3RpY2std2hpdGUuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIG1hcmdpbi1yaWdodDogMnB4OyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fc3RvY2stLW91dCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODAwMDAwOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19zdG9jay0tb3V0OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy9vdXQuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIG1hcmdpbi1yaWdodDogMnB4OyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19zdG9jayB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19kYWlseWRlYWwtLWdyaWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2RhaWx5ZGVhbCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fZGFpbHlkZWFsIHtcbiAgICBtYXJnaW46IDFyZW0gMCAwIDA7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fcXR5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIHdpZHRoOiAxMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19tYWluIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fbWFpbiB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDAuMDFlbSkge1xuICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX21haW4ge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX21haW4ge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDVweDsgfSB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2RldGFpbHMge1xuICAgIGZsZXgtc2hyaW5rOiAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3N3YXRjaGVzIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19zd2F0Y2hlcyB7XG4gICAgICBtYXJnaW46IDEuNXJlbSAwIDFyZW07XG4gICAgICBtaW4taGVpZ2h0OiAyLjZyZW07IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fc3dhdGNoZXMsXG4gICAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX3N3YXRjaGVzIC5zd2F0Y2gtYXR0cmlidXRlLW9wdGlvbnMge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19zd2F0Y2hlcy0tbGlzdDplbXB0eSB7XG4gICAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuICAgIC5pZTExIC5jcy1wcm9kdWN0LXRpbGVfX3N3YXRjaGVzIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2JyYW5kIHtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgbWFyZ2luLXRvcDogMS4ycmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JyYW5kLS1lbXB0eSB7XG4gICAgICBoZWlnaHQ6IDA7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fYnJhbmQtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgY29sb3I6ICMzRTNFM0U7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fbmFtZSB7XG4gICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX25hbWUge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4OyB9IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX25hbWUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fZGV0YWlscyA+IC5jcy1wcm9kdWN0LXRpbGVfX25hbWUge1xuICAgICAgbWFyZ2luLXRvcDogMS4ycmVtOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2RldGFpbHMgPiAuY3MtcHJvZHVjdC10aWxlX19uYW1lIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19kZXRhaWxzID4gLmNzLXByb2R1Y3QtdGlsZV9fYnJhbmQgKyAuY3MtcHJvZHVjdC10aWxlX19uYW1lIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2RldGFpbHMgPiAuY3MtcHJvZHVjdC10aWxlX19icmFuZC0tZW1wdHkgKyAuY3MtcHJvZHVjdC10aWxlX19uYW1lIHtcbiAgICAgIGhlaWdodDogNy4ycmVtOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX25hbWUtbGluayB7XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgbGluZWFyO1xuICAgIC8qIGRpc2FibGVkIGJlY2F1c2UgYXV0b3ByZWZpeGVyIGNhbid0IGJ1aWxkIHRoaXMgKi9cbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1uby12ZW5kb3ItcHJlZml4ICovXG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeCAqL1xuICAgIC8qIGF1dG9wcmVmaXhlcjogaWdub3JlIG5leHQgKi9cbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAvKiBhdXRvcHJlZml4ZXI6IGlnbm9yZSBuZXh0ICovXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAvKiBhdXRvcHJlZml4ZXI6IGlnbm9yZSBuZXh0ICovXG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAgIC8qIGF1dG9wcmVmaXhlcjogaWdub3JlIG5leHQgKi9cbiAgICBsaW5lLWNsYW1wOiAyO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLW5vLXZlbmRvci1wcmVmaXggKi9cbiAgICAvKiBzdHlsZWxpbnQtZW5hYmxlIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXggKi8gfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX25hbWUtbGluazp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjMjEyMTIxOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fbmFtZS1saW5rOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjRkY3NDQyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2Rlc2NyaXB0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBjb2xvcjogIzY5Njk2OTtcbiAgICBtYXJnaW46IDAgMCAxcmVtOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19kZXNjcmlwdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fZGVzY3JpcHRpb246ZW1wdHkge1xuICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fYWRkaXRpb25hbC0tbGlzdCB7XG4gICAgbWFyZ2luOiBhdXRvIDAgMCAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19hZGRpdGlvbmFsLS1saXN0IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICAgIC5jcy1wcm9kdWN0cy1saXN0LS13aXRoLXNpZGViYXIgLmNzLXByb2R1Y3QtdGlsZV9fYWRkaXRpb25hbC0tbGlzdCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jcy1wcm9kdWN0cy1saXN0LS13aXRoLXNpZGViYXIgLmNzLXByb2R1Y3QtdGlsZV9fYWRkaXRpb25hbC0tbGlzdCB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgLmllMTEgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG8ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG8tLWdyaWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19hZGR0by0tZ3JpZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvLS1saXN0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG8tLWxpc3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19hZGR0byB7XG4gICAgbWFyZ2luOiAxcmVtIDAgMDsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvIHtcbiAgICBtYXJnaW46IDFyZW0gMCAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvIC5jcy1saW5rcy1ibG9jay1hZGR0b19fbGluayB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07IH1cbiAgLmNzLWRhc2hib2FyZF9fYm90dG9tLXdpc2hsaXN0IC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvLFxuICAuY3MtZGFzaGJvYXJkX193aXNobGlzdC1wcm9kdWN0cy1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvOmVtcHR5IHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuICAuaWUxMSAuY3MtcHJvZHVjdC10aWxlX19hZGR0byAuY3MtbGlua3MtYmxvY2stYWRkdG9fX2l0ZW0tLXdpc2hsaXN0IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaWUxMSAuY3MtcHJvZHVjdC10aWxlX19hZGR0byAuY3MtbGlua3MtYmxvY2stYWRkdG8tLWdyaWQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG9jYXJ0IHtcbiAgICBtYXJnaW46IDFyZW0gMCAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG9jYXJ0IHtcbiAgICBtYXJnaW46IDAuNXJlbSAwIDA7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG9jYXJ0LWJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fd2lzaGxpc3QtcmVtb3ZlLWljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMS4ycmVtOyB9XG4gICAgQG1lZGlhIChwb2ludGVyOiBmaW5lKSB7XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX193aXNobGlzdC1yZW1vdmUtaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuY3MtcHJvZHVjdC10aWxlX193aXNobGlzdC1yZW1vdmUtaWNvbi1pbWFnZSB7XG4gICAgd2lkdGg6IDEuMnJlbTtcbiAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICBmaWxsOiAjNkU2RTZFOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3dpc2hsaXN0LWNvbW1lbnQge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvKiAxICovIH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX3dpc2hsaXN0LWNvbW1lbnQge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIC8qIDEgKi8gfVxuICAuY3MtcHJvZHVjdC10aWxlX193aXNobGlzdC1hY3Rpb25zIHtcbiAgICBtYXJnaW46IDFyZW0gMCAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIHtcbiAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4OyB9IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlLS1ncmlkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19wcmljZS0tbGlzdCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAucHJpY2UtbGFiZWwge1xuICAgICAgICBtYXJnaW46IDAgM3B4IDAgMDsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAucHJpY2Uge1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuY3MtcHJvZHVjdC10aWxlX19wcmljZSAucHJpY2UtYm94IC5wcmljZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7IH0gfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAubWFwLW9sZC1wcmljZSAucHJpY2Uge1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAub2xkLXByaWNlIC5wcmljZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAub2xkLXByaWNlIC5wcmljZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7IH0gfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAud2l0aC1zcGVjaWFsLXByaWNlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UsXG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19wcmljZSAucHJpY2UtYm94IC53aXRoLXNwZWNpYWwtcHJpY2Uge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlX19wcmljZSAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIC5wcmljZSxcbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSAucHJpY2UtbGFiZWwsXG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLndpdGgtc3BlY2lhbC1wcmljZSAucHJpY2UsXG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLndpdGgtc3BlY2lhbC1wcmljZSAucHJpY2UtbGFiZWwge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgY29sb3I6ICNDQzFDM0E7IH1cbiAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSAucHJpY2UsXG4gICAgICAgICAgICAuY3MtcHJvZHVjdC10aWxlX19wcmljZSAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIC5wcmljZS1sYWJlbCxcbiAgICAgICAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLndpdGgtc3BlY2lhbC1wcmljZSAucHJpY2UsXG4gICAgICAgICAgICAuY3MtcHJvZHVjdC10aWxlX19wcmljZSAucHJpY2UtYm94IC53aXRoLXNwZWNpYWwtcHJpY2UgLnByaWNlLWxhYmVsIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7IH0gfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAubWluaW1hbC1wcmljZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19wcmljZSAucHJpY2UtYm94IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAubWluaW1hbC1wcmljZSB7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAub2xkLXByaWNlIC5wcmljZSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UtLWRhaWx5ZGVhbC1jb3VudGRvd24gLnByaWNlLWJveDpub3QoLnByaWNlLWZpbmFsX3ByaWNlX3dpdGhvdXRfZGFpbHlfZGVhbCkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlLS1kYWlseWRlYWwtY291bnRkb3duIC5wcmljZS1ib3gucHJpY2UtYm94LS12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgLmNzLWNvbnRhaW5lci0tcHJvZHVjdHMtY2Fyb3VzZWwgLmNzLXByb2R1Y3QtdGlsZV9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAxLjVyZW0gM3JlbTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gIC5jcy1jb250YWluZXItLXByb2R1Y3RzLWNhcm91c2VsIC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fbmF2LS1wcmV2IHtcbiAgICBsZWZ0OiAtMTRweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gIC5jcy1jb250YWluZXItLXByb2R1Y3RzLWNhcm91c2VsIC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fbmF2LS1uZXh0IHtcbiAgICByaWdodDogLTE0cHg7IH0gfVxuIiwiLyoqXG4gKiBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuICogaHR0cHM6Ly93d3cuc2Fzc21laXN0ZXIuY29tL2dpc3QvOWZhMTlkMjU0ODY0ZjMzZDRhODBcbiAqIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuICogQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxuICogQHJldHVybiB7TnVtYmVyfVxuICovXG5cbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAgIEByZXR1cm4gJHZhbHVlO1xuICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcbiAgICAgICAgJF86IGxvZygnVmFsdWUgZm9yIGB0by1udW1iZXJgIHNob3VsZCBiZSBhIG51bWJlciBvciBhIHN0cmluZy4nKTtcbiAgICB9XG5cbiAgICAkcmVzdWx0OiAwO1xuICAgICRkaWdpdHM6IDA7XG4gICAgJG1pbnVzOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKSA9PSAnLSc7XG4gICAgJG51bWJlcnM6IChcbiAgICAgICAgJzAnOiAwLFxuICAgICAgICAnMSc6IDEsXG4gICAgICAgICcyJzogMixcbiAgICAgICAgJzMnOiAzLFxuICAgICAgICAnNCc6IDQsXG4gICAgICAgICc1JzogNSxcbiAgICAgICAgJzYnOiA2LFxuICAgICAgICAnNyc6IDcsXG4gICAgICAgICc4JzogOCxcbiAgICAgICAgJzknOiA5LFxuICAgICk7XG5cbiAgICBAZm9yICRpIGZyb20gaWYoJG1pbnVzLCAyLCAxKSB0aHJvdWdoIHN0ci1sZW5ndGgoJHZhbHVlKSB7XG4gICAgICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XG5cbiAgICAgICAgQGlmIG5vdChpbmRleChtYXAta2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XG4gICAgICAgICAgICBAcmV0dXJuIHRvLWxlbmd0aChcbiAgICAgICAgICAgICAgICBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSxcbiAgICAgICAgICAgICAgICBzdHItc2xpY2UoJHZhbHVlLCAkaSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCRjaGFyYWN0ZXIgPT0gJy4nKSB7XG4gICAgICAgICAgICAkZGlnaXRzOiAxO1xuICAgICAgICB9IEBlbHNlIGlmICgkZGlnaXRzID09IDApIHtcbiAgICAgICAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xufVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZS9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3ByaWNlLWJveC92YXJpYWJsZXMuc2Nzcyc7XG5AaW1wb3J0ICdldGMvdmlldy5zY3NzJztcbkBpbXBvcnQgJ3V0aWxzL2RlZXAtZ2V0L2RlZXAtZ2V0LnNjc3MnO1xuQGltcG9ydCAndXRpbHMvYXNwZWN0LXJhdGlvJztcbkBpbXBvcnQgJ3V0aWxzL3N0cmluZy10by1udW1iZXInO1xuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5AaW1wb3J0ICd1dGlscy92aXN1YWxseS1oaWRkZW4nO1xuXG4vLyBHZW5lcmFsXG4kcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXI6IDEuMnJlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXI6IDJyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX2dlbmVyYWwtYmFja2dyb3VuZDogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9nZW5lcmFsLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2UgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX2dlbmVyYWwtZm9udC1zaXplOiAxLjRyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfaG92ZXItYW5pbWF0aW9uOiBmYWxzZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9ob3Zlci1hbmltYXRpb24tYnJlYWtwb2ludDogJz49bGFwdG9wJyAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9ob3Zlci1ib3gtc2hhZG93OiAkYm94LXNoYWRvd19iYXNlICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX3BhZGRpbmc6ICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC10aWxlLWd1dHRlciAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9hbGlnbm1lbnQ6IGxlZnQgIWRlZmF1bHQ7IC8vIGxlZnQgfCBjZW50ZXIgfCByaWdodFxuJHByb2R1Y3QtdGlsZS1saXN0X2hvdmVyLWVmZmVjdHM6IGZhbHNlICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2hvdmVyLWVmZmVjdHMtYnJlYWtwb2ludDogJz49bGFwdG9wJyAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9ob3Zlci1ib3gtc2hhZG93OiAkYm94LXNoYWRvd19iYXNlICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X3BhZGRpbmc6ICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC10aWxlLWd1dHRlciAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2FsaWdubWVudDogbGVmdCAhZGVmYXVsdDsgLy8gbGVmdCB8IGNlbnRlciB8IHJpZ2h0XG4kcHJvZHVjdC10aWxlLWxpc3Rfb25lLWNvbHVtbi1icmVha3BvaW50OiAndGFibGV0JyAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9vbmUtY29sdW1uLXdoZW4tc2lkZWJhci1icmVha3BvaW50OiAnbGFwdG9wJyAhZGVmYXVsdDtcblxuLy8gUHJvZHVjdCBuYW1lXG4kcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1mb250LXNpemU6ICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbWF4LWxpbmVzLWRpc3BsYXk6IDIgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5lLWhlaWdodDogMi41cmVtICFkZWZhdWx0OyAvLyBNVVNUIEJFIGEgbnVtYmVyIHZhbHVlIHdpdGggdW5pdCwgY2Fubm90IGJlICdpbmhlcml0J1xuJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluay1jb2xvcjogJGNvbG9yX21pbmVzaGFmdCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstY29sb3ItdmlzaXRlZDogJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluay1jb2xvciAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstY29sb3ItaG92ZXI6ICRsaW5rLWNvbG9yX2Jhc2UtaG92ZXIgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5rLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9wcm9kdWN0LW5hbWUtbWFyZ2luOiAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX3Byb2R1Y3QtbmFtZS1hbGlnbm1lbnQ6ICRwcm9kdWN0LXRpbGUtZ3JpZF9hbGlnbm1lbnQgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfcHJvZHVjdC1uYW1lLW1hcmdpbjogMCAwICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvXG4gICAgMn0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfcHJvZHVjdC1uYW1lLWFsaWdubWVudDogJHByb2R1Y3QtdGlsZS1saXN0X2FsaWdubWVudCAhZGVmYXVsdDtcblxuLy8gQmFkZ2VzXG4kcHJvZHVjdC10aWxlX2JhZGdlcy16LWluZGV4OiAyICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX2JhZGdlcy1kaXJlY3Rpb246ICd2ZXJ0aWNhbCcgIWRlZmF1bHQ7IC8vIHZlcnRpY2FsIG9yIGhvcml6b250YWxcbiRwcm9kdWN0LXRpbGUtZ3JpZF9iYWRnZXMteS1hc2lzLXBvc2l0aW9uLXByb3A6IHRvcCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9iYWRnZXMteC1hc2lzLXBvc2l0aW9uLXByb3A6IHJpZ2h0ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX2JhZGdlcy15LWFzaXMtcG9zaXRpb24tdmFsdWU6IDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfYmFkZ2VzLXgtYXNpcy1wb3NpdGlvbi12YWx1ZTogMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9iYWRnZXMtaXRlbS1tYXJnaW46IDAgMCAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgL1xuICAgIDR9ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2JhZGdlcy1kaXJlY3Rpb246ICdob3Jpem9udGFsJyAhZGVmYXVsdDsgLy8gdmVydGljYWwgb3IgaG9yaXpvbnRhbFxuJHByb2R1Y3QtdGlsZS1saXN0X2JhZGdlcy14LWFzaXMtcG9zaXRpb24tcHJvcDogcmlnaHQgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfYmFkZ2VzLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9iYWRnZXMtaXRlbS1tYXJnaW46ICAwIDAgMC4zcmVtIDAgIWRlZmF1bHQ7XG5cbi8vIFN3YXRjaGVzXG4kcHJvZHVjdC10aWxlLWdyaWRfc3dhdGNoZXMtY29udGFpbmVyLW1pbi1oZWlnaHQ6IDIuNnJlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9zd2F0Y2hlcy1tYXJnaW46IDEuNXJlbSAwICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvXG4gICAgMn0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfc3dhdGNoZXMtYWxpZ25tZW50OiAkcHJvZHVjdC10aWxlLWdyaWRfYWxpZ25tZW50ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X3N3YXRjaGVzLW1hcmdpbjogMCAwIDAuNXJlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9zd2F0Y2hlcy1hbGlnbm1lbnQ6ICRwcm9kdWN0LXRpbGUtbGlzdF9hbGlnbm1lbnQgIWRlZmF1bHQ7XG5cbi8vIEJyYW5kXG4kcHJvZHVjdC10aWxlX2JyYW5kLWZvbnQtc2l6ZTogMS4ycmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9icmFuZC1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9icmFuZC1oZWlnaHQ6IDJyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfYnJhbmQtYWxpZ25tZW50OiBjZW50ZXIgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfYnJhbmQtYWxpZ25tZW50OiBsZWZ0ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2JyYW5kLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9icmFuZC1vcmRlcjogLTIgIWRlZmF1bHQ7XG5cbi8vIEFkZG9uc1xuJHByb2R1Y3QtdGlsZV9hZGRvbnMtYmFja2dyb3VuZDogJHByb2R1Y3QtdGlsZV9nZW5lcmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX2FkZG9ucy1ib3JkZXItcmFkaXVzOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfYWRkb25zLXppbmRleC1ob3ZlcjogNSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfYWRkb25zLWhvcml6b250YWwtcGFkZGluZzogJHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvXG4gICAgMiAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9hZGRvbnMtc2hvdy1mb3Itc3RhdGljLXRpbGU6IGZhbHNlICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX2FkZG9ucy1oZWlnaHQtb24taG92ZXI6IGNhbGMoMTMwJSArIDEwcmVtKVxuICAgICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC10aWxlLWd1dHRlciAkcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfYWRkb25zLXdpZHRoOiAyNXJlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9hZGRvbnMtYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTIwMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9hZGRvbnMtb25lLWNvbHVtbi1tYXJnaW46ICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvXG4gICAgMn0gMCAwICFkZWZhdWx0O1xuXG4vLyBBZGRpdGlvbmFsIHNlY3Rpb25cbiRwcm9kdWN0LXRpbGUtbGlzdF9hZGRpdGlvbmFsLW1hcmdpbjogYXV0byAwIDAgMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9hZGRpdGlvbmFsLWFsaWdubWVudDogJHByb2R1Y3QtdGlsZS1saXN0X2FsaWdubWVudCAhZGVmYXVsdDtcblxuLy8gUmV2aWV3XG4kcHJvZHVjdC10aWxlLWdyaWRfcmV2aWV3LW1hcmdpbjogI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC8gMn0gMFxuICAgIDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfcmV2aWV3LW1hcmdpbjogMCAwICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvXG4gICAgMn0gIWRlZmF1bHQ7XG5cbi8vIEFkZHRvXG4kcHJvZHVkY3QtdGlsZV9hZGR0by1mb250LXNpemU6IDEuM3JlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9hZGR0by1tYXJnaW46ICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvIDJ9IDAgMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9hZGR0by1tYXJnaW46ICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvIDJ9IDAgMCAhZGVmYXVsdDtcblxuLy8gUXR5IHN3aWN0aGVyXG4kcHJvZHVkY3QtdGlsZV9xdHktc3dpdGNoZXItd2lkdGg6IDExcmVtICFkZWZhdWx0O1xuJHByb2R1ZGN0LXRpbGVfcXR5LXN3aXRjaGVyLXNwYWNlLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8gQWRkdG9jYXJ0XG4kcHJvZHVjdC10aWxlLWdyaWRfYWRkdG9jYXJ0LW1hcmdpbjogI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC8gMn1cbiAgICAwIDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfYWRkdG9jYXJ0LW1hcmdpbjogI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC8gNH1cbiAgICAwIDAgIWRlZmF1bHQ7XG5cbi8vIFN0b2NrXG4kcHJvZHVjdC10aWxlX3N0b2NrLWZvbnQtc2l6ZTogMS4zcmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9zdG9jay1pbi1jb2xvcjogJGNvbG9yX2FwcGxlICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9zdG9jay1vdXQtb2YtY29sb3I6ICRjb2xvcl9jcmltc29uICFkZWZhdWx0O1xuXG4kcHJvZHVjdC10aWxlLWdyaWRfc3RvY2stbWFyZ2luOiAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X3N0b2NrLW1hcmdpbjogMCAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgLyAyfSAwXG4gICAgMCAhZGVmYXVsdDtcblxuLy8gRGFpbHkgRGVhbFxuJHByb2R1Y3QtdGlsZS1ncmlkX2RhaWx5ZGVhbC1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfZGFpbHlkZWFsLW1hcmdpbjogI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC8gMn1cbiAgICAwIDAgMCAhZGVmYXVsdDtcblxuLy8gV2lzaGxpc3RcbiRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtY29tbWVudC12aXNpYmxlOiBmYWxzZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtY29tbWVudC10ZXh0YXJlYS1oZWlnaHQ6IDVyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3dpc2hsaXN0LWFjdGlvbnMtbWFyZ2luOiAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgL1xuICAgIDJ9IDAgMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtYWN0aW9ucy1kaXNwbGF5OiBmbGV4ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV93aXNobGlzdC1hY3Rpb25zLWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhZGVmYXVsdDtcblxuJHByb2R1Y3QtdGlsZV93aXNobGlzdC1yZW1vdmUtaWNvbi1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3dpc2hsaXN0LXJlbW92ZS1pY29uLXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtcmVtb3ZlLWljb24tZmlsbDogJGNvbG9yX2JvcmRlci03MDAgIWRlZmF1bHQ7XG5cbi8vIERlc2NyaXB0aW9uXG4kcHJvZHVjdC10aWxlX2Rlc2NyaXB0aW9uLWZvbnQtc2l6ZTogMS4zcmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9kZXNjcmlwdGlvbi1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9kZXNjcmlwdGlvbi1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4kcHJvZHVjdC10aWxlX2Rlc2NyaXB0aW9uLWNvbG9yOiAkY29sb3JfZG92ZS1ncmF5ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9kZXNjcmlwdGlvbi1tYXJnaW46IDAgMCAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgL1xuICAgIDJ9ICFkZWZhdWx0O1xuXG4kcHJvZHVjdC10aWxlLWxpc3RfZGVzY3JpcHRpb24tdGV4dC1hbGlnbjogJHByb2R1Y3QtdGlsZS1saXN0X2FsaWdubWVudCAhZGVmYXVsdDtcblxuLy8gVGh1bWJuYWlsXG4kcHJvZHVjdC10aWxlLWdyaWRfbGltaXQtY29udGFpbmVyLXRvLWltYWdlLXNpemU6IGZhbHNlICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X3RodW1ibmFpbC1ib3gtd2lkdGg6IDEwcmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X3RodW1ibmFpbC1ib3gtd2lkdGgtbW9iaWxlOiAjeyRwcm9kdWN0LXRpbGUtbGlzdF90aHVtYm5haWwtYm94LXdpZHRoIC9cbiAgICAyfSAhZGVmYXVsdDtcblxuLy8gUHJpY2VzXG4kcHJvZHVjdC10aWxlX25vcm1hbC1wcmljZS1jb2xvcjogJHByaWNlLWJveF9ub3JtYWwtcHJpY2UtY29sb3IgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX25vcm1hbC1wcmljZS1mb250LXNpemU6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfbm9ybWFsLXByaWNlLWZvbnQtd2VpZ2h0OiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfc3BlY2lhbC1wcmljZS1jb2xvcjogJHByaWNlLWJveF9zcGVjaWFsLXByaWNlLWNvbG9yICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9zcGVjaWFsLXByaWNlLWZvbnQtc2l6ZTogJHByaWNlLWJveF9zcGVjaWFsLXByaWNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfc3BlY2lhbC1wcmljZS1mb250LXdlaWdodDogJHByaWNlLWJveF9zcGVjaWFsLXByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9vbGQtcHJpY2UtY29sb3I6ICRwcmljZS1ib3hfb2xkLXByaWNlLWNvbG9yICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9vbGQtcHJpY2UtZm9udC1zaXplOiAkcHJpY2UtYm94X29sZC1wcmljZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX29sZC1wcmljZS1mb250LXdlaWdodDogJHByaWNlLWJveF9vbGQtcHJpY2UtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX29sZC1wcmljZS10ZXh0LWRlY29yYXRpb246ICRwcmljZS1ib3hfb2xkLXByaWNlLXRleHQtZGVjb3JhdGlvbiAhZGVmYXVsdDtcblxuJHByb2R1Y3QtdGlsZS1ncmlkX3ByaWNlcy1kaXJlY3Rpb246ICdob3Jpem9udGFsJyAhZGVmYXVsdDsgLy8gdmVydGljYWwgb3IgaG9yaXpvbnRhbFxuJHByb2R1Y3QtdGlsZS1ncmlkX3ByaWNlcy1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfZGlzcGxheS1vbGQtcHJpY2UtZmlyc3Q6IHRydWUgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfcHJpY2VzLWFsaWdubWVudDogJHByb2R1Y3QtdGlsZS1ncmlkX2FsaWdubWVudCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9wcmljZXMtZGlyZWN0aW9uOiAndmVydGljYWwnICFkZWZhdWx0OyAvLyB2ZXJ0aWNhbCBvciBob3Jpem9udGFsXG4kcHJvZHVjdC10aWxlLWxpc3RfcHJpY2VzLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9kaXNwbGF5LW9sZC1wcmljZS1maXJzdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gSGVscGVycyAoZG9uJ3QgZWRpdClcbiRwcm9kdWN0LXRpbGUtbGlzdF9mdWxsLWNvbHVtbi1icmVha3BvaW50LW1pbjogJz49I3skcHJvZHVjdC10aWxlLWxpc3Rfb25lLWNvbHVtbi1icmVha3BvaW50fSc7XG4kcHJvZHVjdC10aWxlLWxpc3RfZnVsbC1jb2x1bW4tYnJlYWtwb2ludC1tYXg6ICc8I3skcHJvZHVjdC10aWxlLWxpc3Rfb25lLWNvbHVtbi1icmVha3BvaW50fSc7XG4kcHJvZHVjdC10aWxlLWxpc3Rfc2lkZWJhci1jb2x1bW4tYnJlYWtwb2ludC1taW46ICc+PSN7JHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4td2hlbi1zaWRlYmFyLWJyZWFrcG9pbnR9JztcbiRwcm9kdWN0LXRpbGUtbGlzdF9zaWRlYmFyLWNvbHVtbi1icmVha3BvaW50LW1heDogJzwjeyRwcm9kdWN0LXRpbGUtbGlzdF9vbmUtY29sdW1uLXdoZW4tc2lkZWJhci1icmVha3BvaW50fSc7XG5cbiRwcm9kdWN0LXRpbGUtbWFnZW50by1jYXRhbG9nLWltYWdlOiBkZWVwLWdldChcbiAgICAkdmlldy14bWwsXG4gICAgbWVkaWEsXG4gICAgaW1hZ2VzLFxuICAgIGltYWdlLFxuICAgIGNhdGVnb3J5X3BhZ2VfZ3JpZFxuKTtcbiRwcm9kdWN0LXRpbGUtbWFnZW50by1jYXRhbG9nLWltYWdlLXdpZHRoOiB0by1udW1iZXIoXG4gICAgI3ttYXAtZ2V0KCRwcm9kdWN0LXRpbGUtbWFnZW50by1jYXRhbG9nLWltYWdlLCB3aWR0aCl9XG4pO1xuJHByb2R1Y3QtdGlsZS1tYWdlbnRvLWNhdGFsb2ctaW1hZ2UtaGVpZ2h0OiB0by1udW1iZXIoXG4gICAgI3ttYXAtZ2V0KCRwcm9kdWN0LXRpbGUtbWFnZW50by1jYXRhbG9nLWltYWdlLCBoZWlnaHQpfVxuKTtcblxuLiN7JG5zfXByb2R1Y3QtdGlsZSB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1iYWNrZ3JvdW5kO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHByb2R1Y3QtdGlsZS1ncmlkX2hvdmVyLWFuaW1hdGlvbi1icmVha3BvaW50KSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgei1pbmRleDogJHByb2R1Y3QtdGlsZV9hZGRvbnMtemluZGV4LWhvdmVyO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogei1pbmRleCAwLjAwMDFzOyAvLyBGb3JjZSB6LWluZGV4IHJlLXJlbmRlcmluZyBvbiBTYWZhcmlcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWNsaWNrYWJsZSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0taGlkZGVuIHtcbiAgICAgICAgI3skcm9vdH1fX21haW4sXG4gICAgICAgICN7JHJvb3R9X19hZGRvbnMge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1saXN0IHtcbiAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlLWxpc3RfaG92ZXItZWZmZWN0cykge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHByb2R1Y3QtdGlsZS1saXN0X2hvdmVyLWVmZmVjdHMtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAjey0kcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXJ9O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyhcbiAgICAgICAgICAgICAgICAgICAgICAgIDEwMCUgKyAyICogI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXJ9XG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRwcm9kdWN0LXRpbGUtbGlzdF9ob3Zlci1ib3gtc2hhZG93O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWdyaWQge1xuICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGUtZ3JpZF9hZGRvbnMtc2hvdy1mb3Itc3RhdGljLXRpbGUgPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICYjeyRyb290fS0tc3RhdGljIHtcbiAgICAgICAgICAgICAgICAjeyRyb290fV9fYWRkb25zIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRwcm9kdWN0LXRpbGUtZ3JpZF9wYWRkaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RodW1ibmFpbCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgJl9fdGh1bWJuYWlsLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19maWd1cmUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47IC8vIElFMTEgLSBwcmV2ZW50cyBmcm9tIGV4Y2Vzc2l2ZSB0cmFuc2l0aW9uIGVmZmVjdFxuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IC8vIElFMTEgZG8gbm90IHJlc3BlY3QgY2VudGVyIHZhbHVlIHVudGlsIHBhcmVudCBoYXMgZmxleC1kaXJlY3Rpb24gc2V0IHRvIGNvbHVtbi5cbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB0b3A6IDA7XG5cbiAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZS1ncmlkX2xpbWl0LWNvbnRhaW5lci10by1pbWFnZS1zaXplKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAoJHByb2R1Y3QtdGlsZS1tYWdlbnRvLWNhdGFsb2ctaW1hZ2Utd2lkdGggLyAxMCkgKlxuICAgICAgICAgICAgICAgICAgICAxcmVtO1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6ICgkcHJvZHVjdC10aWxlLW1hZ2VudG8tY2F0YWxvZy1pbWFnZS1oZWlnaHQgLyAxMCkgKlxuICAgICAgICAgICAgICAgICAgICAxcmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBBc3BlY3QgcmF0aW8gZm9yIHRpbGUgdGh1bWJuYWlsIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gaW1hZ2UgJ2NhdGVnb3J5X3BhZ2VfZ3JpZCcgc2l6ZXMgaW4gZXRjL3ZpZXcueG1sXG4gICAgICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8oXG4gICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1tYWdlbnRvLWNhdGFsb2ctaW1hZ2Utd2lkdGgsXG4gICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1tYWdlbnRvLWNhdGFsb2ctaW1hZ2UtaGVpZ2h0LFxuICAgICAgICAgICAgICAgICN7JG5zfXByb2R1Y3QtdGlsZV9fdGh1bWJuYWlsLWxpbmtcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhZGdlcyB7XG4gICAgICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Qtc3R5bGUoKTtcblxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgJi0tZ3JpZCB7XG4gICAgICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGlzdCB7XG4gICAgICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAkcHJvZHVjdC10aWxlX2JhZGdlcy16LWluZGV4O1xuXG4gICAgICAgICAgICAjeyRwcm9kdWN0LXRpbGUtZ3JpZF9iYWRnZXMteS1hc2lzLXBvc2l0aW9uLXByb3B9OiAkcHJvZHVjdC10aWxlLWdyaWRfYmFkZ2VzLXktYXNpcy1wb3NpdGlvbi12YWx1ZTtcbiAgICAgICAgICAgICN7JHByb2R1Y3QtdGlsZS1ncmlkX2JhZGdlcy14LWFzaXMtcG9zaXRpb24tcHJvcH06ICRwcm9kdWN0LXRpbGUtZ3JpZF9iYWRnZXMteC1hc2lzLXBvc2l0aW9uLXZhbHVlO1xuXG4gICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGUtZ3JpZF9iYWRnZXMtZGlyZWN0aW9uID09ICd2ZXJ0aWNhbCcpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtbGlzdF9iYWRnZXMtbWFyZ2luO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYmFkZ2Uge1xuICAgICAgICBAaW5jbHVkZSBiYWRnZSgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+dGFibGV0Jykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tZGlzY291bnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2VfdHlwZSgnZGlzY291bnQnKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2JhZGdlLXRleHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4oJ2Rpc2NvdW50Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zYWxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3R5cGUoJ3NhbGUnKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2JhZGdlLXRleHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4oJ3NhbGUnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLW5ldyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV90eXBlKCduZXcnKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2JhZGdlLXRleHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4oJ25ldycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZnJlZS1zaGlwcGluZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV90eXBlKCdmcmVlLXNoaXBwaW5nJyk7XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19iYWRnZS10ZXh0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV9zcGFuKCdmcmVlLXNoaXBwaW5nJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1wb3B1bGFyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3R5cGUoJ3BvcHVsYXInKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2JhZGdlLXRleHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4oJ3BvcHVsYXInKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRhaWx5ZGVhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV90eXBlKCdkYWlseWRlYWwnKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2JhZGdlLXRleHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4oJ2RhaWx5ZGVhbCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYmFkZ2UtaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtZ3JpZF9iYWRnZXMtaXRlbS1tYXJnaW47XG4gICAgICAgICAgICB3aWR0aDogMTAwJTsgLy8gU2V0IHdpZHRoIGV4cGxpY2l0bHkgdG8gYXZvaWQgRWRnZSBidWdzXG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1saXN0X2JhZGdlcy1pdGVtLW1hcmdpbjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhZGdlLXRleHQge1xuICAgICAgICBAaW5jbHVkZSBiYWRnZV9zcGFuKCk7XG4gICAgfVxuXG4gICAgJl9fZ2FsbGVyeSB7XG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJvcmRlcl9jb2xvcjtcblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWRkb25zIHtcbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hZGRvbnMtdG9wIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fYWRkb25zLXNpZGVzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fYWRkb25zLXJpZ2h0IHtcbiAgICAgICAgLy8gTGltaXQgd2lkdGggdG8gcHJldmVudCBvdmVybGFwcGluZyBwcm9ibGVtcyBpbiBJRVxuICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgIH1cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hZGRvbnMtYm90dG9tIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fYWRkb25zLWxlZnQge1xuICAgICAgICAvLyBMaW1pdCB3aWR0aCB0byBwcmV2ZW50IG92ZXJsYXBwaW5nIHByb2JsZW1zIGluIElFXG4gICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwcm9kdWN0LXRpbGVfYWRkb25zLWhvcml6b250YWwtcGFkZGluZztcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3JldmlldyB7XG4gICAgICAgICYtLWdyaWQge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWdyaWRfcmV2aWV3LW1hcmdpbjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmLFxuICAgICAgICAjeyRyb290fS0tbGlzdCAme1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N0b2NrIHtcbiAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgICBjb2xvcjogJGNvbG9yX3doaXRlO1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcblxuICAgICAgICAmLS1pbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Jfc3VjY2VzcztcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3RpY2std2hpdGUuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tb3V0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9kYXJrLXJlZDtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy9vdXQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtZ3JpZF9zdG9jay1tYXJnaW47XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICZfX2RhaWx5ZGVhbCB7XG4gICAgICAgICYtLWdyaWQge1xuICAgICAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWdyaWRfZGFpbHlkZWFsLW1hcmdpbjtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWxpc3RfZGFpbHlkZWFsLW1hcmdpbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3F0eSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRwcm9kdWRjdC10aWxlX3F0eS1zd2l0Y2hlci1zcGFjZS1ib3R0b207XG4gICAgICAgIHdpZHRoOiAkcHJvZHVkY3QtdGlsZV9xdHktc3dpdGNoZXItd2lkdGg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICZfX21haW4ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZUxnJykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kZXRhaWxzIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgJl9fc3dhdGNoZXMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWdyaWRfc3dhdGNoZXMtbWFyZ2luO1xuICAgICAgICAgICAgbWluLWhlaWdodDogJHByb2R1Y3QtdGlsZS1ncmlkX3N3YXRjaGVzLWNvbnRhaW5lci1taW4taGVpZ2h0O1xuXG4gICAgICAgICAgICAmLFxuICAgICAgICAgICAgLnN3YXRjaC1hdHRyaWJ1dGUtb3B0aW9ucyB7XG4gICAgICAgICAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlLWdyaWRfc3dhdGNoZXMtYWxpZ25tZW50ID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJHByb2R1Y3QtdGlsZS1ncmlkX3N3YXRjaGVzLWFsaWdubWVudCA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxpc3Qge1xuICAgICAgICAgICAgJjplbXB0eSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJRSBuZWVkcyB0byBoYXZlIHdpZHRoIHNldCBleHBsaWNpdGx5XG4gICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19icmFuZCB7XG4gICAgICAgIGhlaWdodDogJHByb2R1Y3QtdGlsZV9icmFuZC1oZWlnaHQ7XG4gICAgICAgIG1hcmdpbi10b3A6ICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC10aWxlLWd1dHRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogJHByb2R1Y3QtdGlsZS1ncmlkX2JyYW5kLWFsaWdubWVudDtcblxuICAgICAgICAmLS1lbXB0eSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19icmFuZC10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAkcHJvZHVjdC10aWxlX2JyYW5kLWZvbnQtc2l6ZTtcbiAgICAgICAgY29sb3I6ICRwcm9kdWN0LXRpbGVfYnJhbmQtY29sb3I7XG4gICAgfVxuXG4gICAgJl9fbmFtZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5lLWhlaWdodDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWZvbnQtd2VpZ2h0O1xuICAgICAgICBmb250LXNpemU6ICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWZvbnQtc2l6ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLW1heC1saW5lcy1kaXNwbGF5ID09IDEpIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWdyaWRfcHJvZHVjdC1uYW1lLW1hcmdpbjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRwcm9kdWN0LXRpbGUtZ3JpZF9wcm9kdWN0LW5hbWUtYWxpZ25tZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgI3skcm9vdH1fX2RldGFpbHMgPiAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC10aWxlLWd1dHRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICN7JHJvb3R9X19kZXRhaWxzID4gI3skcm9vdH1fX2JyYW5kICsgJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgI3skcm9vdH1fX2RldGFpbHMgPiAjeyRyb290fV9fYnJhbmQtLWVtcHR5ICsgJiB7XG4gICAgICAgICAgICBoZWlnaHQ6ICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLW1heC1saW5lcy1kaXNwbGF5ICpcbiAgICAgICAgICAgICAgICAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5lLWhlaWdodCArIDAuMiArXG4gICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZV9icmFuZC1oZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19uYW1lLWxpbmsge1xuICAgICAgICBjb2xvcjogJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluay1jb2xvcjtcblxuICAgICAgICBAaWYgKFxuICAgICAgICAgICAgJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluay1jb2xvciAhPVxuICAgICAgICAgICAgICAgICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstY29sb3ItaG92ZXJcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBsaW5lYXI7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBkaXNhYmxlZCBiZWNhdXNlIGF1dG9wcmVmaXhlciBjYW4ndCBidWlsZCB0aGlzICovXG4gICAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLW5vLXZlbmRvci1wcmVmaXggKi9cbiAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeCAqL1xuICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLW1heC1saW5lcy1kaXNwbGF5ID4gMSkge1xuICAgICAgICAgICAgLyogYXV0b3ByZWZpeGVyOiBpZ25vcmUgbmV4dCAqL1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICAvKiBhdXRvcHJlZml4ZXI6IGlnbm9yZSBuZXh0ICovXG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgICAgLyogYXV0b3ByZWZpeGVyOiBpZ25vcmUgbmV4dCAqL1xuICAgICAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1tYXgtbGluZXMtZGlzcGxheTtcbiAgICAgICAgICAgIC8qIGF1dG9wcmVmaXhlcjogaWdub3JlIG5leHQgKi9cbiAgICAgICAgICAgIGxpbmUtY2xhbXA6ICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLW1heC1saW5lcy1kaXNwbGF5O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIC8qIHN0eWxlbGludC1lbmFibGUgdmFsdWUtbm8tdmVuZG9yLXByZWZpeCAqL1xuICAgICAgICAvKiBzdHlsZWxpbnQtZW5hYmxlIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXggKi9cblxuICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstY29sb3ItdmlzaXRlZDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstY29sb3ItaG92ZXI7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZGVzY3JpcHRpb24ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBmb250LXNpemU6ICRwcm9kdWN0LXRpbGVfZGVzY3JpcHRpb24tZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtdGlsZV9kZXNjcmlwdGlvbi1mb250LXdlaWdodDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRwcm9kdWN0LXRpbGVfZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ7XG4gICAgICAgIGNvbG9yOiAkcHJvZHVjdC10aWxlX2Rlc2NyaXB0aW9uLWNvbG9yO1xuICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGVfZGVzY3JpcHRpb24tbWFyZ2luO1xuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hZGRpdGlvbmFsIHtcbiAgICAgICAgJi0tbGlzdCB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtbGlzdF9hZGRpdGlvbmFsLW1hcmdpbjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHByb2R1Y3QtdGlsZS1saXN0X2Z1bGwtY29sdW1uLWJyZWFrcG9pbnQtbWluKSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKFxuICAgICAgICAgICAgICAgICRwcm9kdWN0LXRpbGUtbGlzdF9vbmUtY29sdW1uLWJyZWFrcG9pbnQgIT1cbiAgICAgICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4td2hlbi1zaWRlYmFyLWJyZWFrcG9pbnRcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIC5jcy1wcm9kdWN0cy1saXN0LS13aXRoLXNpZGViYXIgJiB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFxuICAgICAgICAgICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1saXN0X3NpZGViYXItY29sdW1uLWJyZWFrcG9pbnQtbWluXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FkZHRvIHtcbiAgICAgICAgLy8gSUUgbmVlZHMgdG8gaGF2ZSB3aWR0aCBzZXQgZXhwbGljaXRseVxuICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tZ3JpZCB7XG4gICAgICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxpc3Qge1xuICAgICAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1ncmlkX2FkZHRvLW1hcmdpbjtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWxpc3RfYWRkdG8tbWFyZ2luO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWxpbmtzLWJsb2NrLWFkZHRvX19saW5rIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHByb2R1ZGN0LXRpbGVfYWRkdG8tZm9udC1zaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWRhc2hib2FyZF9fYm90dG9tLXdpc2hsaXN0ICYsXG4gICAgICAgIC5jcy1kYXNoYm9hcmRfX3dpc2hsaXN0LXByb2R1Y3RzLWdyaWQgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjplbXB0eSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElFIG5lZWRzIHRvIGhhdmUgd2lkdGggc2V0IGV4cGxpY2l0bHlcbiAgICAgICAgLmNzLWxpbmtzLWJsb2NrLWFkZHRvIHtcbiAgICAgICAgICAgICZfX2l0ZW0tLXdpc2hsaXN0IHtcbiAgICAgICAgICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1ncmlkIHtcbiAgICAgICAgICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWRkdG9jYXJ0IHtcbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtZ3JpZF9hZGR0b2NhcnQtbWFyZ2luO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtbGlzdF9hZGR0b2NhcnQtbWFyZ2luO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWRkdG9jYXJ0LWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICZfX3dpc2hsaXN0LXJlbW92ZS1pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJvZHVjdC10aWxlX3dpc2hsaXN0LXJlbW92ZS1pY29uLWJhY2tncm91bmQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAkcHJvZHVjdC10aWxlLWdyaWRfcGFkZGluZztcblxuICAgICAgICBAbWVkaWEgKHBvaW50ZXI6IGZpbmUpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX193aXNobGlzdC1yZW1vdmUtaWNvbi1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAkcHJvZHVjdC10aWxlX3dpc2hsaXN0LXJlbW92ZS1pY29uLXNpemU7XG4gICAgICAgIGhlaWdodDogJHByb2R1Y3QtdGlsZV93aXNobGlzdC1yZW1vdmUtaWNvbi1zaXplO1xuICAgICAgICBmaWxsOiAkcHJvZHVjdC10aWxlX3dpc2hsaXN0LXJlbW92ZS1pY29uLWZpbGw7XG4gICAgfVxuXG4gICAgJl9fd2lzaGxpc3QtY29tbWVudCB7XG4gICAgICAgIEBpZiBub3QoJHByb2R1Y3QtdGlsZV93aXNobGlzdC1jb21tZW50LXZpc2libGUpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3dpc2hsaXN0LWFjdGlvbnMge1xuICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtYWN0aW9ucy1tYXJnaW47XG4gICAgICAgIGRpc3BsYXk6ICRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtYWN0aW9ucy1kaXNwbGF5O1xuXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZV93aXNobGlzdC1hY3Rpb25zLWRpc3BsYXkgPT0gZmxleCkge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkcHJvZHVjdC10aWxlX3dpc2hsaXN0LWFjdGlvbnMtanVzdGlmeS1jb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAmX19wcmljZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWdyaWQge1xuICAgICAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1saXN0IHtcbiAgICAgICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2UtYm94IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgICAucHJpY2UtbGFiZWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAzcHggMCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHByb2R1Y3QtdGlsZV9ub3JtYWwtcHJpY2UtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC10aWxlX25vcm1hbC1wcmljZS1mb250LXdlaWdodDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtdGlsZV9ub3JtYWwtcHJpY2UtY29sb3I7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tYXAtb2xkLXByaWNlIHtcbiAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5vbGQtcHJpY2Uge1xuICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHByb2R1Y3QtdGlsZV9vbGQtcHJpY2UtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtdGlsZV9vbGQtcHJpY2UtZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC10aWxlX29sZC1wcmljZS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC53aXRoLXNwZWNpYWwtcHJpY2Uge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc3BlY2lhbC1wcmljZSxcbiAgICAgICAgICAgIC53aXRoLXNwZWNpYWwtcHJpY2Uge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgICAgIC5wcmljZSxcbiAgICAgICAgICAgICAgICAucHJpY2UtbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRwcm9kdWN0LXRpbGVfc3BlY2lhbC1wcmljZS1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC10aWxlX3NwZWNpYWwtcHJpY2UtZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC10aWxlX3NwZWNpYWwtcHJpY2UtY29sb3I7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1pbmltYWwtcHJpY2Uge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtZ3JpZF9wcmljZXMtbWFyZ2luO1xuXG4gICAgICAgICAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlLWdyaWRfcHJpY2VzLWRpcmVjdGlvbiA9PSAndmVydGljYWwnKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgICAgICAgICAgLnByaWNlLWZyb20ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLm1pbmltYWwtcHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZS1ncmlkX3ByaWNlcy1hbGlnbm1lbnQgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJHByb2R1Y3QtdGlsZS1ncmlkX3ByaWNlcy1hbGlnbm1lbnQgPT0gJ3JpZ2h0JylcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgLm1pbmltYWwtcHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlLWdyaWRfZGlzcGxheS1vbGQtcHJpY2UtZmlyc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5vbGQtcHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHByaWNlLWJveF9zcGFjZS1iZXR3ZWVuLXByaWNlcztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgLm1pbmltYWwtcHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gLnByaWNlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRwcmljZS1ib3hfc3BhY2UtYmV0d2Vlbi1wcmljZXM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuc3BlY2lhbC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkcHJpY2UtYm94X3NwYWNlLWJldHdlZW4tcHJpY2VzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZS1ncmlkX3ByaWNlcy1hbGlnbm1lbnQgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRwcm9kdWN0LXRpbGUtZ3JpZF9wcmljZXMtYWxpZ25tZW50ID09ICdyaWdodCcpXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1kYWlseWRlYWwtY291bnRkb3duIC5wcmljZS1ib3gge1xuICAgICAgICAgICAgJjpub3QoLnByaWNlLWZpbmFsX3ByaWNlX3dpdGhvdXRfZGFpbHlfZGVhbCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYucHJpY2UtYm94LS12aXNpYmxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uY3MtY29udGFpbmVyLS1wcm9kdWN0cy1jYXJvdXNlbCB7XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuNXJlbSAzcmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fbmF2LS1wcmV2e1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICAgICAgbGVmdDogLTE0cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX25hdi0tbmV4dCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICByaWdodDogLTE0cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cbiAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWwtLXJlcXVlc3QgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2ljb24tLXJlcXVlc3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsLS1yZXF1ZXN0IC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19tZXNzYWdlLS1yZXF1ZXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsLS1yZXF1ZXN0IC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19hY3Rpb24tLXJlcXVlc3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsLS1icm93c2VyIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19pY29uLS1icm93c2VyIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbC0tYnJvd3NlciAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fbWVzc2FnZS0tYnJvd3NlciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbC0tYnJvd3NlciAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYWN0aW9uLS1icm93c2VyIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbC0tZW5hYmxlZCAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9faWNvbi0tZW5hYmxlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWwtLWVuYWJsZWQgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX21lc3NhZ2UtLWVuYWJsZWQge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgcGFkZGluZzogMnJlbSAxLjVyZW07XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3gtc2hhZG93OiAycHggMnB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSksIC0ycHggLTJweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIG1hcmdpbjogMS41cmVtIDA7IH1cbiAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2ljb24td3JhcHBlciB7XG4gICAgbWFyZ2luOiAwIDEuNXJlbTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzOS45OWVtKSB7XG4gICAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9faWNvbi13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19pY29uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAzLjVyZW07XG4gICAgaGVpZ2h0OiAzLjVyZW07IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9faWNvbi0tYW5pbWF0ZSB7XG4gICAgICBhbmltYXRpb246IHJpbmdpbmcgNnMgaW5maW5pdGU7IH1cbiAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX21lc3NhZ2Utd3JhcHBlciB7XG4gICAgbWFyZ2luOiAwIDEuNXJlbTtcbiAgICBmbGV4OiAxOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19tZXNzYWdlLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtOyB9IH1cbiAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX21lc3NhZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19tZXNzYWdlLS1yZXF1ZXN0IC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19tZXNzYWdlLXRpdGxlIHtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX21lc3NhZ2UtLWJyb3dzZXIgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX21lc3NhZ2UtdGl0bGUge1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fbWVzc2FnZS0tZW5hYmxlZCAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fbWVzc2FnZS10aXRsZSB7XG4gICAgICBjb2xvcjogI0E5QzU0NjsgfVxuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19tZXNzYWdlLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fbWVzc2FnZS1kZXNjcmlwdGlvbiB7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogIzNFM0UzRTsgfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYWN0aW9ucyB7XG4gICAgbWFyZ2luOiAwIDEuNXJlbTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbTsgfSB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19hY3Rpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYWN0aW9uLS1icm93c2VyIHtcbiAgICAgIHdpZHRoOiAzMHJlbTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2FjdGlvbi0tYnJvd3NlciB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWF4LXdpZHRoOiAzMHJlbTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAzOS45OWVtKSB7XG4gICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2J1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b246Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luOiAwIDAgMC41cmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b246Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbjogMCAxLjVyZW0gMDsgfSB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWFjY2VwdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICAgIHBhZGRpbmc6IDhweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yOyB9XG4gICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2J1dHRvbi0tYWNjZXB0Lm1lZGl1bSB7XG4gICAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWFjY2VwdC5sYXJnZSB7XG4gICAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWFjY2VwdDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2J1dHRvbi0tYWNjZXB0LCAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1hY2NlcHQ6dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDsgfVxuICAgICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2J1dHRvbi0tYWNjZXB0ICosIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWFjY2VwdDp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWFjY2VwdDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWFjY2VwdDpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWFjY2VwdDphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjc0NDI7IH1cbiAgICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWFjY2VwdDpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2J1dHRvbi0tYWNjZXB0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1hY2NlcHQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1hY2NlcHRbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IGF1dG87IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1hY2NlcHQgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2J1dHRvbi1zcGFuIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWFjY2VwdCAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLWljb24ge1xuICAgICAgbWF4LXdpZHRoOiAxZW07XG4gICAgICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWRlY2xpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIjtcbiAgICBwYWRkaW5nOiA4cHggMjVweDtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjsgfVxuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWRlY2xpbmUubWVkaXVtIHtcbiAgICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2J1dHRvbi0tZGVjbGluZS5sYXJnZSB7XG4gICAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWRlY2xpbmU6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWRlY2xpbmUsIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWRlY2xpbmU6dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgfVxuICAgICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2J1dHRvbi0tZGVjbGluZSAqLCAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1kZWNsaW5lOnZpc2l0ZWQgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmaWxsOiAjRkY0NjA0OyB9XG4gICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2J1dHRvbi0tZGVjbGluZTpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWRlY2xpbmU6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1kZWNsaW5lOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNFM0UzRTsgfVxuICAgICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2J1dHRvbi0tZGVjbGluZTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2J1dHRvbi0tZGVjbGluZTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2J1dHRvbi0tZGVjbGluZTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWRlY2xpbmVbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IGF1dG87IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1kZWNsaW5lIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tc3BhbiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1kZWNsaW5lIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24taWNvbiB7XG4gICAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICAgIG1heC1oZWlnaHQ6IDEuNHJlbTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX3Blcm1pc3Npb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJveC1zaGFkb3c6IDJweCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xKSwgLTJweCAtMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgY29sb3I6ICMzRTNFM0U7XG4gICAgcGFkZGluZzogMXJlbSAycmVtOyB9XG4gICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX3Blcm1pc3Npb24taWNvbiB7XG4gICAgICB3aWR0aDogMS4ycmVtO1xuICAgICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19wZXJtaXNzaW9uLWJ1dHRvbi13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19wZXJtaXNzaW9uLWJ1dHRvbiB7XG4gICAgICBwYWRkaW5nOiAwLjJyZW0gMnJlbTtcbiAgICAgIG1hcmdpbjogMCAwLjJyZW07XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDEuMXJlbTsgfVxuICAgICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX3Blcm1pc3Npb24tYnV0dG9uLS1ibG9jayB7XG4gICAgICAgIG9wYWNpdHk6IDAuMzsgfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fY2xvc2Uge1xuICAgIG1hcmdpbjogMCAxLjVyZW07IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2Nsb3NlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDJyZW07XG4gICAgICAgIHJpZ2h0OiAxLjVyZW07IH0gfVxuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19jbG9zZS1pY29uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEuNXJlbTtcbiAgICAgIGhlaWdodDogMS41cmVtO1xuICAgICAgZmlsbDogIzNFM0UzRTsgfVxuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19jbG9zZTpob3ZlciAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fY2xvc2UtaWNvbiB7XG4gICAgICBmaWxsOiAjMDAwOyB9XG5cbkBrZXlmcmFtZXMgcmluZ2luZyB7XG4gIDAlLFxuICAxMiUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDBkZWcpOyB9XG4gIDMlLFxuICA3JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpIHJvdGF0ZSgyN2RlZyk7IH1cbiAgNSUsXG4gIDklIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMykgcm90YXRlKC0yN2RlZyk7IH0gfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvdmlzdWFsbHktaGlkZGVuJztcbkBpbXBvcnQgJ3V0aWxzL2dldC12YWx1ZS1mcm9tLWxpc3Quc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9taXhpbi5zY3NzJztcblxuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfZ3V0dGVyOiAwIDEuNXJlbSAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2JhY2tncm91bmQ6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2JvcmRlcjogbm9uZSAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2JvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2UgIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9ib3gtc2hhZG93OiAycHggMnB4IDNweCByZ2JhKCRjb2xvcl9ibGFjaywgMC4xKSxcbiAgICAtMnB4IC0ycHggM3B4IHJnYmEoJGNvbG9yX2JsYWNrLCAwLjEpICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfcGFkZGluZzogMnJlbSAxLjVyZW0gIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9tYXJnaW46IDEuNXJlbSAwICFkZWZhdWx0O1xuXG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9pY29uLXN0YXR1cy13aWR0aDogMy41cmVtICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfaWNvbi1zdGF0dXMtaGVpZ2h0OiAzLjVyZW0gIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9pY29uLXN0YXR1cy1hbmltYXRpb246IHRydWUgIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9pY29uLXN0YXR1cy1hbmltYXRpb24tcmVwZWF0OiA2cyAhZGVmYXVsdDtcblxuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfbWVzc2FnZS10aXRsZS1mb250LXNpemU6IDJyZW0gIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9tZXNzYWdlLXRpdGxlLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9tZXNzYWdlLXRpdGxlLXJlcXVlc3QtY29sb3I6ICRjb2xvcl9ibGFjayAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX21lc3NhZ2UtdGl0bGUtYnJvd3Nlci1jb2xvcjogJGNvbG9yX2JsYWNrICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfbWVzc2FnZS10aXRsZS1lbmFibGVkLWNvbG9yOiAkY29sb3Jfc3VjY2Vzcy02MDAgIWRlZmF1bHQ7XG5cbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX21lc3NhZ2UtZGVzY3JpcHRpb24tZm9udC1zaXplOiAxLjRyZW0gIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9tZXNzYWdlLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9tZXNzYWdlLWRlc2NyaXB0aW9uLWNvbG9yOiAkY29sb3JfdGV4dC00MDAgIWRlZmF1bHQ7XG5cbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2J1dHRvbi1hY2NlcHQtdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUgIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9idXR0b24tYWNjZXB0LWljb24tcG9zOiAnbm8taWNvbicgIWRlZmF1bHQ7XG5cbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2J1dHRvbi1kZWNsaW5lLXR5cGU6ICdzZWNvbmRhcnknICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfYnV0dG9uLWRlY2xpbmUtaWNvbi1wb3M6ICduby1pY29uJyAhZGVmYXVsdDtcblxuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfcGVybWlzc2lvbi1ib3JkZXI6IG5vbmUgIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9wZXJtaXNzaW9uLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2UgIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9wZXJtaXNzaW9uLWJveC1zaGFkb3c6IDJweCAycHggNXB4XG4gICAgICAgIHJnYmEoJGNvbG9yX2JsYWNrLCAwLjEpLFxuICAgIC0ycHggLTJweCA1cHggcmdiYSgkY29sb3JfYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9wZXJtaXNzaW9uLWZvbnQtc2l6ZTogMS4ycmVtICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfcGVybWlzc2lvbi1wYWRkaW5nOiAxcmVtIDJyZW0gIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9wZXJtaXNzaW9uLWNvbG9yOiAkY29sb3JfdGV4dC00MDAgIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9wZXJtaXNzaW9uLWJ1dHRvbi1mb250LXNpemU6IDEuMXJlbSAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX3Blcm1pc3Npb24tYnV0dG9uLXBhZGRpbmc6IDAuMnJlbSAycmVtICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfcGVybWlzc2lvbi1idXR0b24tYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JsYWNrICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfcGVybWlzc2lvbi1idXR0b24tY29sb3I6ICRjb2xvcl9ibGFjayAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX3Blcm1pc3Npb24taWNvbi13aWR0aDogMS4ycmVtICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfcGVybWlzc2lvbi1pY29uLWhlaWdodDogMS4ycmVtICFkZWZhdWx0O1xuXG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9pY29uLWNsb3NlLXdpZHRoOiAxLjVyZW0gIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9pY29uLWNsb3NlLWhlaWdodDogMS41cmVtICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfaWNvbi1jbG9zZS1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfaWNvbi1jbG9zZS1jb2xvci0taG92ZXI6ICRjb2xvcl9ibGFjayAhZGVmYXVsdDtcblxuLiN7JG5zfXB3YS1ub3RpZmljYXRpb24tcGFuZWwge1xuICAgICRyb290OiAmO1xuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgfVxuXG4gICAgJi0tcmVxdWVzdCB7XG4gICAgICAgICN7JHJvb3R9IHtcbiAgICAgICAgICAgICZfX2ljb24tLXJlcXVlc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19tZXNzYWdlLS1yZXF1ZXN0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19hY3Rpb24tLXJlcXVlc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tYnJvd3NlciB7XG4gICAgICAgICN7JHJvb3R9IHtcbiAgICAgICAgICAgICZfX2ljb24tLWJyb3dzZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19tZXNzYWdlLS1icm93c2VyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19hY3Rpb24tLWJyb3dzZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tZW5hYmxlZCB7XG4gICAgICAgICN7JHJvb3R9IHtcbiAgICAgICAgICAgICZfX2ljb24tLWVuYWJsZWQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19tZXNzYWdlLS1lbmFibGVkIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9iYWNrZ3JvdW5kO1xuICAgICAgICBwYWRkaW5nOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9wYWRkaW5nO1xuICAgICAgICBib3JkZXI6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2JvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYm94LXNoYWRvdzogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfYm94LXNoYWRvdztcbiAgICAgICAgbWFyZ2luOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9tYXJnaW47XG4gICAgfVxuXG4gICAgJl9faWNvbi13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9ndXR0ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZUxnJykge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB3aWR0aDogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfaWNvbi1zdGF0dXMtd2lkdGg7XG4gICAgICAgIGhlaWdodDogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfaWNvbi1zdGF0dXMtaGVpZ2h0O1xuXG4gICAgICAgICYtLWFuaW1hdGUge1xuICAgICAgICAgICAgQGlmICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2ljb24tc3RhdHVzLWFuaW1hdGlvbiB7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiByaW5naW5nXG4gICAgICAgICAgICAgICAgICAgICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2ljb24tc3RhdHVzLWFuaW1hdGlvbi1yZXBlYXRcbiAgICAgICAgICAgICAgICAgICAgaW5maW5pdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tZXNzYWdlLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW46ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2d1dHRlcjtcbiAgICAgICAgZmxleDogMTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIgKlxuICAgICAgICAgICAgICAgIChnZXQtdmFsdWUtZnJvbS1saXN0KCRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX3BhZGRpbmcsICdyaWdodCcpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21lc3NhZ2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICYtLXJlcXVlc3Qge1xuICAgICAgICAgICAgI3skcm9vdH1fX21lc3NhZ2UtdGl0bGUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9tZXNzYWdlLXRpdGxlLXJlcXVlc3QtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1icm93c2VyIHtcbiAgICAgICAgICAgICN7JHJvb3R9X19tZXNzYWdlLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfbWVzc2FnZS10aXRsZS1icm93c2VyLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZW5hYmxlZCB7XG4gICAgICAgICAgICAjeyRyb290fV9fbWVzc2FnZS10aXRsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX21lc3NhZ2UtdGl0bGUtZW5hYmxlZC1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9tZXNzYWdlLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9tZXNzYWdlLXRpdGxlLWZvbnQtd2VpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX21lc3NhZ2UtZGVzY3JpcHRpb24tZm9udC1zaXplO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX21lc3NhZ2UtZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICBjb2xvcjogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfbWVzc2FnZS1kZXNjcmlwdGlvbi1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FjdGlvbnMge1xuICAgICAgICBtYXJnaW46ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2d1dHRlcjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogZ2V0LXZhbHVlLWZyb20tbGlzdChcbiAgICAgICAgICAgICAgICAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9wYWRkaW5nLFxuICAgICAgICAgICAgICAgICd1cCdcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hY3Rpb24ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICYtLWJyb3dzZXIge1xuICAgICAgICAgICAgd2lkdGg6IDMwcmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMwcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZUxnJykge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC41cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZUxnJykge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMFxuICAgICAgICAgICAgICAgICAgICBnZXQtdmFsdWUtZnJvbS1saXN0KCRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2d1dHRlciwgJ3JpZ2h0JylcbiAgICAgICAgICAgICAgICAgICAgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWFjY2VwdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2J1dHRvbi1hY2NlcHQtdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2J1dHRvbi1hY2NlcHQtaWNvbi1wb3NcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19idXR0b24tc3BhbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9idXR0b24tYWNjZXB0LXR5cGUsXG4gICAgICAgICAgICAgICAgICAgICRpY29uX3BvczogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfYnV0dG9uLWFjY2VwdC1pY29uLXBvc1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19idXR0b24taWNvbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2ljb24oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9idXR0b24tYWNjZXB0LXR5cGUsXG4gICAgICAgICAgICAgICAgICAgICRpY29uX3BvczogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfYnV0dG9uLWFjY2VwdC1pY29uLXBvc1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1kZWNsaW5lIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfYnV0dG9uLWRlY2xpbmUtdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2J1dHRvbi1kZWNsaW5lLWljb24tcG9zXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAjeyRyb290fV9fYnV0dG9uLXNwYW4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgICAgICAgICAkdHlwZTogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfYnV0dG9uLWRlY2xpbmUtdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9idXR0b24tZGVjbGluZS1pY29uLXBvc1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19idXR0b24taWNvbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2ljb24oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9idXR0b24tZGVjbGluZS10eXBlLFxuICAgICAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2J1dHRvbi1kZWNsaW5lLWljb24tcG9zXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Blcm1pc3Npb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBib3JkZXI6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX3Blcm1pc3Npb24tYm9yZGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9wZXJtaXNzaW9uLWJvcmRlci1yYWRpdXM7XG4gICAgICAgIGJveC1zaGFkb3c6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX3Blcm1pc3Npb24tYm94LXNoYWRvdztcbiAgICAgICAgZm9udC1zaXplOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9wZXJtaXNzaW9uLWZvbnQtc2l6ZTtcbiAgICAgICAgY29sb3I6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX3Blcm1pc3Npb24tY29sb3I7XG4gICAgICAgIHBhZGRpbmc6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX3Blcm1pc3Npb24tcGFkZGluZztcblxuICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgd2lkdGg6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX3Blcm1pc3Npb24taWNvbi13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfcGVybWlzc2lvbi1pY29uLWhlaWdodDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1idXR0b24td3JhcHBlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLWJ1dHRvbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9wZXJtaXNzaW9uLWJ1dHRvbi1wYWRkaW5nO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAuMnJlbTtcbiAgICAgICAgICAgIGJvcmRlcjogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfcGVybWlzc2lvbi1idXR0b24tYm9yZGVyO1xuICAgICAgICAgICAgY29sb3I6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX3Blcm1pc3Npb24tYnV0dG9uLWNvbG9yO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9wZXJtaXNzaW9uLWJ1dHRvbi1mb250LXNpemU7XG5cbiAgICAgICAgICAgICYtLWJsb2NrIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jbG9zZSB7XG4gICAgICAgIG1hcmdpbjogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfZ3V0dGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiBnZXQtdmFsdWUtZnJvbS1saXN0KCRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX3BhZGRpbmcsICd1cCcpO1xuICAgICAgICAgICAgcmlnaHQ6IGdldC12YWx1ZS1mcm9tLWxpc3QoXG4gICAgICAgICAgICAgICAgJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfcGFkZGluZyxcbiAgICAgICAgICAgICAgICAncmlnaHQnXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1pY29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2ljb24tY2xvc2Utd2lkdGg7XG4gICAgICAgICAgICBoZWlnaHQ6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2ljb24tY2xvc2UtaGVpZ2h0O1xuICAgICAgICAgICAgZmlsbDogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfaWNvbi1jbG9zZS1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgI3skcm9vdH1fX2Nsb3NlLWljb24ge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2ljb24tY2xvc2UtY29sb3ItLWhvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJpbmdpbmcge1xuICAgIDAlLFxuICAgIDEyJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDBkZWcpO1xuICAgIH1cbiAgICAzJSxcbiAgICA3JSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKSByb3RhdGUoMjdkZWcpO1xuICAgIH1cbiAgICA1JSxcbiAgICA5JSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKSByb3RhdGUoLTI3ZGVnKTtcbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIFJhZGlvIGFuZCBjaGVja2JveCBzdHlsaW5nICovXG4vKioqXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDEzMFxuICovXG4uY3MtcXR5LWluY3JlbWVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5jcy1xdHktaW5jcmVtZW50LS13aXNobGlzdCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC8qIDEgKi8gfVxuICAuY3MtcXR5LWluY3JlbWVudF9faW5wdXQge1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIHBhZGRpbmc6IDExcHggMTBweDtcbiAgICBjb2xvcjogIzIxMjEyMTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgbWFyZ2luOiAwIDAgMC4yZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogNDBweDtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDZweCA1cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIHdpZHRoOiAwO1xuICAgIG1pbi13aWR0aDogMmNoO1xuICAgIGZsZXg6IDE7XG4gICAgb3JkZXI6IDI7IH1cbiAgICAuY3MtcXR5LWluY3JlbWVudF9faW5wdXQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtcXR5LWluY3JlbWVudF9faW5wdXQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRjQ2MDQ7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmNzLXF0eS1pbmNyZW1lbnRfX2lucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29sb3I6ICM2RTZFNkU7IH1cbiAgICAuY3MtcXR5LWluY3JlbWVudF9faW5wdXRbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7IH1cbiAgICAuaWUxMSAuY3MtcXR5LWluY3JlbWVudF9faW5wdXQge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfVxuICAgIC5jcy1xdHktaW5jcmVtZW50X19pbnB1dCwgLmNzLXF0eS1pbmNyZW1lbnRfX2lucHV0OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLXF0eS1pbmNyZW1lbnRfX2lucHV0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3JkZXItY29sb3I6ICNkY2RjZGM7IH1cbiAgICAuY3MtcXR5LWluY3JlbWVudF9faW5wdXQubWFnZS1lcnJvciB7XG4gICAgICBib3JkZXItY29sb3I6ICNDQzFDM0EgIWltcG9ydGFudDsgfVxuICAgICAgLmNzLXF0eS1pbmNyZW1lbnRfX2lucHV0Lm1hZ2UtZXJyb3IgfiAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjQ0MxQzNBICFpbXBvcnRhbnQ7IH1cbiAgICAuY3MtcXR5LWluY3JlbWVudF9faW5wdXQgKyAubWFnZS1lcnJvciB7XG4gICAgICBvcmRlcjogMztcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1xdHktaW5jcmVtZW50X19idXR0b24ge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cztcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGw7XG4gICAgbWF4LXdpZHRoOiAzcmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgZmxleDogMSAxIDJyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMC41ZW07XG4gICAgcGFkZGluZy1yaWdodDogMC41ZW07XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIG1pbi13aWR0aDogMzRweDsgfVxuICAgIC5jcy1xdHktaW5jcmVtZW50X19idXR0b24sIC5jcy1xdHktaW5jcmVtZW50X19idXR0b246dmlzaXRlZCwgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYzsgfVxuICAgICAgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbiAqLCAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uOnZpc2l0ZWQgKiwgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbjpmb2N1cyAqIHtcbiAgICAgICAgZmlsbDogIzAwMDsgfVxuICAgIC5jcy1xdHktaW5jcmVtZW50X19idXR0b246aG92ZXIsIC5jcy1xdHktaW5jcmVtZW50X19idXR0b246YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRkY0NjA0O1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uOmhvdmVyICosIC5jcy1xdHktaW5jcmVtZW50X19idXR0b246YWN0aXZlICoge1xuICAgICAgICBmaWxsOiAjMDAwOyB9XG4gICAgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbi0tZGVjcmVtZW50IHtcbiAgICAgIG9yZGVyOiAxO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxM3B4OyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uLS1kZWNyZW1lbnQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNnB4OyB9IH1cbiAgICAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uLS1pbmNyZW1lbnQge1xuICAgICAgb3JkZXI6IDI7XG4gICAgICBtYXJnaW4tbGVmdDogMTNweDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbi0taW5jcmVtZW50IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNnB4OyB9IH1cbiAgLmNzLXF0eS1pbmNyZW1lbnRfX2ljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgICAuY3MtcXR5LWluY3JlbWVudF9faWNvbi0tZGVjcmVtZW50IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmNzLXF0eS1pbmNyZW1lbnRfX2ljb24tLWluY3JlbWVudCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy9maWVsZC9taXhpbic7XG5AaW1wb3J0ICd1dGlscy92aXN1YWxseS1oaWRkZW4nO1xuXG4kcXR5LWluY3JlbWVudC0taW4td2lzaGxpc3RfaGlkZTogdHJ1ZSAhZGVmYXVsdDtcblxuJHF0eS1pbmNyZW1lbnRfaW5wdXQtZm9udC1zaXplOiBpbmhlcml0ICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfaW5wdXQtdGV4dC1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfaW5wdXQtLWVycm9yLWJvcmRlci1jb2xvcjogJGNvbG9yX2Vycm9yLTUwMCAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2lucHV0LS1ob3Zlci1ib3JkZXI6ICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuXG4kcXR5LWluY3JlbWVudF9idXR0b24tcG9zaXRpb24tb2Zmc2V0OiAxcHggIWRlZmF1bHQ7XG4kcXR5LWluY3JlbWVudF9idXR0b24td2lkdGg6IDNyZW0gIWRlZmF1bHQ7XG4kcXR5LWluY3JlbWVudF9idXR0b24tYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZSAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2J1dHRvbi1iYWNrZ3JvdW5kOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kcXR5LWluY3JlbWVudF9idXR0b24tLWhvdmVyLWJhY2tncm91bmQ6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2J1dHRvbi0tZGlzYWJsZWQtYmFja2dyb3VuZDogJHF0eS1pbmNyZW1lbnRfYnV0dG9uLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kcXR5LWluY3JlbWVudF9idXR0b24tYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kcXR5LWluY3JlbWVudF9idXR0b24tLWhvdmVyLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2J1dHRvbi1hbmltYXRpb24tdGltZTogMC41cyAhZGVmYXVsdDtcblxuJHF0eS1pbmNyZW1lbnRfaWNvbi1maWxsOiAkY29sb3JfYmxhY2sgIWRlZmF1bHQ7XG4kcXR5LWluY3JlbWVudF9pY29uLS1ob3Zlci1maWxsOiAkY29sb3JfYmxhY2sgIWRlZmF1bHQ7XG4kcXR5LWluY3JlbWVudF9pY29uLS1kaXNhYmxlZC1maWxsOiAkY29sb3JfYWx0byAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2ljb24tLWRlY3JlbWVudC13aWR0aDogYXV0byAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2ljb24tLWRlY3JlbWVudC1oZWlnaHQ6IGF1dG8gIWRlZmF1bHQ7XG4kcXR5LWluY3JlbWVudF9pY29uLS1pbmNyZW1lbnQtd2lkdGg6ICRxdHktaW5jcmVtZW50X2ljb24tLWRlY3JlbWVudC13aWR0aCAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2ljb24tLWluY3JlbWVudC1oZWlnaHQ6ICRxdHktaW5jcmVtZW50X2ljb24tLWluY3JlbWVudC13aWR0aCAhZGVmYXVsdDtcblxuLiN7JG5zfXF0eS1pbmNyZW1lbnQge1xuICAgICRyb290OiAmO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgQGlmICRxdHktaW5jcmVtZW50LS1pbi13aXNobGlzdF9oaWRlIHtcbiAgICAgICAgJi0td2lzaGxpc3Qge1xuICAgICAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbnB1dCB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLWlucHV0KCk7XG4gICAgICAgIGZvbnQtc2l6ZTogJHF0eS1pbmNyZW1lbnRfaW5wdXQtZm9udC1zaXplO1xuICAgICAgICB0ZXh0LWFsaWduOiAkcXR5LWluY3JlbWVudF9pbnB1dC10ZXh0LWFsaWduO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDZweCA1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBtaW4td2lkdGg6IDJjaDtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgb3JkZXI6IDI7XG5cbiAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgJixcbiAgICAgICAgJjpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgICAgICY6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHF0eS1pbmNyZW1lbnRfaW5wdXQtLWhvdmVyLWJvcmRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYubWFnZS1lcnJvciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRxdHktaW5jcmVtZW50X2lucHV0LS1lcnJvci1ib3JkZXItY29sb3IgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgfiAjeyRyb290fV9fYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRxdHktaW5jcmVtZW50X2lucHV0LS1lcnJvci1ib3JkZXItY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICsgLm1hZ2UtZXJyb3Ige1xuICAgICAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHF0eS1pbmNyZW1lbnRfYnV0dG9uLWFuaW1hdGlvbi10aW1lLFxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yICRxdHktaW5jcmVtZW50X2J1dHRvbi1hbmltYXRpb24tdGltZSxcbiAgICAgICAgICAgIGZpbGwgJHF0eS1pbmNyZW1lbnRfYnV0dG9uLWFuaW1hdGlvbi10aW1lO1xuICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGw7XG4gICAgICAgIG1heC13aWR0aDogJHF0eS1pbmNyZW1lbnRfYnV0dG9uLXdpZHRoO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcXR5LWluY3JlbWVudF9idXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgZmxleDogMSAxICgjeyRxdHktaW5jcmVtZW50X2J1dHRvbi13aWR0aCAtIDF9KTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHF0eS1pbmNyZW1lbnRfYnV0dG9uLWJvcmRlci1yYWRpdXM7XG4gICAgICAgIG1pbi13aWR0aDogMzRweDtcblxuICAgICAgICAmLFxuICAgICAgICAmOnZpc2l0ZWQsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHF0eS1pbmNyZW1lbnRfYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgICAgICBib3JkZXI6ICRxdHktaW5jcmVtZW50X2J1dHRvbi1ib3JkZXI7XG5cbiAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRxdHktaW5jcmVtZW50X2ljb24tZmlsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRxdHktaW5jcmVtZW50X2J1dHRvbi0taG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgICAgIGJvcmRlcjogJHF0eS1pbmNyZW1lbnRfYnV0dG9uLS1ob3Zlci1ib3JkZXI7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRxdHktaW5jcmVtZW50X2ljb24tLWhvdmVyLWZpbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1kZWNyZW1lbnQge1xuICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEzcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1pbmNyZW1lbnQge1xuICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTNweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cbiAgICAgICAgJi0tZGVjcmVtZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiAkcXR5LWluY3JlbWVudF9pY29uLS1kZWNyZW1lbnQtd2lkdGg7XG4gICAgICAgICAgICBoZWlnaHQ6ICRxdHktaW5jcmVtZW50X2ljb24tLWRlY3JlbWVudC1oZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1pbmNyZW1lbnQge1xuICAgICAgICAgICAgd2lkdGg6ICRxdHktaW5jcmVtZW50X2ljb24tLWluY3JlbWVudC13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogJHF0eS1pbmNyZW1lbnRfaWNvbi0taW5jcmVtZW50LWhlaWdodDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLnVpLXNsaWRlci1ob3Jpem9udGFsIHtcbiAgYmFja2dyb3VuZDogI2RjZGNkYztcbiAgaGVpZ2h0OiAxcmVtO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItcmFkaXVzOiAxcmVtOyB9XG4gIC51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLWhhbmRsZSB7XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIGJhY2tncm91bmQ6ICNGRjQ2MDQ7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MsIGJhY2tncm91bmQgMC4zcztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNXJlbTsgfVxuICAgIC51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLWhhbmRsZS51aS1zdGF0ZS1ob3ZlciwgLnVpLXNsaWRlci1ob3Jpem9udGFsIC51aS1zbGlkZXItaGFuZGxlLnVpLXN0YXRlLWFjdGl2ZSwgLnVpLXNsaWRlci1ob3Jpem9udGFsIC51aS1zbGlkZXItaGFuZGxlLnVpLXN0YXRlLWZvY3VzIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgICAgIGJhY2tncm91bmQ6ICNGRjc0NDI7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuXG4kc2xpZGVyLS1ob3Jpem9udGFsX2hlaWdodDogMXJlbSAhZGVmYXVsdDtcbiRzbGlkZXItLWhvcml6b250YWxfYmFja2dyb3VuZDogJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kc2xpZGVyLS1ob3Jpem9udGFsX2hhbmRsZS1zaXplOiAxcmVtICFkZWZhdWx0O1xuJHNsaWRlci0taG9yaXpvbnRhbF9oYW5kbGUtYmFja2dyb3VuZDogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJHNsaWRlci0taG9yaXpvbnRhbF9oYW5kbGUtYmFja2dyb3VuZC1hY3RpdmU6ICRjb2xvcl9wcmltYXJ5LTgwMCAhZGVmYXVsdDtcblxuLnVpLXNsaWRlci1ob3Jpem9udGFsIHtcbiAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLS1ob3Jpem9udGFsX2JhY2tncm91bmQ7XG4gICAgaGVpZ2h0OiAkc2xpZGVyLS1ob3Jpem9udGFsX2hlaWdodDtcbiAgICBtYXJnaW4tbGVmdDogKCRzbGlkZXItLWhvcml6b250YWxfaGFuZGxlLXNpemUgLyAyKTtcbiAgICBtYXJnaW4tcmlnaHQ6ICgkc2xpZGVyLS1ob3Jpem9udGFsX2hhbmRsZS1zaXplIC8gMik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItLWhvcml6b250YWxfaGVpZ2h0O1xuXG4gICAgLnVpLXNsaWRlci1oYW5kbGUge1xuICAgICAgICB3aWR0aDogJHNsaWRlci0taG9yaXpvbnRhbF9oYW5kbGUtc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkc2xpZGVyLS1ob3Jpem9udGFsX2hhbmRsZS1zaXplO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLS1ob3Jpem9udGFsX2hhbmRsZS1iYWNrZ3JvdW5kO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcywgYmFja2dyb3VuZCAwLjNzO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogLSgkc2xpZGVyLS1ob3Jpem9udGFsX2hhbmRsZS1zaXplIC8gMik7XG5cbiAgICAgICAgJi51aS1zdGF0ZS1ob3ZlcixcbiAgICAgICAgJi51aS1zdGF0ZS1hY3RpdmUsXG4gICAgICAgICYudWktc3RhdGUtZm9jdXMge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHNsaWRlci0taG9yaXpvbnRhbF9oYW5kbGUtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogUmVtb3ZlIGJyb3dzZXIncyBtYXJnaW5zLCBwYWRkaW5ncyBhbmQgbGlzdCBzdHlsZSBydWxlc1xuICovXG4uY3Mtc29jaWFsLW1lZGlhLWxpc3Qge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDEuNXJlbSAwIDEuNXJlbTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3Mtc29jaWFsLW1lZGlhLWxpc3Qge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3Mtc29jaWFsLW1lZGlhLWxpc3Qge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gIC5jcy1zb2NpYWwtbWVkaWEtbGlzdF9faXRlbSB7XG4gICAgbWFyZ2luOiAwIDAuNGVtO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNzLXNvY2lhbC1tZWRpYS1saXN0X19saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDMuNWVtO1xuICAgIG1pbi13aWR0aDogNGVtO1xuICAgIGJhY2tncm91bmQ6ICMyMTIxMjE7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIHRyYW5zZm9ybTogc2tldygtMThkZWcpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgbGluZWFyOyB9XG4gICAgLmNzLXNvY2lhbC1tZWRpYS1saXN0X19saW5rOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNGRjc0NDI7IH1cbiAgLmNzLXNvY2lhbC1tZWRpYS1saXN0X19pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZmlsbDogI2ZmZmZmZjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01NSUsIC01NSUsIDApIHNrZXcoMThkZWcpO1xuICAgIHRyYW5zaXRpb246IGZpbGwgMC4xNXMgbGluZWFyO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDU1JTsgfVxuICAgIC5jcy1zb2NpYWwtbWVkaWEtbGlzdF9faXRlbS0tZmIgLmNzLXNvY2lhbC1tZWRpYS1saXN0X19pY29uIHtcbiAgICAgIHdpZHRoOiAwLjllbTtcbiAgICAgIGhlaWdodDogMS44ZW07IH1cbiAgICAuY3Mtc29jaWFsLW1lZGlhLWxpc3RfX2l0ZW0tLXR3IC5jcy1zb2NpYWwtbWVkaWEtbGlzdF9faWNvbiB7XG4gICAgICB3aWR0aDogMi41ZW07XG4gICAgICBoZWlnaHQ6IDJlbTsgfVxuICAgIC5jcy1zb2NpYWwtbWVkaWEtbGlzdF9faXRlbS0teXQgLmNzLXNvY2lhbC1tZWRpYS1saXN0X19pY29uIHtcbiAgICAgIHdpZHRoOiAxLjhlbTtcbiAgICAgIGhlaWdodDogMi4xZW07IH1cbiAgICAuY3Mtc29jaWFsLW1lZGlhLWxpc3RfX2l0ZW0tLWdwIC5jcy1zb2NpYWwtbWVkaWEtbGlzdF9faWNvbiB7XG4gICAgICB3aWR0aDogMmVtO1xuICAgICAgaGVpZ2h0OiAyZW07XG4gICAgICBtYXJnaW4tdG9wOiAwLjFlbTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5cbiRzb2NpYWwtbWVkaWEtbGlzdF9kaXNwbGF5OiBmbGV4ICFkZWZhdWx0O1xuJHNvY2lhbC1tZWRpYS1saXN0X2ZsZXgtanVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWRlZmF1bHQ7XG4kc29jaWFsLW1lZGlhLWxpc3RfZmxleC1hbGlnbi1pdGVtczogY2VudGVyICFkZWZhdWx0O1xuJHNvY2lhbC1tZWRpYS1saXN0X3BhZGRpbmc6ICRwYWdlX2VkZ2UtZ3V0dGVyIDAgJHBhZ2VfZWRnZS1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRzb2NpYWwtbWVkaWEtbGlzdF9saXN0LWl0ZW0tbWFyZ2luOiAwIDAuNGVtICFkZWZhdWx0O1xuJHNvY2lhbC1tZWRpYS1saXN0X2xpc3QtaXRlbS1wYWRkaW5nOiAwICFkZWZhdWx0O1xuXG4kc29jaWFsLW1lZGlhLWxpc3RfbGluay1kaXNwbGF5OiBmbGV4ICFkZWZhdWx0O1xuJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstcGFkZGluZzogMWVtICFkZWZhdWx0O1xuJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstaGVpZ2h0OiAzLjVlbSAhZGVmYXVsdDtcbiRzb2NpYWwtbWVkaWEtbGlzdF9saW5rLW1pbi13aWR0aDogNGVtICFkZWZhdWx0O1xuJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZSAhZGVmYXVsdDtcbiRzb2NpYWwtbWVkaWEtbGlzdF9saW5rLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstdHJhbnNmb3JtOiAkdHJhbnNmb3JtX3NrZXctNDAwICFkZWZhdWx0O1xuJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstYmFja2dyb3VuZDogJGNvbG9yX21pbmVzaGFmdCAhZGVmYXVsdDtcbiRzb2NpYWwtbWVkaWEtbGlzdF9saW5rLWhvdmVyLWJhY2tncm91bmQ6ICRjb2xvcl9wcmltYXJ5LTgwMCAhZGVmYXVsdDtcblxuJHNvY2lhbC1tZWRpYS1saXN0X2ljb24tcG9zaXRpb246IGFic29sdXRlICFkZWZhdWx0O1xuJHNvY2lhbC1tZWRpYS1saXN0X2ljb24tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTUlLCAtNTUlLCAwKVxuICAgICR0cmFuc2Zvcm1fc2tldy00MDAtcmV2ZXJ0ICFkZWZhdWx0O1xuJHNvY2lhbC1tZWRpYS1saXN0X2ljb24tY29sb3I6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRzb2NpYWwtbWVkaWEtbGlzdF9pY29uLWhvdmVyLWNvbG9yOiAkc29jaWFsLW1lZGlhLWxpc3RfaWNvbi1jb2xvciAhZGVmYXVsdDtcbiRzb2NpYWwtbWVkaWEtbGlzdF9pY29uLXRyYW5zaXRpb246IGZpbGwgMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuXG5AaWYgJHNvY2lhbC1tZWRpYS1saXN0X2ljb24tcG9zaXRpb24gPT0gYWJzb2x1dGUge1xuICAgICRzb2NpYWwtbWVkaWEtbGlzdF9pY29uLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMClcbiAgICAgICAgJHRyYW5zZm9ybV9za2V3LTQwMC1yZXZlcnQgIWRlZmF1bHQ7XG59XG5cbi4jeyRuc31zb2NpYWwtbWVkaWEtbGlzdCB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlKCk7XG5cbiAgICBkaXNwbGF5OiAkc29jaWFsLW1lZGlhLWxpc3RfZGlzcGxheTtcbiAgICBwYWRkaW5nOiAkc29jaWFsLW1lZGlhLWxpc3RfcGFkZGluZztcblxuICAgIEBpZiAkc29jaWFsLW1lZGlhLWxpc3RfZGlzcGxheSA9PVxuICAgICAgICBmbGV4IG9yXG4gICAgICAgICRzb2NpYWwtbWVkaWEtbGlzdF9kaXNwbGF5ID09XG4gICAgICAgIGlubGluZS1mbGV4XG4gICAge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRzb2NpYWwtbWVkaWEtbGlzdF9mbGV4LWp1c3RpZnktY29udGVudDtcbiAgICAgICAgYWxpZ24taXRlbXM6ICRzb2NpYWwtbWVkaWEtbGlzdF9mbGV4LWFsaWduLWl0ZW1zO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBtYXJnaW46ICRzb2NpYWwtbWVkaWEtbGlzdF9saXN0LWl0ZW0tbWFyZ2luO1xuICAgICAgICBwYWRkaW5nOiAkc29jaWFsLW1lZGlhLWxpc3RfbGlzdC1pdGVtLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6ICRzb2NpYWwtbWVkaWEtbGlzdF9saW5rLWRpc3BsYXk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiAkc29jaWFsLW1lZGlhLWxpc3RfbGluay1oZWlnaHQ7XG4gICAgICAgIG1pbi13aWR0aDogJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstbWluLXdpZHRoO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc29jaWFsLW1lZGlhLWxpc3RfbGluay1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstYm9yZGVyLXJhZGl1cztcbiAgICAgICAgdHJhbnNmb3JtOiAkc29jaWFsLW1lZGlhLWxpc3RfbGluay10cmFuc2Zvcm07XG4gICAgICAgIHRyYW5zaXRpb246ICRzb2NpYWwtbWVkaWEtbGlzdF9saW5rLXRyYW5zaXRpb247XG5cbiAgICAgICAgQGlmICRzb2NpYWwtbWVkaWEtbGlzdF9saW5rLWhvdmVyLWJhY2tncm91bmQgIT1cbiAgICAgICAgICAgICRzb2NpYWwtbWVkaWEtbGlzdF9saW5rLWJhY2tncm91bmRcbiAgICAgICAge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBwb3NpdGlvbjogJHNvY2lhbC1tZWRpYS1saXN0X2ljb24tcG9zaXRpb247XG4gICAgICAgIGZpbGw6ICRzb2NpYWwtbWVkaWEtbGlzdF9pY29uLWNvbG9yO1xuICAgICAgICB0cmFuc2Zvcm06ICRzb2NpYWwtbWVkaWEtbGlzdF9pY29uLXRyYW5zZm9ybTtcbiAgICAgICAgdHJhbnNpdGlvbjogJHNvY2lhbC1tZWRpYS1saXN0X2ljb24tdHJhbnNpdGlvbjtcblxuICAgICAgICBAaWYgJHNvY2lhbC1tZWRpYS1saXN0X2ljb24tcG9zaXRpb24gPT0gYWJzb2x1dGUge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1NSU7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJHNvY2lhbC1tZWRpYS1saXN0X2ljb24taG92ZXItY29sb3IgIT0gJHNvY2lhbC1tZWRpYS1saXN0X2ljb24tY29sb3JcbiAgICAgICAge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgZmlsbDogJHNvY2lhbC1tZWRpYS1saXN0X2ljb24taG92ZXItY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9faXRlbS0tZmIgJiB7XG4gICAgICAgICAgICB3aWR0aDogMC45ZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDEuOGVtO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX2l0ZW0tLXR3ICYge1xuICAgICAgICAgICAgd2lkdGg6IDIuNWVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAyZW07XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9faXRlbS0teXQgJiB7XG4gICAgICAgICAgICB3aWR0aDogMS44ZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDIuMWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX2l0ZW0tLWdwICYge1xuICAgICAgICAgICAgd2lkdGg6IDJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMmVtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMC4xZW07XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLXN0YXItcmF0aW5nIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY3Mtc3Rhci1yYXRpbmdfX3N0YXJzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiA3LjJyZW07XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLmNzLXN0YXItcmF0aW5nLS1zdW1tYXJ5IC5jcy1zdGFyLXJhdGluZ19fc3RhcnMge1xuICAgICAgd2lkdGg6IDEwcmVtO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIC5jcy1zdGFyLXJhdGluZy0tcmV2aWV3IC5jcy1zdGFyLXJhdGluZ19fc3RhcnMge1xuICAgICAgd2lkdGg6IDcuMnJlbTtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNzLXN0YXItcmF0aW5nX19zdGFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZpbGw6ICM2RTZFNkU7IH1cbiAgICAuY3Mtc3Rhci1yYXRpbmdfX3N0YXItLWFjdGl2ZSB7XG4gICAgICBmaWxsOiAjZmNiNzM5OyB9XG4gICAgLmNzLXN0YXItcmF0aW5nX19zdGFyLS1oYWxmLWFjdGl2ZSAuc3Rhci1sZWZ0IHtcbiAgICAgIGZpbGw6ICNmY2I3Mzk7IH1cbiAgICAuY3Mtc3Rhci1yYXRpbmdfX3N0YXItLWhhbGYtYWN0aXZlIC5zdGFyLXJpZ3RoIHtcbiAgICAgIGZpbGw6ICM2RTZFNkU7IH1cbiAgICAuY3Mtc3Rhci1yYXRpbmctLXN1bW1hcnkgLmNzLXN0YXItcmF0aW5nX19zdGFyIHtcbiAgICAgIHdpZHRoOiAycmVtOyB9XG4gICAgICAuaWUxMSAuY3Mtc3Rhci1yYXRpbmctLXN1bW1hcnkgLmNzLXN0YXItcmF0aW5nX19zdGFyIHtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCAycmVtIC8gMS4wNSk7IH1cbiAgICAuY3Mtc3Rhci1yYXRpbmctLXJldmlldyAuY3Mtc3Rhci1yYXRpbmdfX3N0YXIge1xuICAgICAgd2lkdGg6IDEuNXJlbTsgfVxuICAgICAgLmllMTEgLmNzLXN0YXItcmF0aW5nLS1yZXZpZXcgLmNzLXN0YXItcmF0aW5nX19zdGFyIHtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCAxLjVyZW0gLyAxLjA1KTsgfVxuICAgIC5jcy1zdGFyLXJhdGluZ19fc3RhciBwYXRoIHtcbiAgICAgIGZpbGwtb3BhY2l0eTogMTtcbiAgICAgIGZpbGw6IGluaGVyaXQ7IH1cbiAgICAuaWUxMSAuY3Mtc3Rhci1yYXRpbmdfX3N0YXIge1xuICAgICAgaGVpZ2h0OiBjYWxjKCAxLjVyZW0gLyAxLjA1KTsgfVxuICAuY3Mtc3Rhci1yYXRpbmcgaW1nIHtcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAuY3Mtc3Rhci1yYXRpbmdfX2Zvcm0tc3RhcnMge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNzLXN0YXItcmF0aW5nX19mb3JtLXN0YXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgZmlsbDogIzZFNkU2RTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jcy1zdGFyLXJhdGluZ19fZm9ybS1zdGFyLS1hY3RpdmUge1xuICAgICAgZmlsbDogI2ZjYjczOTsgfVxuICAgIC5jcy1zdGFyLXJhdGluZ19fZm9ybS1zdGFyIHBhdGgge1xuICAgICAgZmlsbC1vcGFjaXR5OiAxO1xuICAgICAgZmlsbDogaW5oZXJpdDsgfVxuICAgIC5jcy1zdGFyLXJhdGluZ19fZm9ybS1zdGFyOm50aC1sYXN0LW9mLXR5cGUoKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgLmNzLXN0YXItcmF0aW5nX19mb3JtLXN0YXJzOmhvdmVyIC5jcy1zdGFyLXJhdGluZ19fZm9ybS1zdGFyIHtcbiAgICAgIGZpbGw6ICNmY2I3Mzk7IH1cbiAgICAuY3Mtc3Rhci1yYXRpbmdfX2Zvcm0tc3RhcnMgbGFiZWw6aG92ZXIgfiBsYWJlbCAuY3Mtc3Rhci1yYXRpbmdfX2Zvcm0tc3RhciB7XG4gICAgICBmaWxsOiAjNkU2RTZFOyB9XG4gICAgLmllMTEgLmNzLXN0YXItcmF0aW5nX19mb3JtLXN0YXIge1xuICAgICAgaGVpZ2h0OiBjYWxjKCAycmVtIC8gMS4wNSk7IH1cbiAgLmNzLXN0YXItcmF0aW5nX190ZXh0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICM2OTY5Njk7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygxLjVyZW0gKiAwLjEpOyB9XG4gICAgLmNzLXN0YXItcmF0aW5nX190ZXh0LS1jb3VudDpiZWZvcmUge1xuICAgICAgY29udGVudDogJygnOyB9XG4gICAgLmNzLXN0YXItcmF0aW5nX190ZXh0LS1jb3VudDphZnRlciB7XG4gICAgICBjb250ZW50OiAnKSc7IH1cbiAgLmNzLXN0YXItcmF0aW5nX190ZXh0LWFubm90YXRpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUgLmNzLXN0YXItcmF0aW5nX190ZXh0LWFubm90YXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3Mtc3Rhci1yYXRpbmdfX2xhYmVsIHtcbiAgICBjb2xvcjogIzIxMjEyMTtcbiAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoMS41cmVtICogMC4yKTsgfVxuXG4ucmV2aWV3LWNvbnRyb2wtdm90ZSAucmF0aW5nLTE6YmVmb3JlIHtcbiAgY29udGVudDogbm9uZTsgfVxuXG4ucmV2aWV3LWNvbnRyb2wtdm90ZSAucmF0aW5nLTI6YmVmb3JlIHtcbiAgY29udGVudDogbm9uZTsgfVxuXG4ucmV2aWV3LWNvbnRyb2wtdm90ZSAucmF0aW5nLTM6YmVmb3JlIHtcbiAgY29udGVudDogbm9uZTsgfVxuXG4ucmV2aWV3LWNvbnRyb2wtdm90ZSAucmF0aW5nLTQ6YmVmb3JlIHtcbiAgY29udGVudDogbm9uZTsgfVxuXG4ucmV2aWV3LWNvbnRyb2wtdm90ZSAucmF0aW5nLTU6YmVmb3JlIHtcbiAgY29udGVudDogbm9uZTsgfVxuXG4ucmV2aWV3LWNvbnRyb2wtdm90ZTpiZWZvcmUge1xuICBjb250ZW50OiBub25lOyB9XG5cbi5yZXZpZXctY29udHJvbC12b3RlIGxhYmVsIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgd2lkdGg6IDNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmlldy1jb250cm9sLXZvdGUgbGFiZWwge1xuICAgICAgd2lkdGg6IDIuNnJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNnJlbTsgfSB9XG4gIC5yZXZpZXctY29udHJvbC12b3RlIGxhYmVsOmxhc3QtY2hpbGQge1xuICAgIHdpZHRoOiAycmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuJHN0YXItcmF0aW5nX2NvbG9yLWFjdGl2ZTogJGNvbG9yX3Jldmlldy1hY3RpdmUgIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmdfY29sb3ItaW5hY3RpdmU6ICRjb2xvcl9yZXZpZXctaW5hY3RpdmUgIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmdfZm9ybS1zdGFyLWNvbG9yLWFjdGl2ZTogJGNvbG9yX3Jldmlldy1hY3RpdmUgIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmdfZm9ybS1zdGFyLWNvbG9yLWluYWN0aXZlOiAkY29sb3JfcmV2aWV3LWNvbnRyb2wtaW5hY3RpdmUgIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmdfdGV4dC1jb2xvcjogJGNvbG9yX3RleHQtNTAwICFkZWZhdWx0O1xuLy8gRGV0ZXJtaW5lcyBmbGV4IGp1c3RpZmljYXRpb24gb2Ygc3RhcnNcbiRzdGFyLXJhdGluZ19qdXN0aWZ5OiBzcGFjZS1iZXR3ZWVuICFkZWZhdWx0O1xuLy8gRGV0ZXJtaW5lcyB3aWR0aCBvZiBhIHNpbmdsZSBzdGFyXG4kc3Rhci1yYXRpbmdfc3Rhci13aWR0aC1kZWZhdWx0OiAxLjVyZW0gIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmdfc3Rhci13aWR0aC1yZXZpZXdzLXN1bW1hcnk6IDJyZW0gIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmdfc3Rhci13aWR0aC1yZXZpZXc6IDEuNXJlbSAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19zdGFyLXdpZHRoLXJldmlldy1mb3JtOiAycmVtICFkZWZhdWx0O1xuLy8gRGV0ZXJtaW5lcyB3aWR0aCBvZiByZXZpZXcgc3RhcnMgY29udGFpbmVyXG4kc3Rhci1yYXRpbmdfY29udGFpbmVyLXdpZHRoLWRlZmF1bHQ6IDcuMnJlbSAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19jb250YWluZXItd2lkdGgtcmV2aWV3cy1zdW1tYXJ5OiAxMHJlbSAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19jb250YWluZXItd2lkdGgtcmV2aWV3OiA3LjJyZW0gIWRlZmF1bHQ7XG4vLyBQYWRkaW5nIGZvciByZXZpZXcgZm9ybSBzdGFyc1xuJHN0YXItcmF0aW5nX3N0YXItcGFkZGluZy1yZXZpZXctZm9ybTogMC42cmVtICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX3N0YXItcGFkZGluZy1yZXZpZXctZm9ybS1tb2JpbGU6IDFyZW0gIWRlZmF1bHQ7XG4vLyBEZXRlcm1pbmVzIHBhZGRpbmcgcnVsZXNldFxuJHN0YXItcmF0aW5nX3BhZGRpbmctZGVmYXVsdDogMCAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19wYWRkaW5nLXJldmlld3Mtc3VtbWFyeTogMCAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19wYWRkaW5nLXJldmlldzogMCAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19wYWRkaW5nLXJldmlldy1mb3JtOiAwICFkZWZhdWx0O1xuLy8gRGV0ZXJtaW5lcyBzY29yZSBhbmQgY291bnQgdGV4dGZpZWxkIGRpc3BsYXkgcnVsZXNldFxuJHN0YXItcmF0aW5nX2hpZGUtdGV4dC1wZHA6IGZhbHNlICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX2hpZGUtdGV4dC10aWxlOiBmYWxzZSAhZGVmYXVsdDtcbi8vIERldGVybWluZXMgZGlzcGxheSBydWxlc2V0IGZvciBcInJldmlld1wiIGFubm90YXRpb25cbiRzdGFyLXJhdGluZ19oaWRlLWFubm90YXRpb24tcGRwOiBmYWxzZSAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19oaWRlLWFubm90YXRpb24tdGlsZTogdHJ1ZSAhZGVmYXVsdDtcbi8vIERldGVybWluZXMgcmF0aW5nIGxhYmVsIGRldGFpbHNcbiRzdGFyLXJhdGluZ19sYWJlbC1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX2xhYmVsLWZvbnQtc2l6ZTogMC43NWVtICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX2xhYmVsLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmdfbGFiZWwtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbi8vIERldGVybWluZXMgc3RhciBzdmcgZm9yIGllMTEgaGVpZ2h0IGNhbGN1bGF0aW9uc1xuJHN0YXItcmF0aW5nX3N0YXItYXNwZWN0LXJhdGlvOiAxLjA1ICFkZWZhdWx0O1xuXG4uI3skbnN9c3Rhci1yYXRpbmcge1xuICAgICRyb290OiAmO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICZfX3N0YXJzIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIHBhZGRpbmc6ICRzdGFyLXJhdGluZ19wYWRkaW5nLWRlZmF1bHQ7XG4gICAgICAgIHdpZHRoOiAkc3Rhci1yYXRpbmdfY29udGFpbmVyLXdpZHRoLWRlZmF1bHQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogJHN0YXItcmF0aW5nX2p1c3RpZnk7XG5cbiAgICAgICAgI3skcm9vdH0tLXN1bW1hcnkgJiB7XG4gICAgICAgICAgICB3aWR0aDogJHN0YXItcmF0aW5nX2NvbnRhaW5lci13aWR0aC1yZXZpZXdzLXN1bW1hcnk7XG4gICAgICAgICAgICBwYWRkaW5nOiAkc3Rhci1yYXRpbmdfcGFkZGluZy1yZXZpZXdzLXN1bW1hcnk7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tcmV2aWV3ICYge1xuICAgICAgICAgICAgd2lkdGg6ICRzdGFyLXJhdGluZ19jb250YWluZXItd2lkdGgtcmV2aWV3O1xuICAgICAgICAgICAgcGFkZGluZzogJHN0YXItcmF0aW5nX3BhZGRpbmctcmV2aWV3O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3RhciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiAkc3Rhci1yYXRpbmdfc3Rhci13aWR0aC1kZWZhdWx0O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGZpbGw6ICRzdGFyLXJhdGluZ19jb2xvci1pbmFjdGl2ZTtcblxuICAgICAgICAmLS1hY3RpdmUge1xuICAgICAgICAgICAgZmlsbDogJHN0YXItcmF0aW5nX2NvbG9yLWFjdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWhhbGYtYWN0aXZlIHtcbiAgICAgICAgICAgIC5zdGFyLWxlZnQge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRzdGFyLXJhdGluZ19jb2xvci1hY3RpdmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zdGFyLXJpZ3RoIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkc3Rhci1yYXRpbmdfY29sb3ItaW5hY3RpdmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tc3VtbWFyeSAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAkc3Rhci1yYXRpbmdfc3Rhci13aWR0aC1yZXZpZXdzLXN1bW1hcnk7XG5cbiAgICAgICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYyhcbiAgICAgICAgICAgICAgICAgICAgI3skc3Rhci1yYXRpbmdfc3Rhci13aWR0aC1yZXZpZXdzLXN1bW1hcnl9IC8gI3skc3Rhci1yYXRpbmdfc3Rhci1hc3BlY3QtcmF0aW99XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1yZXZpZXcgJiB7XG4gICAgICAgICAgICB3aWR0aDogJHN0YXItcmF0aW5nX3N0YXItd2lkdGgtcmV2aWV3O1xuXG4gICAgICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoXG4gICAgICAgICAgICAgICAgICAgICN7JHN0YXItcmF0aW5nX3N0YXItd2lkdGgtcmV2aWV3fSAvICN7JHN0YXItcmF0aW5nX3N0YXItYXNwZWN0LXJhdGlvfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgIGZpbGwtb3BhY2l0eTogMTtcbiAgICAgICAgICAgIGZpbGw6IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYyhcbiAgICAgICAgICAgICAgICAjeyRzdGFyLXJhdGluZ19zdGFyLXdpZHRoLWRlZmF1bHR9IC8gI3skc3Rhci1yYXRpbmdfc3Rhci1hc3BlY3QtcmF0aW99XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgd2lkdGg6ICRzdGFyLXJhdGluZ19zdGFyLXdpZHRoLWRlZmF1bHQ7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAmX19mb3JtLXN0YXJzIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIHBhZGRpbmc6ICRzdGFyLXJhdGluZ19wYWRkaW5nLXJldmlldy1mb3JtO1xuICAgIH1cblxuICAgICZfX2Zvcm0tc3RhciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGZpbGw6ICRzdGFyLXJhdGluZ19mb3JtLXN0YXItY29sb3ItaW5hY3RpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICYtLWFjdGl2ZSB7XG4gICAgICAgICAgICBmaWxsOiAkc3Rhci1yYXRpbmdfZm9ybS1zdGFyLWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHBhdGgge1xuICAgICAgICAgICAgZmlsbC1vcGFjaXR5OiAxO1xuICAgICAgICAgICAgZmlsbDogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWxhc3Qtb2YtdHlwZSgpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fZm9ybS1zdGFyczpob3ZlciAmIHtcbiAgICAgICAgICAgIGZpbGw6ICRzdGFyLXJhdGluZ19mb3JtLXN0YXItY29sb3ItYWN0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX2Zvcm0tc3RhcnMgbGFiZWw6aG92ZXIgfiBsYWJlbCAmIHtcbiAgICAgICAgICAgIGZpbGw6ICRzdGFyLXJhdGluZ19mb3JtLXN0YXItY29sb3ItaW5hY3RpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYyhcbiAgICAgICAgICAgICAgICAjeyRzdGFyLXJhdGluZ19zdGFyLXdpZHRoLXJldmlldy1mb3JtfSAvICN7JHN0YXItcmF0aW5nX3N0YXItYXNwZWN0LXJhdGlvfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbG9yOiAkc3Rhci1yYXRpbmdfdGV4dC1jb2xvcjtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKCN7JHN0YXItcmF0aW5nX3N0YXItd2lkdGgtZGVmYXVsdH0gKiAwLjEpO1xuXG4gICAgICAgICYtLWNvdW50IHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnKCc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcpJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkc3Rhci1yYXRpbmdfaGlkZS10ZXh0LXBkcCB7XG4gICAgICAgICAgICAuI3skbnN9YnV5Ym94ICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJHN0YXItcmF0aW5nX2hpZGUtdGV4dC10aWxlIHtcbiAgICAgICAgICAgIC4jeyRuc31wcm9kdWN0LXRpbGUgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQtYW5ub3RhdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcblxuICAgICAgICBAaWYgJHN0YXItcmF0aW5nX2hpZGUtYW5ub3RhdGlvbi1wZHAge1xuICAgICAgICAgICAgLiN7JG5zfWJ1eWJveCAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRzdGFyLXJhdGluZ19oaWRlLWFubm90YXRpb24tdGlsZSB7XG4gICAgICAgICAgICAuI3skbnN9cHJvZHVjdC10aWxlICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICBjb2xvcjogJHN0YXItcmF0aW5nX2xhYmVsLWNvbG9yO1xuICAgICAgICBmb250LXNpemU6ICRzdGFyLXJhdGluZ19sYWJlbC1mb250LXNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkc3Rhci1yYXRpbmdfbGFiZWwtZm9udC13ZWlnaHQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkc3Rhci1yYXRpbmdfbGFiZWwtdGV4dC10cmFuc2Zvcm07XG4gICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKCN7JHN0YXItcmF0aW5nX3N0YXItd2lkdGgtZGVmYXVsdH0gKiAwLjIpO1xuICAgIH1cbn1cblxuLnJldmlldy1jb250cm9sLXZvdGUge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggNSB7XG4gICAgICAgIC5yYXRpbmctI3skaX06YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICB3aWR0aDogJHN0YXItcmF0aW5nX3N0YXItd2lkdGgtcmV2aWV3LWZvcm0gK1xuICAgICAgICAgICAgJHN0YXItcmF0aW5nX3N0YXItcGFkZGluZy1yZXZpZXctZm9ybS1tb2JpbGU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRzdGFyLXJhdGluZ19zdGFyLXBhZGRpbmctcmV2aWV3LWZvcm0tbW9iaWxlO1xuICAgICAgICBsaW5lLWhlaWdodDogMDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICB3aWR0aDogJHN0YXItcmF0aW5nX3N0YXItd2lkdGgtcmV2aWV3LWZvcm0gK1xuICAgICAgICAgICAgICAgICRzdGFyLXJhdGluZ19zdGFyLXBhZGRpbmctcmV2aWV3LWZvcm07XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkc3Rhci1yYXRpbmdfc3Rhci1wYWRkaW5nLXJldmlldy1mb3JtO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHdpZHRoOiAkc3Rhci1yYXRpbmdfc3Rhci13aWR0aC1yZXZpZXctZm9ybTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyczpcbiAqIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKlxuICogMS4gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAqICAgIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICogICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyNMMTMwXG4gKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbltjbGFzc149J3N3YXRjaC1vcHQtJ10ge1xuICBmb250LXNpemU6IDAuNDVlbTtcbiAgbWluLWhlaWdodDogY2FsYyggMSAqICgyLjhlbSArIDhweCkpO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OC4wMWVtKSB7XG4gICAgW2NsYXNzXj0nc3dhdGNoLW9wdC0nXSB7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsgfSB9XG4gIFtjbGFzc149J3N3YXRjaC1vcHQtJ106ZW1wdHkge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmllMTEgW2NsYXNzXj0nc3dhdGNoLW9wdC0nXSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLnN3YXRjaC1vcHQge1xuICBmb250LXNpemU6IDAuOWVtOyB9XG4gIC5zd2F0Y2gtb3B0IC5tYWdlLWVycm9yIHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxMHJlbSArIDEuNXJlbSk7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnN3YXRjaC1vcHQgLm1hZ2UtZXJyb3Ige1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyggMTFyZW0gKyAxLjVyZW0pOyB9IH1cblxuLnN3YXRjaC1hdHRyaWJ1dGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnN3YXRjaC1hdHRyaWJ1dGUuc3dhdGNoLWxheWVyZWQge1xuICAgIGZvbnQtc2l6ZTogMC44ZW07IH1cbiAgLnN3YXRjaC1hdHRyaWJ1dGUgKyAuc3dhdGNoLWF0dHJpYnV0ZSB7XG4gICAgbWFyZ2luLXRvcDogMC44ZW07IH1cblxuLnN3YXRjaC1hdHRyaWJ1dGUtbGFiZWwge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsaW5lLWhlaWdodDogY2FsYyggMi44ZW0gLSA2cHggKyAwLjFlbSk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4xZW07XG4gIHdpZHRoOiAxMHJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc3dhdGNoLWF0dHJpYnV0ZS1sYWJlbCB7XG4gICAgICB3aWR0aDogMTFyZW07IH0gfVxuICAuc3dhdGNoLWF0dHJpYnV0ZS1sYWJlbDphZnRlciB7XG4gICAgY29udGVudDogJzogJztcbiAgICBsaW5lLWhlaWdodDogY2FsYyggMi44ZW0gLSA2cHggKyAwLjFlbSk7IH1cblxuLnN3YXRjaC1hdHRyaWJ1dGUtc2VsZWN0ZWQtb3B0aW9uIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIC8qIDEgKi8gfVxuXG4uc3dhdGNoLWF0dHJpYnV0ZS1vcHRpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tbGVmdDogLTAuMmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC40ZW07XG4gIG1pbi13aWR0aDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLnN3YXRjaC1hdHRyaWJ1dGUtb3B0aW9uczpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAuc3dhdGNoLW9wdCAuc3dhdGNoLWF0dHJpYnV0ZS1vcHRpb25zIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1heC13aWR0aDogY2FsYyggMTAwJSAtIDEuNXJlbSAtIDEwcmVtKTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc3dhdGNoLW9wdCAuc3dhdGNoLWF0dHJpYnV0ZS1vcHRpb25zIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKCAxMDAlIC0gMS41cmVtIC0gMTFyZW0pOyB9IH1cblxuLnN3YXRjaC1vcHRpb24tbGluay1sYXllcmVkIHtcbiAgZm9udC1zaXplOiAxZW07IH1cbiAgLnN3YXRjaC1vcHRpb24tbGluay1sYXllcmVkOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnN3YXRjaC1vcHRpb24ge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi13aWR0aDogMy4yZW07XG4gIGhlaWdodDogMi44ZW07XG4gIHBhZGRpbmc6IDAgMC4zNWVtO1xuICBtYXJnaW46IDFweCBjYWxjKCAxcHggKyAwLjJlbSkgY2FsYygxcHggKyAwLjRlbSk7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbiAgYm9yZGVyOiAzcHggc29saWQgI2YwZjBmMDtcbiAgY29sb3I6ICM2OTY5Njk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoIDIuOGVtIC0gNnB4ICsgMC4xZW0pO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcywgYm9yZGVyLWNvbG9yIDAuM3MsIG9wYWNpdHkgMC4zcywgY29sb3IgMC4zcztcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuc3dhdGNoLW9wdGlvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC00cHg7XG4gICAgbGVmdDogLTRweDtcbiAgICByaWdodDogLTRweDtcbiAgICBib3R0b206IC00cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuM3M7IH1cbiAgLnN3YXRjaC1vcHRpb246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbnMvc3dhdGNoZXMvZGlzYWJsZWQuc3ZnKSByZ2JhKDIyMCwgMjIwLCAyMjAsIDAuNSkgY2VudGVyIG5vLXJlcGVhdDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB3aWR0aDogY2FsYygyLjhlbSAtIDEuNGVtKTtcbiAgICBoZWlnaHQ6IGNhbGMoMi44ZW0gLSAxLjRlbSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAwLjZlbTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuc3dhdGNoLW9wdGlvbjpub3QoLmRpc2FibGVkKTpub3QoLnNlbGVjdGVkKTpub3QoW2Rpc2FibGVkXSk6aG92ZXIge1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICAgIC5zd2F0Y2gtb3B0aW9uOm5vdCguZGlzYWJsZWQpOm5vdCguc2VsZWN0ZWQpOm5vdChbZGlzYWJsZWRdKTpob3ZlcjpiZWZvcmUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0ZGNDYwNDsgfVxuICAuc3dhdGNoLW9wdGlvbi5zZWxlY3RlZCB7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG4gICAgLnN3YXRjaC1vcHRpb24uc2VsZWN0ZWQ6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRjc0NDI7IH1cbiAgLnN3YXRjaC1vcHRpb24uZGlzYWJsZWQsIC5zd2F0Y2gtb3B0aW9uW2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5zd2F0Y2gtb3B0aW9uLmRpc2FibGVkLnRleHQsIC5zd2F0Y2gtb3B0aW9uW2Rpc2FibGVkXS50ZXh0IHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjb2xvcjogIzNFM0UzRTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cbiAgICAgIC5zd2F0Y2gtb3B0aW9uLmRpc2FibGVkLnRleHQ6YmVmb3JlLCAuc3dhdGNoLW9wdGlvbltkaXNhYmxlZF0udGV4dDpiZWZvcmUge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjOyB9XG4gICAgLnN3YXRjaC1vcHRpb24uZGlzYWJsZWQuaW1hZ2U6YWZ0ZXIsIC5zd2F0Y2gtb3B0aW9uLmRpc2FibGVkLmNvbG9yOmFmdGVyLCAuc3dhdGNoLW9wdGlvbltkaXNhYmxlZF0uaW1hZ2U6YWZ0ZXIsIC5zd2F0Y2gtb3B0aW9uW2Rpc2FibGVkXS5jb2xvcjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG5cbi5zd2F0Y2gtaW5wdXQge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgLyogMSAqL1xuICBsZWZ0OiAtMTAwMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc3dhdGNoLW1vcmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2F0Y2gtb3B0aW9uLXRvb2x0aXAsXG4uc3dhdGNoLW9wdGlvbi10b29sdGlwLWxheWVyZWQge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgei1pbmRleDogOTk5O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gIGNvbG9yOiAjM0UzRTNFO1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgcGFkZGluZzogMC41cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1pbi13aWR0aDogMnJlbTtcbiAgYm9yZGVyOiAwLjFyZW0gc29saWQgI2RjZGNkYzsgfVxuICAuc3dhdGNoLW9wdGlvbi10b29sdGlwIC5pbWFnZSxcbiAgLnN3YXRjaC1vcHRpb24tdG9vbHRpcC1sYXllcmVkIC5pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDExMHB4O1xuICAgIGhlaWdodDogMTEwcHg7IH1cbiAgLnN3YXRjaC1vcHRpb24tdG9vbHRpcCAuY29ybmVyOmFmdGVyLFxuICAuc3dhdGNoLW9wdGlvbi10b29sdGlwLWxheWVyZWQgLmNvcm5lcjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgYm9yZGVyLWJvdHRvbTogMC4xcmVtIHNvbGlkICNkY2RjZGM7XG4gICAgYm9yZGVyLXJpZ2h0OiAwLjFyZW0gc29saWQgI2RjZGNkYztcbiAgICBtYXJnaW4tdG9wOiBjYWxjKCAtMC41cmVtICsgMC4xcmVtKTsgfVxuXG4uc3dhdGNoLW9wdGlvbi10b29sdGlwIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndXRpbHMvdmlzdWFsbHktaGlkZGVuJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdldGMvdmlldy5zY3NzJztcbkBpbXBvcnQgJ3V0aWxzL2RlZXAtZ2V0L2RlZXAtZ2V0LnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuXG4kc3dhdGNoZXMtLWNsaWNrYWJsZTogZGVlcC1nZXQoXG4gICAgJHZpZXcteG1sLFxuICAgIHZhcnMsXG4gICAgTWFnZW50b19DYXRhbG9nLFxuICAgIGNvbmZpZ3VyYWJsZV90aWxlX3N3YXRjaGVzLFxuICAgIGVuYWJsZWRcbikgIWRlZmF1bHQ7XG5cbi8vIEtlZXAgaW4gc3luYyB3aXRoIHF1YW50aXR5IHdyYXBwZXIgaW4gYnV5Ym94LlxuJHN3YXRjaGVzX2xhYmVsLXdpZHRoOiAxMHJlbSAhZGVmYXVsdDtcbiRzd2F0Y2hlc19sYWJlbC13aWR0aC1sYXB0b3AtdXA6IDExcmVtICFkZWZhdWx0O1xuJHN3YXRjaGVzX2xhYmVsLWd1dHRlcjogMS41cmVtICFkZWZhdWx0O1xuJHN3YXRjaGVzX2xhYmVsLWZvbnQtc2l6ZTogMS4xZW0gIWRlZmF1bHQ7XG4vLyBLZWVwIGluIHN5bmMgd2lkdGggcXVhbnRpdHkgd3JhcHBlciBpbiBidXlib3ggZW5kLlxuXG4vLyBTY2VuYXJpbyB3aXRoIHN3YXRjaGVzIGJlbG93IGxhYmVsLCB3aGljaCBpcyAxMDAlIHdpZGVcbi8vIHdpdGggdGhpcyB2YXJpYWJsZSBzZXQgdG8gdHJ1ZSAkc3dhdGNoZXNfbGFiZWwtd2lkdGhcbi8vIGFuZCAkc3dhdGNoZXNfbGFiZWwtd2lkdGgtbGFwdG9wLXVwIHdpbGwgYmUgb3ZlcnJpZGVuIC0gYWx3YXlzIDEwMCUgd2lkdGhcbiRzd2F0Y2hlc19mdWxsLXdpZHRoLWxhYmVsOiBmYWxzZSAhZGVmYXVsdDtcblxuJHN3YXRjaGVzX2Rpc2FibGUtc2hvdy1tb3JlOiB0cnVlICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC1ndXR0ZXI6IDAuNGVtICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC1oZWlnaHQ6IDIuOGVtICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC13aWR0aDogMy4yZW0gIWRlZmF1bHQ7XG4kc3dhdGNoZXNfc3dhdGNoLXBhZGRpbmc6IDAgMC4zNWVtICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC1jb2xvcjogJGNvbG9yX3RleHQtNTAwICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC10ZXh0LW9mZnNldDogMC4xZW0gIWRlZmF1bHQ7XG5cbiRzd2F0Y2hlc19zd2F0Y2gtYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtNTAwICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC0taG92ZXItYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC0tc2VsZWN0ZWQtYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuXG4kc3dhdGNoZXNfc3dhdGNoLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2UgIWRlZmF1bHQ7XG4kc3dhdGNoZXNfc3dhdGNoLWJvcmRlci13aWR0aDogM3B4ICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC1ib3JkZXI6ICRzd2F0Y2hlc19zd2F0Y2gtYm9yZGVyLXdpZHRoIHNvbGlkXG4gICAgJHN3YXRjaGVzX3N3YXRjaC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC0taG92ZXItYm9yZGVyOiAkc3dhdGNoZXNfc3dhdGNoLWJvcmRlci13aWR0aCBzb2xpZFxuICAgICRzd2F0Y2hlc19zd2F0Y2gtLWhvdmVyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc3dhdGNoZXNfc3dhdGNoLS1zZWxlY3RlZC1ib3JkZXI6ICRzd2F0Y2hlc19zd2F0Y2gtYm9yZGVyLXdpZHRoIHNvbGlkXG4gICAgJHN3YXRjaGVzX3N3YXRjaC0tc2VsZWN0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHN3YXRjaGVzX3N3YXRjaC0tdGV4dC1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kc3dhdGNoZXNfc3dhdGNoLS10ZXh0LWRpc2FibGVkLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC0tdGV4dC1kaXNhYmxlZC1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC0tdGV4dC1vcGFjaXR5OiAwLjY1ICFkZWZhdWx0O1xuXG4kc3dhdGNoZXNfc3dhdGNoLW91dGxpbmUtd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtb3V0bGluZS1vZmZzZXQ6IChcbiAgICAkc3dhdGNoZXNfc3dhdGNoLWJvcmRlci13aWR0aCArICRzd2F0Y2hlc19zd2F0Y2gtb3V0bGluZS13aWR0aFxuKSAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtb3V0bGluZTogJHN3YXRjaGVzX3N3YXRjaC1vdXRsaW5lLXdpZHRoIHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC0taG92ZXItb3V0bGluZTogJHN3YXRjaGVzX3N3YXRjaC1vdXRsaW5lLXdpZHRoIHNvbGlkXG4gICAgJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC0tc2VsZWN0ZWQtb3V0bGluZTogJHN3YXRjaGVzX3N3YXRjaC1vdXRsaW5lLXdpZHRoIHNvbGlkXG4gICAgJGNvbG9yX3ByaW1hcnktODAwICFkZWZhdWx0O1xuXG4kc3dhdGNoZXNfcm93cy1ndXR0ZXI6ICRzd2F0Y2hlc19zd2F0Y2gtZ3V0dGVyICogMiAhZGVmYXVsdDtcblxuJHN3YXRjaGVzLS10aWxlX2ZvbnQtc2l6ZTogMC40NWVtICFkZWZhdWx0O1xuLy8gVGVsbHMgaG93IG1hbnkgcm93cyBvZiBzd2F0Y2hlcyB3aWxsIGJlIGRpc3BsYXllZCBpbnNpZGUgdGlsZSBjb21wb25lbnQuXG4kc3dhdGNoZXMtLXRpbGVfbnVtLW9mLXJvd3M6IDEgIWRlZmF1bHQ7XG4vLyBDYWxjdWxhdGVzIGhvdyBtdWNoIHNwYWNlIHNob3VsZCBiZSByZXNlcnZlZCBpbiB0aWxlIGZvciBzd2F0Y2hlcyB0byBwcmV2ZW50IGNvbnRlbnQgZnJvbSBqdW1waW5nLlxuJHN3YXRjaGVzLS10aWxlX21pbi1oZWlnaHQ6IGNhbGMoXG4gICAgI3skc3dhdGNoZXMtLXRpbGVfbnVtLW9mLXJvd3N9ICogKCN7JHN3YXRjaGVzX3N3YXRjaC1oZWlnaHR9ICsgI3skc3dhdGNoZXNfc3dhdGNoLW91dGxpbmUtb2Zmc2V0ICpcbiAgICAgICAgICAgICAgICAyfSlcbik7XG4kc3dhdGNoZXMtLXBkcF9mb250LXNpemU6IDAuOWVtICFkZWZhdWx0O1xuJHN3YXRjaGVzLS1maWx0ZXJzX2ZvbnQtc2l6ZTogMC44ZW0gIWRlZmF1bHQ7XG5cbi8vIFRvb2x0aXBzIGZvciBzd2F0Y2hlc1xuJHN3YXRjaGVzX3Rvb2x0aXAtYmFja2dyb3VuZDogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLXJhZGl1czogMC41cmVtICFkZWZhdWx0O1xuJHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLXNpemU6IDAuMXJlbSAhZGVmYXVsdDtcbiRzd2F0Y2hlc190b29sdGlwLWJvcmRlci1jb2xvcjogJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kc3dhdGNoZXNfdG9vbHRpcC1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJHN3YXRjaGVzX3Rvb2x0aXAtZm9udC1zaXplOiAxLjNyZW0gIWRlZmF1bHQ7XG4kc3dhdGNoZXNfdG9vbHRpcC1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xuJHN3YXRjaGVzX3Rvb2x0aXAtbWFyZ2luOiAwICFkZWZhdWx0O1xuJHN3YXRjaGVzX3Rvb2x0aXAtcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuJHN3YXRjaGVzX3Rvb2x0aXAtbWluLXdpZHRoOiAycmVtICFkZWZhdWx0O1xuJHN3YXRjaGVzX3Rvb2x0aXAtYXJyb3ctc2hvdzogdHJ1ZSAhZGVmYXVsdDtcbiRzd2F0Y2hlc190b29sdGlwLWFycm93LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG4kc3dhdGNoZXNfdG9vbHRpcC1hcnJvdy1vZmZzZXQteDogNTAlICFkZWZhdWx0O1xuJHN3YXRjaGVzX3Rvb2x0aXAtdGV4dC1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuXG4kc3dhdGNoZXNfdG9vbHRpcC10aHVtYm5haWwtZGF0YTogZGVlcC1nZXQoXG4gICAgJHZpZXcteG1sLFxuICAgIG1lZGlhLFxuICAgIGltYWdlcyxcbiAgICBpbWFnZSxcbiAgICBzd2F0Y2hfdGh1bWJcbikgIWRlZmF1bHQ7XG5cbiRzd2F0Y2hlc190b29sdGlwLXRodW1ibmFpbC13aWR0aDogI3ttYXAtZ2V0KFxuICAgICAgICAkc3dhdGNoZXNfdG9vbHRpcC10aHVtYm5haWwtZGF0YSxcbiAgICAgICAgd2lkdGhcbiAgICApfSAhZGVmYXVsdDtcbiRzd2F0Y2hlc190b29sdGlwLXRodW1ibmFpbC1oZWlnaHQ6ICN7bWFwLWdldChcbiAgICAgICAgJHN3YXRjaGVzX3Rvb2x0aXAtdGh1bWJuYWlsLWRhdGEsXG4gICAgICAgIGhlaWdodFxuICAgICl9ICFkZWZhdWx0O1xuXG4vLyBDb250YWluZXIgc2VsZWN0b3IgZm9yIHN3YXRjaGVzIGluIHRpbGUgYW5kIGRhaWx5IGRlYWwgdGVhc2VyLlxuW2NsYXNzXj0nc3dhdGNoLW9wdC0nXSB7XG4gICAgZm9udC1zaXplOiAkc3dhdGNoZXMtLXRpbGVfZm9udC1zaXplO1xuICAgIG1pbi1oZWlnaHQ6ICRzd2F0Y2hlcy0tdGlsZV9taW4taGVpZ2h0O1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgQGlmICRzd2F0Y2hlcy0tY2xpY2thYmxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6ZW1wdHkge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIC8vIElFIG5lZWRzIHRvIGhhdmUgd2lkdGggc2V0IGV4cGxpY2l0bHlcbiAgICAuaWUxMSAmIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4vLyBDb250YWluZXIgc2VsZWN0b3IgZm9yIHN3YXRjaGVzIG9uIFBEUFxuLnN3YXRjaC1vcHQge1xuICAgIGZvbnQtc2l6ZTogJHN3YXRjaGVzLS1wZHBfZm9udC1zaXplO1xuXG4gICAgLy8gU2VsZWN0b3IgZm9yIGVycm9yIGNvbnRhaW5lciB3aGVuIHN3YXRjaGVzIGFyZSByZXF1aXJlZCBidXQgbm90IHNlbGVjdGVkLlxuICAgIC5tYWdlLWVycm9yIHtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygjeyRzd2F0Y2hlc19sYWJlbC13aWR0aH0gKyAjeyRzd2F0Y2hlc19sYWJlbC1ndXR0ZXJ9KTtcblxuICAgICAgICBAaWYgKCRzd2F0Y2hlc19mdWxsLXdpZHRoLWxhYmVsID09IHRydWUpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoXG4gICAgICAgICAgICAgICAgI3skc3dhdGNoZXNfbGFiZWwtd2lkdGgtbGFwdG9wLXVwfSArICN7JHN3YXRjaGVzX2xhYmVsLWd1dHRlcn1cbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIEBpZiAoJHN3YXRjaGVzX2Z1bGwtd2lkdGgtbGFiZWwgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc3dhdGNoLWF0dHJpYnV0ZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAvLyBUaGUgb25seSBzZWxlY3RvciB3ZSBoYXZlIHRvIHRlbGwgdGhhdCBzd2F0Y2hlcyBhcmUgaW5zaWRlIGFmdGVyc2VhcmNoIG5hdmlnYXRpb24uXG4gICAgJi5zd2F0Y2gtbGF5ZXJlZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHN3YXRjaGVzLS1maWx0ZXJzX2ZvbnQtc2l6ZTtcbiAgICB9XG5cbiAgICAmICsgJiB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRzd2F0Y2hlc19yb3dzLWd1dHRlcjtcbiAgICB9XG59XG5cbi5zd2F0Y2gtYXR0cmlidXRlLWxhYmVsIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiBjYWxjKFxuICAgICAgICAjeyRzd2F0Y2hlc19zd2F0Y2gtaGVpZ2h0fSAtICN7JHN3YXRjaGVzX3N3YXRjaC1ib3JkZXItd2lkdGggKiAyfSArICN7JHN3YXRjaGVzX3N3YXRjaC10ZXh0LW9mZnNldH1cbiAgICApO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAkc3dhdGNoZXNfbGFiZWwtZm9udC1zaXplO1xuICAgIHdpZHRoOiAkc3dhdGNoZXNfbGFiZWwtd2lkdGg7XG4gICAgbWFyZ2luLXJpZ2h0OiAkc3dhdGNoZXNfbGFiZWwtZ3V0dGVyO1xuXG4gICAgQGlmICgkc3dhdGNoZXNfZnVsbC13aWR0aC1sYWJlbCA9PSB0cnVlKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgd2lkdGg6ICRzd2F0Y2hlc19sYWJlbC13aWR0aC1sYXB0b3AtdXA7XG5cbiAgICAgICAgQGlmICgkc3dhdGNoZXNfZnVsbC13aWR0aC1sYWJlbCA9PSB0cnVlKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnOiAnO1xuICAgICAgICBsaW5lLWhlaWdodDogY2FsYyhcbiAgICAgICAgICAgICN7JHN3YXRjaGVzX3N3YXRjaC1oZWlnaHR9IC0gI3skc3dhdGNoZXNfc3dhdGNoLWJvcmRlci13aWR0aCAqIDJ9ICtcbiAgICAgICAgICAgICAgICAjeyRzd2F0Y2hlc19zd2F0Y2gtdGV4dC1vZmZzZXR9XG4gICAgICAgICk7XG4gICAgfVxufVxuXG4uc3dhdGNoLWF0dHJpYnV0ZS1zZWxlY3RlZC1vcHRpb24ge1xuICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xufVxuXG4uc3dhdGNoLWF0dHJpYnV0ZS1vcHRpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW4tbGVmdDogLSN7JHN3YXRjaGVzX3N3YXRjaC1ndXR0ZXIgLyAyfTtcbiAgICBtYXJnaW4tYm90dG9tOiAtI3skc3dhdGNoZXNfc3dhdGNoLWd1dHRlcn07XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuXG4gICAgLnN3YXRjaC1vcHQgJiB7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoXG4gICAgICAgICAgICAxMDAlIC0gI3skc3dhdGNoZXNfbGFiZWwtZ3V0dGVyfSAtICN7JHN3YXRjaGVzX2xhYmVsLXdpZHRofVxuICAgICAgICApO1xuXG4gICAgICAgIEBpZiAoJHN3YXRjaGVzX2Z1bGwtd2lkdGgtbGFiZWwgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKFxuICAgICAgICAgICAgICAgIDEwMCUgLSAjeyRzd2F0Y2hlc19sYWJlbC1ndXR0ZXJ9IC0gI3skc3dhdGNoZXNfbGFiZWwtd2lkdGgtbGFwdG9wLXVwfVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgQGlmICgkc3dhdGNoZXNfZnVsbC13aWR0aC1sYWJlbCA9PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBFbGVtZW50IGFkZGVkIGFzIGEgcGFyZW50IG9mIC5zd2F0Y2gtb3B0aW9uIGluIGZpbHRlcnMuXG4uc3dhdGNoLW9wdGlvbi1saW5rLWxheWVyZWQge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG59XG5cbi5zd2F0Y2gtb3B0aW9uIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4td2lkdGg6ICRzd2F0Y2hlc19zd2F0Y2gtd2lkdGg7XG4gICAgaGVpZ2h0OiAkc3dhdGNoZXNfc3dhdGNoLWhlaWdodDtcbiAgICBwYWRkaW5nOiAkc3dhdGNoZXNfc3dhdGNoLXBhZGRpbmc7XG4gICAgbWFyZ2luOiAjeyRzd2F0Y2hlc19zd2F0Y2gtb3V0bGluZS13aWR0aH0gY2FsYyhcbiAgICAgICAgICAgICN7JHN3YXRjaGVzX3N3YXRjaC1vdXRsaW5lLXdpZHRofSArICN7JHN3YXRjaGVzX3N3YXRjaC1ndXR0ZXIgLyAyfVxuICAgICAgICApIGNhbGMoI3skc3dhdGNoZXNfc3dhdGNoLW91dGxpbmUtd2lkdGh9ICsgI3skc3dhdGNoZXNfc3dhdGNoLWd1dHRlcn0pO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2F0Y2hlc19zd2F0Y2gtYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3dhdGNoZXNfc3dhdGNoLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAkc3dhdGNoZXNfc3dhdGNoLWJvcmRlcjtcbiAgICBjb2xvcjogJHN3YXRjaGVzX3N3YXRjaC1jb2xvcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IGNhbGMoXG4gICAgICAgICN7JHN3YXRjaGVzX3N3YXRjaC1oZWlnaHR9IC0gI3skc3dhdGNoZXNfc3dhdGNoLWJvcmRlci13aWR0aCAqIDJ9ICsgI3skc3dhdGNoZXNfc3dhdGNoLXRleHQtb2Zmc2V0fVxuICAgICk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcywgYm9yZGVyLWNvbG9yIDAuM3MsIG9wYWNpdHkgMC4zcyxcbiAgICAgICAgY29sb3IgMC4zcztcblxuICAgIEBpZiAkc3dhdGNoZXNfZGlzYWJsZS1zaG93LW1vcmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtJHN3YXRjaGVzX3N3YXRjaC1vdXRsaW5lLW9mZnNldDtcbiAgICAgICAgbGVmdDogLSRzd2F0Y2hlc19zd2F0Y2gtb3V0bGluZS1vZmZzZXQ7XG4gICAgICAgIHJpZ2h0OiAtJHN3YXRjaGVzX3N3YXRjaC1vdXRsaW5lLW9mZnNldDtcbiAgICAgICAgYm90dG9tOiAtJHN3YXRjaGVzX3N3YXRjaC1vdXRsaW5lLW9mZnNldDtcbiAgICAgICAgYm9yZGVyOiAkc3dhdGNoZXNfc3dhdGNoLW91dGxpbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzd2F0Y2hlc19zd2F0Y2gtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuM3M7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29ucy9zd2F0Y2hlcy9kaXNhYmxlZC5zdmcpXG4gICAgICAgICAgICByZ2JhKCRjb2xvcl9iYWNrZ3JvdW5kLTYwMCwgMC41KSBjZW50ZXIgbm8tcmVwZWF0O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoI3skc3dhdGNoZXNfc3dhdGNoLWhlaWdodH0gLSAxLjRlbSk7XG4gICAgICAgIGhlaWdodDogY2FsYygjeyRzd2F0Y2hlc19zd2F0Y2gtaGVpZ2h0fSAtIDEuNGVtKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAwLjZlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgICY6bm90KC5kaXNhYmxlZCk6bm90KC5zZWxlY3RlZCk6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXI6ICRzd2F0Y2hlc19zd2F0Y2gtLWhvdmVyLWJvcmRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzd2F0Y2hlc19zd2F0Y2gtLWhvdmVyLWJhY2tncm91bmQ7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6ICRzd2F0Y2hlc19zd2F0Y2gtLWhvdmVyLW91dGxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNlbGVjdGVkIHtcbiAgICAgICAgYm9yZGVyOiAkc3dhdGNoZXNfc3dhdGNoLS1zZWxlY3RlZC1ib3JkZXI7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzd2F0Y2hlc19zd2F0Y2gtLXNlbGVjdGVkLWJhY2tncm91bmQ7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyOiAkc3dhdGNoZXNfc3dhdGNoLS1zZWxlY3RlZC1vdXRsaW5lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAgICAgJi50ZXh0IHtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRzd2F0Y2hlc19zd2F0Y2gtLXRleHQtb3BhY2l0eTtcbiAgICAgICAgICAgIGNvbG9yOiAkc3dhdGNoZXNfc3dhdGNoLS10ZXh0LWRpc2FibGVkLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHN3YXRjaGVzX3N3YXRjaC0tdGV4dC1kaXNhYmxlZC1iYWNrZ3JvdW5kO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAkc3dhdGNoZXNfc3dhdGNoLS10ZXh0LWRpc2FibGVkLWJvcmRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaW1hZ2UsXG4gICAgICAgICYuY29sb3Ige1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnN3YXRjaC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG5cbiAgICAvLyBSZXN0b3JlIG9yaWdpbmFsIHN0eWxlcyBmcm9tIE1hZ2VudG8uXG4gICAgLy8gSXQgcHJldmVudHMga2V5Ym9hcmQgb24gbW9iaWxlIHRvIGJlIHNob3duIGFmdGVyIHN3YXRjaCBpcyBjbGlja2VkXG4gICAgbGVmdDogLTEwMDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc3dhdGNoLW1vcmUge1xuICAgIEBpZiAkc3dhdGNoZXNfZGlzYWJsZS1zaG93LW1vcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLnN3YXRjaC1vcHRpb24tdG9vbHRpcCxcbi5zd2F0Y2gtb3B0aW9uLXRvb2x0aXAtbGF5ZXJlZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luOiAkc3dhdGNoZXNfdG9vbHRpcC1tYXJnaW47XG4gICAgei1pbmRleDogOTk5O1xuICAgIGJhY2tncm91bmQ6ICRzd2F0Y2hlc190b29sdGlwLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLXJhZGl1cztcbiAgICBjb2xvcjogJHN3YXRjaGVzX3Rvb2x0aXAtY29sb3I7XG4gICAgZm9udC1zaXplOiAkc3dhdGNoZXNfdG9vbHRpcC1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRzd2F0Y2hlc190b29sdGlwLWZvbnQtd2VpZ2h0O1xuICAgIHBhZGRpbmc6ICRzd2F0Y2hlc190b29sdGlwLXBhZGRpbmc7XG4gICAgdGV4dC1hbGlnbjogJHN3YXRjaGVzX3Rvb2x0aXAtdGV4dC1hbGlnbjtcbiAgICBtaW4td2lkdGg6ICRzd2F0Y2hlc190b29sdGlwLW1pbi13aWR0aDtcblxuICAgIEBpZiAoXG4gICAgICAgICRzd2F0Y2hlc190b29sdGlwLWJvcmRlci1zaXplICE9XG4gICAgICAgICAgICAwIGFuZFxuICAgICAgICAgICAgJHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLXNpemUgIT1cbiAgICAgICAgICAgICdub25lJ1xuICAgICkge1xuICAgICAgICBib3JkZXI6ICRzd2F0Y2hlc190b29sdGlwLWJvcmRlci1zaXplXG4gICAgICAgICAgICBzb2xpZFxuICAgICAgICAgICAgJHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC5pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgd2lkdGg6ICRzd2F0Y2hlc190b29sdGlwLXRodW1ibmFpbC13aWR0aCArICdweCc7XG4gICAgICAgIGhlaWdodDogJHN3YXRjaGVzX3Rvb2x0aXAtdGh1bWJuYWlsLWhlaWdodCArICdweCc7XG4gICAgfVxuXG4gICAgLmNvcm5lciB7XG4gICAgICAgIEBpZiAoJHN3YXRjaGVzX3Rvb2x0aXAtYXJyb3ctc2hvdykge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogJHN3YXRjaGVzX3Rvb2x0aXAtYXJyb3ctc2l6ZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRzd2F0Y2hlc190b29sdGlwLWFycm93LXNpemU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHN3YXRjaGVzX3Rvb2x0aXAtYmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAkc3dhdGNoZXNfdG9vbHRpcC1hcnJvdy1vZmZzZXQteDtcbiAgICAgICAgICAgICAgICBAaWYgKHVuaXQoJHN3YXRjaGVzX3Rvb2x0aXAtYXJyb3ctb2Zmc2V0LXgpID09ICclJykge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSN7JHN3YXRjaGVzX3Rvb2x0aXAtYXJyb3ctb2Zmc2V0LXh9KVxuICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAgICAgICAgICRzd2F0Y2hlc190b29sdGlwLWJvcmRlci1zaXplICE9XG4gICAgICAgICAgICAgICAgICAgICAgICAwIGFuZFxuICAgICAgICAgICAgICAgICAgICAgICAgJHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLXNpemUgIT1cbiAgICAgICAgICAgICAgICAgICAgICAgICdub25lJ1xuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAkc3dhdGNoZXNfdG9vbHRpcC1ib3JkZXItc2l6ZVxuICAgICAgICAgICAgICAgICAgICAgICAgc29saWRcbiAgICAgICAgICAgICAgICAgICAgICAgICRzd2F0Y2hlc190b29sdGlwLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAkc3dhdGNoZXNfdG9vbHRpcC1ib3JkZXItc2l6ZVxuICAgICAgICAgICAgICAgICAgICAgICAgc29saWRcbiAgICAgICAgICAgICAgICAgICAgICAgICRzd2F0Y2hlc190b29sdGlwLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGVcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogY2FsYyhcbiAgICAgICAgICAgICAgICAgICAgICAgIC0jeyRzd2F0Y2hlc190b29sdGlwLWFycm93LXNpemUgL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDJ9ICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjeyRzd2F0Y2hlc190b29sdGlwLWJvcmRlci1zaXplfVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtI3skc3dhdGNoZXNfdG9vbHRpcC1hcnJvdy1zaXplIC8gMn07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnN3YXRjaC1vcHRpb24tdG9vbHRpcCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogUmVtb3ZlIGJyb3dzZXIncyBtYXJnaW5zLCBwYWRkaW5ncyBhbmQgbGlzdCBzdHlsZSBydWxlc1xuICovXG4uY3MtdGlsZS1nYWxsZXJ5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDQ7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiBhdXRvO1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtdGlsZS1nYWxsZXJ5IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAudG91Y2gtZGV2aWNlIC5jcy10aWxlLWdhbGxlcnkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1wcm9kdWN0LXRpbGU6aG92ZXIgLmNzLXRpbGUtZ2FsbGVyeS5hY3RpdmUge1xuICAgICAgb3BhY2l0eTogMTsgfSB9XG4gIC5jcy10aWxlLWdhbGxlcnlfX2l0ZW0ge1xuICAgIG1hcmdpbjogMCAwLjNyZW0gMCAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5jcy10aWxlLWdhbGxlcnlfX3RodW1ibmFpbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDRyZW07XG4gICAgaGVpZ2h0OiA0cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM2RTZFNkU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGxpbmVhcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvdGlsZS1nYWxsZXJ5L3RpbGUtZ2FsbGVyeS1zcGlubmVyLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5jcy10aWxlLWdhbGxlcnlfX2l0ZW0tLWFjdGl2ZSAuY3MtdGlsZS1nYWxsZXJ5X190aHVtYm5haWwge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjRkY3NDQyOyB9XG4gICAgLmNzLXRpbGUtZ2FsbGVyeV9fdGh1bWJuYWlsID4gc291cmNlLFxuICAgIC5jcy10aWxlLWdhbGxlcnlfX3RodW1ibmFpbCA+IGltZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG5cbi5jcy1wcm9kdWN0LXRpbGVfX2ltYWdlLS1hbmltYXRhYmxlIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgyLjUpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBjdWJpYy1iZXppZXIoMCwgMC42NiwgMC4zMiwgMC45OSksIG9wYWNpdHkgMC40NXMgbGluZWFyOyB9XG5cbi5jcy1wcm9kdWN0LXRpbGVfX2ltYWdlLS1hbmltYXRlIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5cbiR0aWxlLWdhbGxlcnlfcG9zdGlvbi1sZWZ0OiAwICFkZWZhdWx0O1xuJHRpbGUtZ2FsbGVyeV9wb3N0aW9uLXJpZ2h0OiBhdXRvICFkZWZhdWx0O1xuJHRpbGUtZ2FsbGVyeV9wb3N0aW9uLXRvcDogYXV0byAhZGVmYXVsdDtcbiR0aWxlLWdhbGxlcnlfcG9zdGlvbi1ib3R0b206IDAgIWRlZmF1bHQ7XG4kdGlsZS1nYWxsZXJ5X3ppbmRleDogNCAhZGVmYXVsdDtcbiR0aWxlLWdhbGxlcnlfdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbiR0aWxlLWdhbGxlcnlfaXRlbS1ib3JkZXItY29sb3I6ICRjb2xvcl9ib3JkZXItNzAwICFkZWZhdWx0O1xuJHRpbGUtZ2FsbGVyeV9pdGVtLS1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkY29sb3JfcHJpbWFyeS04MDAgIWRlZmF1bHQ7XG4kdGlsZS1nYWxsZXJ5X2l0ZW0tYm9yZGVyOiAxcHggc29saWQgJHRpbGUtZ2FsbGVyeV9pdGVtLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiR0aWxlLWdhbGxlcnlfaXRlbS10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuXG4kdGlsZS1nYWxsZXJ5X3RodW1ibmFpbC13aWR0aDogNHJlbSAhZGVmYXVsdDtcbiR0aWxlLWdhbGxlcnlfdGh1bWJuYWlsLWhlaWdodDogNHJlbSAhZGVmYXVsdDtcblxuJHRpbGUtZ2FsbGVyeV9zcGlubmVyLWltYWdlLXVybDogJy4uL2ltYWdlcy9pY29ucy90aWxlLWdhbGxlcnkvdGlsZS1nYWxsZXJ5LXNwaW5uZXIuc3ZnJyAhZGVmYXVsdDtcbiR0aWxlLWdhbGxlcnlfc3Bpbm5lci1iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZC0yMDA7XG5cbiR0aWxlLWdhbGxlcnlfbWFpbi1pbWFnZS1hbmltYXRhYmxlLW9wYWNpdHk6IDAgIWRlZmF1bHQ7XG4kdGlsZS1nYWxsZXJ5X21haW4taW1hZ2UtYW5pbWF0ZS1vcGFjaXR5OiAxICFkZWZhdWx0O1xuJHRpbGUtZ2FsbGVyeV9tYWluLWltYWdlLWFuaW1hdGFibGUtdHJhbnNmb3JtOiBzY2FsZSgyLjUpICFkZWZhdWx0O1xuJHRpbGUtZ2FsbGVyeV9tYWluLWltYWdlLWFuaW1hdGUtdHJhbnNmb3JtOiBzY2FsZSgxKSAhZGVmYXVsdDtcbiR0aWxlLWdhbGxlcnlfbWFpbi1pbWFnZS10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41c1xuICAgICAgICAkdHJhbnNpdGlvbi1lYXNpbmdfc2xvd2Rvd24tOTAwLFxuICAgIG9wYWNpdHkgMC40NXMgbGluZWFyICFkZWZhdWx0O1xuXG4uI3skbnN9dGlsZS1nYWxsZXJ5IHtcbiAgICAkcm9vdDogJjtcblxuICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Qtc3R5bGUoKTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkdGlsZS1nYWxsZXJ5X3ppbmRleDtcbiAgICBsZWZ0OiAkdGlsZS1nYWxsZXJ5X3Bvc3Rpb24tbGVmdDtcbiAgICByaWdodDogJHRpbGUtZ2FsbGVyeV9wb3N0aW9uLXJpZ2h0O1xuICAgIHRvcDogJHRpbGUtZ2FsbGVyeV9wb3N0aW9uLXRvcDtcbiAgICBib3R0b206ICR0aWxlLWdhbGxlcnlfcG9zdGlvbi1ib3R0b207XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiAkdGlsZS1nYWxsZXJ5X3RyYW5zaXRpb247XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgLnRvdWNoLWRldmljZSAmIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgLiN7JG5zfXByb2R1Y3QtdGlsZTpob3ZlciAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIG1hcmdpbjogMCAwLjNyZW0gMCAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJl9fdGh1bWJuYWlsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAkdGlsZS1nYWxsZXJ5X3RodW1ibmFpbC13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkdGlsZS1nYWxsZXJ5X3RodW1ibmFpbC1oZWlnaHQ7XG4gICAgICAgIGJvcmRlcjogJHRpbGUtZ2FsbGVyeV9pdGVtLWJvcmRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogJHRpbGUtZ2FsbGVyeV9pdGVtLXRyYW5zaXRpb247XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47IC8vIEZpeCBzb3VyY2UgZWxlbWVudHMgb3ZlcmZsb3dpbmcgcGljdHVyZSBlbGVtZW50J3MgYm9yZGVyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCR0aWxlLWdhbGxlcnlfc3Bpbm5lci1pbWFnZS11cmwpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2JhY2tncm91bmQtMjAwO1xuXG4gICAgICAgICN7JHJvb3R9X19pdGVtLS1hY3RpdmUgJiB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICR0aWxlLWdhbGxlcnlfaXRlbS0tYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgID4gc291cmNlLFxuICAgICAgICA+IGltZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uI3skbnN9cHJvZHVjdC10aWxlIHtcbiAgICAmX19pbWFnZSB7XG4gICAgICAgICYtLWFuaW1hdGFibGUge1xuICAgICAgICAgICAgb3BhY2l0eTogJHRpbGUtZ2FsbGVyeV9tYWluLWltYWdlLWFuaW1hdGFibGUtb3BhY2l0eTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogJHRpbGUtZ2FsbGVyeV9tYWluLWltYWdlLWFuaW1hdGFibGUtdHJhbnNmb3JtO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogJHRpbGUtZ2FsbGVyeV9tYWluLWltYWdlLXRyYW5zaXRpb247XG4gICAgICAgIH1cblxuICAgICAgICAmLS1hbmltYXRlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6ICR0aWxlLWdhbGxlcnlfbWFpbi1pbWFnZS1hbmltYXRlLW9wYWNpdHk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06ICR0aWxlLWdhbGxlcnlfbWFpbi1pbWFnZS1hbmltYXRlLXRyYW5zZm9ybTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3MtdG9wYmFyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgei1pbmRleDogMzAyOyB9XG4gIC5jcy10b3BiYXItLWhpZGRlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDUlKTsgfVxuICAucGFnZS1wcmludCAuY3MtdG9wYmFyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy10b3BiYXJfX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy10b3BiYXJfX3dyYXBwZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLXRvcGJhcl9fd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE4cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAuY3MtdG9wYmFyX193cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMCAyNXB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLXRvcGJhcl9fd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDsgfSB9XG4gIC5jcy10b3BiYXJfX2l0ZW0ge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAuY3MtdG9wYmFyX19pdGVtLS1ob3RsaW5lIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIC5jcy10b3BiYXJfX2l0ZW0tLWhvdGxpbmUgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgLmNzLXRvcGJhcl9faXRlbS0taG90bGluZSB1bCBsaSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgICAuY3MtdG9wYmFyX19pdGVtLS1ob3RsaW5lIHVsIGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAgIC5jcy10b3BiYXJfX2l0ZW0tLWhvdGxpbmUgYSB7XG4gICAgICAgIHBhZGRpbmc6IDhweCAwIDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIC5jcy10b3BiYXJfX2l0ZW0tLWhvdGxpbmUgYSB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgICAgICAuY3MtdG9wYmFyX19pdGVtLS1ob3RsaW5lIGE6dmlzaXRlZCB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgICAgIC5jcy10b3BiYXJfX2l0ZW0tLWhvdGxpbmUgYTpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgICAgIC5jcy10b3BiYXJfX2l0ZW0tLWhvdGxpbmUgYTphY3RpdmUsIC5jcy10b3BiYXJfX2l0ZW0tLWhvdGxpbmUgYTpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgICAuY3MtdG9wYmFyX19pdGVtLS1ob3RsaW5lIGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjRkY0NjA0OyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLmNzLXRvcGJhcl9faXRlbS0taG90bGluZSBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxNXB4IDAgMDsgfSB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLmNzLXRvcGJhcl9faXRlbS0taG90bGluZSBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweCAwIDA7IH0gfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5jcy10b3BiYXJfX2l0ZW0tLWhvdGxpbmUgYSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDMwcHggMDsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNjRlbSkge1xuICAgICAgICAuY3MtdG9wYmFyX19pdGVtLS1ob3RsaW5lIHtcbiAgICAgICAgICB3aWR0aDogaW5pdGlhbDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY3MtdG9wYmFyX19pdGVtLS1ob3RsaW5lIHtcbiAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuICAgIC5jcy10b3BiYXJfX2l0ZW0tLWF1dGhvcml6YXRpb24ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7IH1cbiAgLmNzLXRvcGJhcl9fcGhvbmUtbnVtYmVyIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1yaWdodDogMC45cmVtOyB9XG4gICAgLmNzLXRvcGJhcl9fcGhvbmUtbnVtYmVyOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjRkY0NjA0OyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy9saW5rJztcblxuJHRvcGJhcl9iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiR0b3BiYXJfaGVpZ2h0OiAyLjdyZW0gIWRlZmF1bHQ7XG5cbiR0b3BiYXJfaXRlbS1mb250LXNpemU6ICRmb250LXNpemVfY2FwdGlvbiAhZGVmYXVsdDtcbiR0b3BiYXJfaXRlbS10ZXh0LWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kdG9wYmFyX2l0ZW0taG91cnMtY29sb3I6ICRjb2xvcl9ibGFjayAhZGVmYXVsdDtcbiR0b3BiYXJfaXRlbS1ib3JkZXI6IDAuMnJlbSBzb2xpZCAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kdG9wYmFyX2l0ZW0tYm9yZGVyLXRyYW5zZm9ybTogJHRyYW5zZm9ybV9za2V3LTQwMCAhZGVmYXVsdDtcbiR0b3BiYXJfaXRlbS1waG9uZV9udW1iZXItY29sb3I6ICRjb2xvcl9ibGFjayAhZGVmYXVsdDtcblxuJHRvcGJhcl9saW5rLWNvbG9yLWFjdGlvbjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJHRvcGJhcl9saW5rLWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG5cbi4jeyRuc310b3BiYXIge1xuICAgICRyb290OiAmO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiAkdG9wYmFyX2l0ZW0tZm9udC1zaXplO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgICB6LWluZGV4OiAzMDI7XG5cbiAgICAmLS1oaWRkZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwNSUpO1xuICAgIH1cblxuICAgIC5wYWdlLXByaW50ICYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMThweDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIGNvbG9yOiAkdG9wYmFyX2l0ZW0tdGV4dC1jb2xvcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAmLS1ob3RsaW5lIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpbmsoJHRvcGJhcl9saW5rLWNvbG9yLCAkdG9wYmFyX2xpbmstY29sb3ItYWN0aW9uKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHggMCAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHggMTVweCAwIDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHggMCAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAzMHB4IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICB3aWR0aDogaW5pdGlhbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWF1dGhvcml6YXRpb24ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19waG9uZS1udW1iZXIge1xuICAgICAgICBjb2xvcjogJHRvcGJhcl9pdGVtLWhvdXJzLWNvbG9yO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOXJlbTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuaDEge1xuICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBVYnVudHUsIENhbnRhcmVsbCwgT3h5Z2VuLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGZvbnQtc2l6ZTogMy4ycmVtO1xuICBjb2xvcjogIzIxMjEyMTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luOiAxcmVtIDAgMnJlbTsgfVxuXG5oMiB7XG4gIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBPeHlnZW4sIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgZm9udC1zaXplOiAyLjhyZW07XG4gIGNvbG9yOiAjMjEyMTIxO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW46IDFyZW0gMCAycmVtOyB9XG5cbmgzIHtcbiAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgU2Vnb2UgVUksIFJvYm90bywgVWJ1bnR1LCBDYW50YXJlbGwsIE94eWdlbiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgY29sb3I6ICMyMTIxMjE7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbjogMXJlbSAwIDJyZW07IH1cblxuaDQge1xuICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBVYnVudHUsIENhbnRhcmVsbCwgT3h5Z2VuLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBjb2xvcjogIzIxMjEyMTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luOiAxcmVtIDAgMnJlbTsgfVxuXG5oNSB7XG4gIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBPeHlnZW4sIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgZm9udC1zaXplOiAxLjNyZW07XG4gIGNvbG9yOiAjMjEyMTIxO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW46IDFyZW0gMCAycmVtOyB9XG5cbmg2IHtcbiAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgU2Vnb2UgVUksIFJvYm90bywgVWJ1bnR1LCBDYW50YXJlbGwsIE94eWdlbiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgY29sb3I6ICMyMTIxMjE7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbjogMXJlbSAwIDJyZW07IH1cblxuYSwgYTp2aXNpdGVkIHtcbiAgY29sb3I6ICNGRjc0NDI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5hOmhvdmVyLCBhOmZvY3VzLCBhOnZpc2l0ZWQ6aG92ZXIsIGE6dmlzaXRlZDpmb2N1cyB7XG4gIGNvbG9yOiAjRkY3NDQyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxudWwsXG5vbCB7XG4gIG1hcmdpbjogMCAwIDIuNXJlbTtcbiAgcGFkZGluZzogMCAwIDAgNHJlbTsgfVxuICB1bCA+IGxpLFxuICBvbCA+IGxpIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtOyB9XG5cbi5oaWRkZW4tdGl0bGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAwO1xuICBmb250LXNpemU6IDA7IH1cblxuLnRleHQtbm9ybWFsIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4udGV4dC1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLnRleHQtdXBwZXIge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdHlwb2dyYXBoeS9taXhpbic7XG5cbmgxIHtcbiAgICBAaW5jbHVkZSBoZWFkbGluZSgkbGV2ZWw6ICRmb250LXNpemVfaGVhZGxpbmUtMSk7XG59XG5cbmgyIHtcbiAgICBAaW5jbHVkZSBoZWFkbGluZSgkbGV2ZWw6ICRmb250LXNpemVfaGVhZGxpbmUtMik7XG59XG5cbmgzIHtcbiAgICBAaW5jbHVkZSBoZWFkbGluZSgkbGV2ZWw6ICRmb250LXNpemVfaGVhZGxpbmUtMyk7XG59XG5cbmg0IHtcbiAgICBAaW5jbHVkZSBoZWFkbGluZSgkbGV2ZWw6ICRmb250LXNpemVfaGVhZGxpbmUtNCk7XG59XG5cbmg1IHtcbiAgICBAaW5jbHVkZSBoZWFkbGluZSgkbGV2ZWw6ICRmb250LXNpemVfaGVhZGxpbmUtNSk7XG59XG5cbmg2IHtcbiAgICBAaW5jbHVkZSBoZWFkbGluZSgkbGV2ZWw6ICRmb250LXNpemVfaGVhZGxpbmUtNik7XG59XG5cbmEge1xuICAgIEBpbmNsdWRlIGxpbmsoKTtcbn1cblxudWwsXG5vbCB7XG4gICAgQGluY2x1ZGUgbGlzdCgpO1xuXG4gICAgPiBsaSB7XG4gICAgICAgIEBpbmNsdWRlIGxpc3QtaXRlbSgpO1xuICAgIH1cbn1cblxuLmhpZGRlbi10aXRsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHdpZHRoOiAwO1xuICAgIGZvbnQtc2l6ZTogMDtcbn1cblxuLnRleHQtbm9ybWFsIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuLnRleHQtYm9sZCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4udGV4dC11cHBlciB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbiIsIi8qKlxuICogVVNQcyBjb21wb25lbnQgY3VzdG9taXphdGlvbi5cbiAqIEBzZWUgL01hZ2VTdWl0ZV9Db250ZW50Q29uc3RydWN0b3JGcm9udGVuZCBmb3IgbGF5b3V0LCB0ZW1wbGF0ZXMgYW5kIGltYWdlcy5cbiAqIFVTUHMgY29tcG9uZW50IGlzIGJhc2VkIG9uIEltYWdlIFRlYXNlci5cbiAqL1xuQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG4kdXNwc19zbGlkZXMtcGVyLXZpZXc6IChcbiAgICBwaG9uZTogMSxcbiAgICBwaG9uZUxnOiAyLFxuICAgIHRhYmxldDogMyxcbiAgICBsYXB0b3A6IDYsXG4pICFkZWZhdWx0O1xuJHVzcHNfc2xpZGUtbWFyZ2luOiAwICFkZWZhdWx0O1xuJHVzcHNfbWF4LWltYWdlLXdpZHRoOiA4MCUgIWRlZmF1bHQ7XG4kdXNwc19tYXgtaW1hZ2UtaGVpZ2h0OiA2LjVyZW0gIWRlZmF1bHQ7XG4kdXNwc19pbWFnZS1tYXJnaW46IDAgYXV0byAxcmVtICFkZWZhdWx0O1xuJHVzcHNfc2hvdy1jYXJvdXNlbC1hcnJvd3M6IGZhbHNlICFkZWZhdWx0O1xuXG4uI3skbnN9aW1hZ2UtdGVhc2VyIHtcbiAgICAkcm9vdDogJjtcblxuICAgICYtLXVzcHMge1xuICAgICAgICAjeyRyb290fV9fc2xpZGVzIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX3NsaWRlIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHVzcHNfc2xpZGUtbWFyZ2luO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoI3skcm9vdH0tLXNsaWRlcikge1xuICAgICAgICAgICAgI3skcm9vdH1fX3NsaWRlcyB7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9faW1hZ2Uge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkdXNwc19tYXgtaW1hZ2Utd2lkdGg7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAkdXNwc19tYXgtaW1hZ2UtaGVpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luOiAkdXNwc19pbWFnZS1tYXJnaW47XG5cbiAgICAgICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X190ZXh0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICR1c3BzX3Nob3ctY2Fyb3VzZWwtYXJyb3dzID09IGZhbHNlIHtcbiAgICAgICAgICAgICN7JHJvb3R9X19uYXYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogVVNQcyBjb21wb25lbnQgY3VzdG9taXphdGlvbi5cbiAqIEBzZWUgL01hZ2VTdWl0ZV9Db250ZW50Q29uc3RydWN0b3JGcm9udGVuZCBmb3IgbGF5b3V0LCB0ZW1wbGF0ZXMgYW5kIGltYWdlcy5cbiAqIFVTUHMgY29tcG9uZW50IGlzIGJhc2VkIG9uIEltYWdlIFRlYXNlci5cbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jcy1pbWFnZS10ZWFzZXItLXVzcHMgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLmNzLWltYWdlLXRlYXNlci0tdXNwcyAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSB7XG4gIG1hcmdpbjogMDsgfVxuXG4uY3MtaW1hZ2UtdGVhc2VyLS11c3BzOm5vdCguY3MtaW1hZ2UtdGVhc2VyLS1zbGlkZXIpIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlcyB7XG4gIGZsZXgtd3JhcDogbm93cmFwOyB9XG5cbi5jcy1pbWFnZS10ZWFzZXItLXVzcHMgLmNzLWltYWdlLXRlYXNlcl9faW1hZ2Uge1xuICBtYXgtd2lkdGg6IDgwJTtcbiAgbWF4LWhlaWdodDogNi41cmVtO1xuICBtYXJnaW46IDAgYXV0byAxcmVtOyB9XG4gIC5pZTExIC5jcy1pbWFnZS10ZWFzZXItLXVzcHMgLmNzLWltYWdlLXRlYXNlcl9faW1hZ2Uge1xuICAgIGhlaWdodDogMTAwJTsgfVxuXG4uY3MtaW1hZ2UtdGVhc2VyLS11c3BzIC5jcy1pbWFnZS10ZWFzZXJfX3RleHQge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY3MtaW1hZ2UtdGVhc2VyLS11c3BzIC5jcy1pbWFnZS10ZWFzZXJfX25hdiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDEzMFxuICovXG4uY3MtdmlzdWFsbHktaGlkZGVuIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIC8qIDEgKi8gfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd1dGlscy92aXN1YWxseS1oaWRkZW4nO1xuXG4uI3skbnN9dmlzdWFsbHktaGlkZGVuIHtcbiAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW47XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIFJhZGlvIGFuZCBjaGVja2JveCBzdHlsaW5nICovXG4vKioqXG4gKiBSZW1vdmUgYnJvd3NlcidzIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBsaXN0IHN0eWxlIHJ1bGVzXG4gKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5jcy1zZWxlY3Qge1xuICBtaW4td2lkdGg6IDAuNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogNTAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBvcGFjaXR5OiAwO1xuICBib3JkZXI6IG5vbmU7IH1cbiAgLmNzLXNlbGVjdC0tbW9iaWxlIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA0OyB9XG5cbi5jcy1odG1sLXNlbGVjdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi13aWR0aDogMTVyZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHotaW5kZXg6IDI7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDI5Ljk5ZW0pIHtcbiAgICAuY3MtaHRtbC1zZWxlY3Qge1xuICAgICAgbWluLXdpZHRoOiAxMnJlbTsgfSB9XG4gIC5jcy1odG1sLXNlbGVjdC5vcGVuIHtcbiAgICB6LWluZGV4OiA5OTsgfVxuICAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMTNyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB6LWluZGV4OiAzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgcGFkZGluZzogMTFweCAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuM2VtO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIG1heC1oZWlnaHQ6IDRyZW07XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLS1kaXNhYmxlZCB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5jcy1odG1sLXNlbGVjdC0tZXJyb3IgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2Y0NjY2NztcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsgfVxuICAgIC5jcy1odG1sLXNlbGVjdC0tb3BlbiAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXIsXG4gICAgLmNzLWh0bWwtc2VsZWN0Lm9wZW4gLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyIHtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRjQ2MDQ7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYzsgfVxuICAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXItdGV4dCB7XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAycmVtOyB9XG4gIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlci1jYXJldCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXItY2FyZXQtYXJyb3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlci1jYXJldC1hcnJvdzpiZWZvcmUsIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlci1jYXJldC1hcnJvdzphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IDAuN3JlbTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkY2RjZGM7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyLCByaWdodCAwLjE1cyBsaW5lYXIsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgbGluZWFyO1xuICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLWNhcmV0LWFycm93OmhvdmVyOmJlZm9yZSwgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLWNhcmV0LWFycm93OmhvdmVyOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2RTZFNkU7IH1cbiAgICAuY3MtaHRtbC1zZWxlY3QtLW9wZW4gLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLWNhcmV0LWFycm93OmJlZm9yZSwgLmNzLWh0bWwtc2VsZWN0LS1vcGVuIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlci1jYXJldC1hcnJvdzphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0OyB9XG4gICAgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLWNhcmV0LWFycm93OmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICByaWdodDogMS43cmVtOyB9XG4gICAgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLWNhcmV0LWFycm93OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICByaWdodDogMS4ycmVtOyB9XG4gICAgLmNzLWh0bWwtc2VsZWN0LS1vcGVuIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlci1jYXJldC1hcnJvdzpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAgIC5jcy1odG1sLXNlbGVjdC0tb3BlbiAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXItY2FyZXQtYXJyb3c6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4gIC5jcy1odG1sLXNlbGVjdF9fbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRkY0NjA0O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCAxcHggNXB4IDAgcmdiYSgxMDAsIDEwMCwgMTAwLCAwLjIpO1xuICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gICAgLmNzLWh0bWwtc2VsZWN0LS1vcGVuIC5jcy1odG1sLXNlbGVjdF9fbWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuY3MtaHRtbC1zZWxlY3QtLWF1dG9zdWdnZXN0Om5vdCguY3MtaHRtbC1zZWxlY3QtLW9wZW4pIC5jcy1odG1sLXNlbGVjdF9fbWVudSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiBub25lOyB9XG4gIC5jcy1odG1sLXNlbGVjdF9fbWVudS1saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5jcy1odG1sLXNlbGVjdF9fbWVudS1pdGVtIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItdG9wOiBub25lOyB9XG4gICAgLmNzLWh0bWwtc2VsZWN0X19tZW51LWl0ZW0tLWhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1odG1sLXNlbGVjdF9fbWVudS1saW5rIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgMWVtO1xuICAgIGhlaWdodDogMi44ZW07XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBsaW5lYXIsIGNvbG9yIDAuMTVzIGxpbmVhcjsgfVxuICAgIC5jcy1odG1sLXNlbGVjdF9fbWVudS1pdGVtLS1zZWxlY3RlZCAuY3MtaHRtbC1zZWxlY3RfX21lbnUtbGluayB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAuY3MtaHRtbC1zZWxlY3RfX21lbnUtbGluazpob3ZlciwgLmNzLWh0bWwtc2VsZWN0X19tZW51LWxpbms6Zm9jdXMsXG4gICAgLmNzLWh0bWwtc2VsZWN0X19tZW51LWl0ZW0tLWZvY3VzZWQgLmNzLWh0bWwtc2VsZWN0X19tZW51LWxpbmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAuY3MtaHRtbC1zZWxlY3RfX21lbnUtaXRlbS10ZXh0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH1cbiAgLmNzLWh0bWwtc2VsZWN0X190ZXh0LWltYWdlLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY3MtaHRtbC1zZWxlY3RfX3RodW1ibmFpbCB7XG4gICAgd2lkdGg6IDIuNXJlbTtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLmNzLWh0bWwtc2VsZWN0LS1hdXRvc3VnZ2VzdCB7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5jcy1odG1sLXNlbGVjdC0tYXV0b3N1Z2dlc3QgLmNzLWh0bWwtc2VsZWN0X19tZW51IHtcbiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAgIG1heC1oZWlnaHQ6IDIyMHB4OyB9XG4gICAgLmNzLWh0bWwtc2VsZWN0LS1hdXRvc3VnZ2VzdCAuY3MtaHRtbC1zZWxlY3RfX21lbnUtbGlzdCB7XG4gICAgICBtYXgtaGVpZ2h0OiAyMjBweDsgfVxuICAgIC5jcy1odG1sLXNlbGVjdC0tYXV0b3N1Z2dlc3Q6bm90KC5jcy1odG1sLXNlbGVjdC0tYW5pbWF0ZSkgLmNzLWh0bWwtc2VsZWN0X19tZW51IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IG5vbmU7IH1cblxuc2VsZWN0LFxuLnN1cGVyLWF0dHJpYnV0ZS1zZWxlY3Qge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1zLWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1vLWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGhlaWdodDogNDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjQjZCRUM1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvc2VsZWN0LWljb24uc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCB0b3A7XG4gIGNvbG9yOiAjNkU2RTZFO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgcGFkZGluZzogMTBweCA1MHB4IDEwcHggMTJweDsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy9maWVsZC9taXhpbi5zY3NzJztcbkBpbXBvcnQgJ3V0aWxzL3Jlc2V0LWxpc3Qtc3R5bGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wc2V1ZG9pY29uL21peGluJztcblxuJGh0bWwtc2VsZWN0X3RyaWdnZXItZm9udC1zaXplOiAxLjJyZW0gIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfdHJpZ2dlci1saW5lLWhlaWdodDogJGZpZWxkX3NlbGVjdC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF90cmlnZ2VyLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfdHJpZ2dlci1zZWxlY3RfY29sb3I6ICRmaWVsZF9zZWxlY3QtY29sb3IgIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfdHJpZ2dlci1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfdHJpZ2dlci1wYWRkaW5nOiAkZmllbGRfc2VsZWN0LXBhZGRpbmcgIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfdHJpZ2dlci1wYWRkaW5nLXJpZ2h0OiAkZmllbGRfc2VsZWN0LXBhZGRpbmctcmlnaHQgIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfdHJpZ2dlci1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJGh0bWwtc2VsZWN0X3RyaWdnZXItYm9yZGVyOiAkZmllbGRfc2VsZWN0LWJvcmRlciAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF90cmlnZ2VyLWJvcmRlci1hY3RpdmU6IDFweCBzb2xpZCAkY29sb3ItcHJpbWFyeV81MDAgIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfdHJpZ2dlci1ib3gtc2hhZG93OiAkZmllbGRfc2VsZWN0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRodG1sLXNlbGVjdF9jYXJldC1jb2xvcjogJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfY2FyZXQtYWN0aXZlLWNvbG9yOiAkY29sb3ItcHJpbWFyeV81MDAgIWRlZmF1bHQ7XG5cbiRodG1sLXNlbGVjdF9pdGVtLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF9pdGVtLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfaXRlbS1ob3Zlci1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGh0bWwtc2VsZWN0X2l0ZW0tc2VsZWN0ZWQtYmFja2dyb3VuZDogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGh0bWwtc2VsZWN0X2l0ZW0tc2VsZWN0ZWQtY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcblxuJGh0bWwtc2VsZWN0X21lbnUtYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJGh0bWwtc2VsZWN0X21lbnUtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZSAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF9tZW51LWJveC1zaGFkb3c6IDAgMXB4IDVweCAwIHJnYmEoMTAwLCAxMDAsIDEwMCwgMC4yKSAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF9tZW51LWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcblxuJGh0bWwtc2VsZWN0X2l0ZW0tYm9yZGVyLXRvcDogbm9uZSAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF9pdGVtLWhlaWdodDogMi44ZW0gIWRlZmF1bHQ7XG5cbiRodG1sLXNlbGVjdF9kaXNhYmxlZC1vcGFjaXR5OiAkZmllbGRfc2VsZWN0LWRpc2FibGVkLW9wYWNpdHkgIWRlZmF1bHQ7XG5cbiRzZWxlY3RfYm94LWJvcmRlci1jb2xvcjogJGZvcm1fZmllbGQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLyBzZWxlY3Rcbi8vIEN1c3RvbSBIVE1MIHNlbGVjdCB2ZXJzaW9uIG9mIG5hdGl2ZSBzZWxlY3Qgd2l0aCBuYXRpdmUgZmFsbGJhY2sgb24gbW9iaWxlc1xuLy9cbi8vIFNlZSBodHRwOi8vd2FycHNwaXJlLmNvbS9rc3MvIGZvciBkb2N1bWVudGF0aW9uIGd1aWRlbGluZXMuXG4vLyBWZXJzaW9uIDAuMC4xXG5cbi4jeyRuc31zZWxlY3Qge1xuICAgIG1pbi13aWR0aDogMC41cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAmLS1tb2JpbGUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogNDtcbiAgICB9XG59XG5cbi4jeyRuc31odG1sLXNlbGVjdCB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWluLXdpZHRoOiAxNXJlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lJykge1xuICAgICAgICBtaW4td2lkdGg6IDEycmVtO1xuICAgIH1cblxuICAgICYub3BlbiB7XG4gICAgICAgIHotaW5kZXg6IDk5O1xuICAgIH1cblxuICAgICZfX3RyaWdnZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMTNyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJhY2tncm91bmQ6ICRodG1sLXNlbGVjdF90cmlnZ2VyLWJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlcjogJGh0bWwtc2VsZWN0X3RyaWdnZXItYm9yZGVyO1xuICAgICAgICBwYWRkaW5nOiAkaHRtbC1zZWxlY3RfdHJpZ2dlci1wYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaHRtbC1zZWxlY3RfdHJpZ2dlci1wYWRkaW5nLXJpZ2h0O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkaHRtbC1zZWxlY3RfdHJpZ2dlci1ib3JkZXItcmFkaXVzO1xuICAgICAgICBib3gtc2hhZG93OiAkaHRtbC1zZWxlY3RfdHJpZ2dlci1ib3gtc2hhZG93O1xuICAgICAgICBmb250LXNpemU6ICRodG1sLXNlbGVjdF90cmlnZ2VyLWZvbnQtc2l6ZTtcbiAgICAgICAgbWF4LWhlaWdodDogNHJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAmLS1kaXNhYmxlZCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAkaHRtbC1zZWxlY3RfZGlzYWJsZWQtb3BhY2l0eTtcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tZXJyb3IgJiB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICNmNDY2Njc7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tb3BlbiAmLFxuICAgICAgICAjeyRyb290fS5vcGVuICYge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyOiAkaHRtbC1zZWxlY3RfdHJpZ2dlci1ib3JkZXItYWN0aXZlO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJGh0bWwtc2VsZWN0X3RyaWdnZXItYm9yZGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdHJpZ2dlci10ZXh0IHtcbiAgICAgICAgY29sb3I6ICRodG1sLXNlbGVjdF90cmlnZ2VyLXNlbGVjdF9jb2xvcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRodG1sLXNlbGVjdF90cmlnZ2VyLWxpbmUtaGVpZ2h0O1xuICAgICAgICBmb250LXdlaWdodDogJGh0bWwtc2VsZWN0X3RyaWdnZXItZm9udC13ZWlnaHQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBmb250LXNpemU6ICRodG1sLXNlbGVjdF90cmlnZ2VyLWZvbnQtc2l6ZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xuICAgIH1cblxuICAgICZfX3RyaWdnZXItY2FyZXQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cblxuICAgICZfX3RyaWdnZXItY2FyZXQtYXJyb3cge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICBAaW5jbHVkZSBwc2V1ZG9pY29uKFxuICAgICAgICAgICAgJHR5cGU6ICdhcnJvdycsXG4gICAgICAgICAgICAkY29sb3I6ICRodG1sLXNlbGVjdF9jYXJldC1jb2xvcixcbiAgICAgICAgICAgICRjb2xvci1leHBhbmRlZDogJGh0bWwtc2VsZWN0X2NhcmV0LWFjdGl2ZS1jb2xvcixcbiAgICAgICAgICAgICR3aWR0aDogMC43cmVtLFxuICAgICAgICAgICAgJGhlaWdodDogMXB4LFxuICAgICAgICAgICAgJGFycm93LWRlZmF1bHQ6ICdkb3duJyxcbiAgICAgICAgICAgICRhcnJvdy1hY3RpdmU6ICd1cCcsXG4gICAgICAgICAgICAkcG9zaXRpb24tc2lkZS1vZmZzZXQ6IDEuMnJlbSxcbiAgICAgICAgICAgICRhcnJvdy1vZmZzZXQ6IDEuN3JlbSxcbiAgICAgICAgICAgICRhY3RpdmUtc2VsZWN0b3I6ICcjeyRyb290fS0tb3BlbiAmJ1xuICAgICAgICApO1xuICAgIH1cblxuICAgICZfX21lbnUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAkaHRtbC1zZWxlY3RfbWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci10b3A6ICRodG1sLXNlbGVjdF90cmlnZ2VyLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGh0bWwtc2VsZWN0X21lbnUtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRodG1sLXNlbGVjdF9tZW51LWJvcmRlci1yYWRpdXM7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRodG1sLXNlbGVjdF9tZW51LWJhY2tncm91bmQ7XG4gICAgICAgIGJveC1zaGFkb3c6ICRodG1sLXNlbGVjdF9tZW51LWJveC1zaGFkb3c7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblxuICAgICAgICAjeyRyb290fS0tb3BlbiAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1hdXRvc3VnZ2VzdDpub3QoI3skcm9vdH0tLW9wZW4pICYge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21lbnUtbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Qtc3R5bGUoKTtcbiAgICB9XG5cbiAgICAmX19tZW51LWl0ZW0ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci10b3A6ICRodG1sLXNlbGVjdF9pdGVtLWJvcmRlci10b3A7XG5cbiAgICAgICAgJi0taGlkZGVuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tZW51LWxpbmsge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDAgMWVtO1xuICAgICAgICBoZWlnaHQ6ICRodG1sLXNlbGVjdF9pdGVtLWhlaWdodDtcbiAgICAgICAgY29sb3I6ICRodG1sLXNlbGVjdF9pdGVtLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaHRtbC1zZWxlY3RfaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgbGluZWFyLCBjb2xvciAwLjE1cyBsaW5lYXI7XG5cbiAgICAgICAgI3skcm9vdH1fX21lbnUtaXRlbS0tc2VsZWN0ZWQgJiB7XG4gICAgICAgICAgICBjb2xvcjogJGh0bWwtc2VsZWN0X2l0ZW0tc2VsZWN0ZWQtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaHRtbC1zZWxlY3RfaXRlbS1zZWxlY3RlZC1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgI3skcm9vdH1fX21lbnUtaXRlbS0tZm9jdXNlZCAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRodG1sLXNlbGVjdF9pdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgICAgICBjb2xvcjogJGh0bWwtc2VsZWN0X2l0ZW0taG92ZXItY29sb3I7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWVudS1pdGVtLXRleHQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgfVxuXG4gICAgJl9fdGV4dC1pbWFnZS13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX190aHVtYm5haWwge1xuICAgICAgICB3aWR0aDogMi41cmVtO1xuICAgICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICB9XG5cbiAgICAmLS1hdXRvc3VnZ2VzdCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgI3skcm9vdH1fX21lbnUge1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMjIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fbWVudS1saXN0IHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoI3skcm9vdH0tLWFuaW1hdGUpICN7JHJvb3R9X19tZW51IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuc2VsZWN0LFxuLnN1cGVyLWF0dHJpYnV0ZS1zZWxlY3Qge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTpub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTpub25lO1xuICAgIC1tcy1hcHBlYXJhbmNlOm5vbmU7XG4gICAgLW8tYXBwZWFyYW5jZTpub25lO1xuICAgIGFwcGVhcmFuY2U6bm9uZTtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiAkaHRtbC1zZWxlY3RfdHJpZ2dlci1mb250LXNpemU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHNlbGVjdF9ib3gtYm9yZGVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl93aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvc2VsZWN0LWljb24uc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgdG9wO1xuICAgIGNvbG9yOiAkY29sb3JfZ3JheTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIHBhZGRpbmc6IDEwcHggNTBweCAxMHB4IDEycHg7XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogUmVtb3ZlIGJyb3dzZXIncyBtYXJnaW5zLCBwYWRkaW5ncyBhbmQgbGlzdCBzdHlsZSBydWxlc1xuICovXG4uY3MtaWUxMS1tb2RhbC5tb2RhbC1zbGlkZSB7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1pZTExLW1vZGFsLm1vZGFsLXNsaWRlIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNzhyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgICAuY3MtaWUxMS1tb2RhbC5tb2RhbC1zbGlkZSAubW9kYWwtaW5uZXItd3JhcCAubW9kYWwtY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5jcy1pZTExLW1vZGFsLm1vZGFsLXNsaWRlIC5hY3Rpb24tY2xvc2Uge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMS44cmVtIDEuOHJlbTtcbiAgICBtYXJnaW46IDIuNXJlbTsgfVxuICAuY3MtaWUxMS1tb2RhbC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIHtcbiAgICBwYWRkaW5nOiAycmVtIDA7XG4gICAgbWFyZ2luOiAwIDNyZW07XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5jcy1pZTExLW1vZGFsLl9zaG93IC5jcy1pZTExLW1vZGFsX19pbm5lciB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLmNzLWllMTEtbW9kYWxfX2lubmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMCAzcmVtO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgY29sb3I6ICMyMTIxMjE7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4uY3MtaWUxMS1tb2RhbF9faGVhZGVyLCAuY3MtaWUxMS1tb2RhbF9fYm9keSB7XG4gIHBhZGRpbmc6IDJyZW0gMDsgfVxuXG4uY3MtaWUxMS1tb2RhbF9faGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uY3MtaWUxMS1tb2RhbF9faGVhZGVyLWljb24ge1xuICB3aWR0aDogN3JlbTtcbiAgaGVpZ2h0OiA3cmVtO1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG5cbi5jcy1pZTExLW1vZGFsX19oZWFkZXItdGl0bGUge1xuICBmb250LXNpemU6IDMuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5jcy1pZTExLW1vZGFsX19ib2R5IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkY2RjZGM7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjOyB9XG5cbi5jcy1pZTExLW1vZGFsX19wYXJhZ3JhcGgge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgLmNzLWllMTEtbW9kYWxfX3BhcmFncmFwaC0tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5jcy1pZTExLW1vZGFsX19saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4uY3MtaWUxMS1tb2RhbF9fbGlzdC1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDEzMCU7XG4gIG1hcmdpbjogMDsgfVxuXG4uY3MtaWUxMS1tb2RhbF9faXRlbS1sb2dvIHtcbiAgd2lkdGg6IDMuOHJlbTtcbiAgaGVpZ2h0OiAzLjhyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogMDsgfVxuICAuaWUxMSAuY3MtaWUxMS1tb2RhbF9faXRlbS1sb2dvIHtcbiAgICB3aWR0aDogNHJlbTtcbiAgICBoZWlnaHQ6IDRyZW07IH1cblxuLmNzLWllMTEtbW9kYWxfX2l0ZW0tbmFtZSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmllMTEgLm1vZGFsLXBvcHVwOm5vdCguY3MtdmlkZS1wbGF5ZXJfX21vZGFsKSAubW9kYWwtY29udGVudCB7XG4gIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3V0aWxzL3Jlc2V0LWxpc3Qtc3R5bGUnO1xuXG4kaWUxMV9tb2RhbC1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kaWUxMV9tb2RhbC1wYWRkaW5nLS12ZXJ0aWNhbDogMnJlbSAhZGVmYXVsdDtcbiRpZTExX21vZGFsLXBhZGRpbmctLWhvcml6b250YWw6IDNyZW0gIWRlZmF1bHQ7XG4kaWUxMV9tb2RhbC1zZWN0aW9uLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJGllMTFfbW9kYWwtY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRpZTExX21vZGFsLWZvbnQtc2l6ZTogMS40cmVtICFkZWZhdWx0O1xuXG4uY3MtaWUxMS1tb2RhbCB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICAmLm1vZGFsLXNsaWRlIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDc4cmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGllMTFfbW9kYWwtYmFja2dyb3VuZDtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcblxuICAgICAgICAgICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9uLWNsb3NlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMS44cmVtIDEuOHJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMi41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1vZGFsLWZvb3RlciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkaWUxMV9tb2RhbC1wYWRkaW5nLS12ZXJ0aWNhbCAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwICRpZTExX21vZGFsLXBhZGRpbmctLWhvcml6b250YWw7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5fc2hvdyB7XG4gICAgICAgICN7JHJvb3R9X19pbm5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW5uZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwICRpZTExX21vZGFsLXBhZGRpbmctLWhvcml6b250YWw7XG4gICAgICAgIGZvbnQtc2l6ZTogJGllMTFfbW9kYWwtZm9udC1zaXplO1xuICAgICAgICBjb2xvcjogJGllMTFfbW9kYWwtY29sb3I7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAmX19oZWFkZXIsXG4gICAgJl9fYm9keSB7XG4gICAgICAgIHBhZGRpbmc6ICRpZTExX21vZGFsLXBhZGRpbmctLXZlcnRpY2FsIDA7XG4gICAgfVxuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19oZWFkZXItaWNvbiB7XG4gICAgICAgIHdpZHRoOiA3cmVtO1xuICAgICAgICBoZWlnaHQ6IDdyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRpZTExX21vZGFsLXBhZGRpbmctLXZlcnRpY2FsO1xuICAgIH1cblxuICAgICZfX2hlYWRlci10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMy41cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fYm9keSB7XG4gICAgICAgIGJvcmRlci10b3A6ICRpZTExX21vZGFsLXNlY3Rpb24tYm9yZGVyO1xuICAgICAgICBib3JkZXItYm90dG9tOiAkaWUxMV9tb2RhbC1zZWN0aW9uLWJvcmRlcjtcbiAgICB9XG5cbiAgICAmX19wYXJhZ3JhcGgge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRpZTExX21vZGFsLXBhZGRpbmctLXZlcnRpY2FsO1xuXG4gICAgICAgICYtLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZSgpO1xuXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIH1cblxuICAgICZfX2xpc3QtaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMzAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgJl9faXRlbS1sb2dvIHtcbiAgICAgICAgd2lkdGg6IDMuOHJlbTtcbiAgICAgICAgaGVpZ2h0OiAzLjhyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIGJvcmRlcjogMDtcblxuICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgIHdpZHRoOiA0cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiA0cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbS1uYW1lIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG59XG5cbi5pZTExIC5tb2RhbC1wb3B1cDpub3QoLmNzLXZpZGUtcGxheWVyX19tb2RhbCkgLm1vZGFsLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jcy1wd2Etbm90aWZpY2F0aW9uLl9zaG93IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIHRvcDogYXV0bztcbiAgaGVpZ2h0OiAxNXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgb3ZlcmZsb3cteTogdmlzaWJsZTsgfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbi5fc2hvdyAubW9kYWwtaW5uZXItd3JhcCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCAtMC4zcmVtIDAuNXJlbSAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7IH1cblxuLmNzLXB3YS1ub3RpZmljYXRpb25fX3RpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAycmVtO1xuICBmb250LXNpemU6IDEuOHJlbTsgfVxuXG4uY3MtcHdhLW5vdGlmaWNhdGlvbl9fY29udGVudCB7XG4gIHBhZGRpbmc6IDAuNXJlbSAycmVtIDFyZW07IH1cblxuLmNzLXB3YS1ub3RpZmljYXRpb25fX2Zvb3RlciB7XG4gIHBhZGRpbmc6IDAuNXJlbSAycmVtIDJyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmNzLXB3YS1ub3RpZmljYXRpb25fX2J1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIjtcbiAgcGFkZGluZzogOHB4IDI1cHg7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHotaW5kZXg6IDU7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7IH1cbiAgLmNzLXB3YS1ub3RpZmljYXRpb25fX2J1dHRvbi5tZWRpdW0ge1xuICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbl9fYnV0dG9uLmxhcmdlIHtcbiAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgLmNzLXB3YS1ub3RpZmljYXRpb25fX2J1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uX19idXR0b24sIC5jcy1wd2Etbm90aWZpY2F0aW9uX19idXR0b246dmlzaXRlZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0OyB9XG4gICAgLmNzLXB3YS1ub3RpZmljYXRpb25fX2J1dHRvbiAqLCAuY3MtcHdhLW5vdGlmaWNhdGlvbl9fYnV0dG9uOnZpc2l0ZWQgKiB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgLmNzLXB3YS1ub3RpZmljYXRpb25fX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1wd2Etbm90aWZpY2F0aW9uX19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtcHdhLW5vdGlmaWNhdGlvbl9fYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNzQ0MjsgfVxuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uX19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1wd2Etbm90aWZpY2F0aW9uX19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1wd2Etbm90aWZpY2F0aW9uX19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbl9fYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC42NTtcbiAgICBjdXJzb3I6IGF1dG87IH1cbiAgLmNzLXB3YS1ub3RpZmljYXRpb25fX2J1dHRvbiBzcGFuIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7IH1cblxuLmNzLXB3YS1ub3RpZmljYXRpb24gKyAubW9kYWxzLW92ZXJsYXkge1xuICBkaXNwbGF5OiBub25lOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdHlwb2dyYXBoeS9taXhpbic7XG5cbiRwd2Etbm90aWZpY2F0aW9uX2JveC1zaGFkb3c6IDAgLTAuM3JlbSAwLjVyZW0gMCByZ2JhKDAsIDAsIDAsIDAuMTUpICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb25fYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb25fYnV0dG9uLXR5cGU6ICdwcmltYXJ5JyAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uX2hpZGUtbW9kYWwtb3ZlcmxheTogdHJ1ZSAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uX2hlYWRsaW5lLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZV9oZWFkbGluZS0zICFkZWZhdWx0O1xuLy8gJHJldmlld190aXRsZS1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuLy8gJHJldmlld190aXRsZS1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuLy8gJHJldmlld19hdXRob3ItY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbi8vICRyZXZpZXdfY29udGVudC1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuLy8gJHJldmlld19kYXRlLWNvbG9yOiAkY29sb3JfdGV4dC00MDAgIWRlZmF1bHQ7XG4vLyAkcmV2aWV3X21ldGEtaXRlbS1mb250LXNpemU6IDAuOWVtICFkZWZhdWx0O1xuLy8gJHJldmlld19tZXRhLWl0ZW0tYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4vLyAkcmV2aWV3X2hpZGUtY29tcG91bmQtcmF0aW5nczogZmFsc2UgIWRlZmF1bHQ7XG5cbi4jeyRuc31wd2Etbm90aWZpY2F0aW9uIHtcbiAgICAmLl9zaG93IHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiAxNXJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcblxuICAgICAgICAubW9kYWwtaW5uZXItd3JhcCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwd2Etbm90aWZpY2F0aW9uX2JhY2tncm91bmQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkcHdhLW5vdGlmaWNhdGlvbl9ib3gtc2hhZG93O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogJHB3YS1ub3RpZmljYXRpb25faGVhZGxpbmUtZm9udC1zaXplO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMnJlbSAxcmVtO1xuICAgIH1cblxuICAgICZfX2Zvb3RlciB7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAycmVtIDJyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgJHR5cGU6ICRwd2Etbm90aWZpY2F0aW9uX2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkcHdhLW5vdGlmaWNhdGlvbl9idXR0b24tdHlwZVxuICAgICAgICApO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRwd2Etbm90aWZpY2F0aW9uX2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJHB3YS1ub3RpZmljYXRpb25fYnV0dG9uLXR5cGVcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKCRwd2Etbm90aWZpY2F0aW9uX2hpZGUtbW9kYWwtb3ZlcmxheSA9PSB0cnVlKSB7XG4gICAgICAgICYgKyAubW9kYWxzLW92ZXJsYXkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5sb2FkaW5nLW1hc2sge1xuICAgICZbZGF0YS1yb2xlPSdtYWluLWNzcy1sb2FkZXInXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBTd2lwZXIgNC40LjZcbiAqIE1vc3QgbW9kZXJuIG1vYmlsZSB0b3VjaCBzbGlkZXIgYW5kIGZyYW1ld29yayB3aXRoIGhhcmR3YXJlIGFjY2VsZXJhdGVkIHRyYW5zaXRpb25zXG4gKiBodHRwOi8vd3d3LmlkYW5nZXJvLnVzL3N3aXBlci9cbiAqXG4gKiBDb3B5cmlnaHQgMjAxNC0yMDE4IFZsYWRpbWlyIEtoYXJsYW1waWRpXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlXG4gKlxuICogUmVsZWFzZWQgb246IERlY2VtYmVyIDE5LCAyMDE4XG4gKi9cbi5zd2lwZXItY29udGFpbmVyLCAuY3MtaW1hZ2UtdGVhc2VyX193cmFwcGVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgLyogRml4IG9mIFdlYmtpdCBmbGlja2VyaW5nICovXG4gIHotaW5kZXg6IDE7IH1cblxuLnN3aXBlci1jb250YWluZXItbm8tZmxleGJveCAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1uby1mbGV4Ym94IC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIsIC5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzIHtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLnN3aXBlci13cmFwcGVyLCAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgLXdlYmtpdC10cmFuc2Zvcm07XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWFuZHJvaWQgLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItYW5kcm9pZCAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSwgLnN3aXBlci13cmFwcGVyLCAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLW11bHRpcm93ID4gLnN3aXBlci13cmFwcGVyLCAuc3dpcGVyLWNvbnRhaW5lci1tdWx0aXJvdyA+IC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlcyB7XG4gIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlID4gLnN3aXBlci13cmFwcGVyLCAuc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgPiAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMge1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5zd2lwZXItc2xpZGUsIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIHtcbiAgLXdlYmtpdC1mbGV4LXNocmluazogMDtcbiAgLW1zLWZsZXgtbmVnYXRpdmU6IDA7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCAtd2Via2l0LXRyYW5zZm9ybTsgfVxuXG4uc3dpcGVyLXNsaWRlLWludmlzaWJsZS1ibGFuayB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4vKiBBdXRvIEhlaWdodCAqL1xuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCxcbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXdyYXBwZXIsIC5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzIHtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGhlaWdodCwgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGhlaWdodCwgLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgaGVpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQsIC13ZWJraXQtdHJhbnNmb3JtOyB9XG5cbi8qIDNEIEVmZmVjdHMgKi9cbi5zd2lwZXItY29udGFpbmVyLTNkIHtcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogMTIwMHB4O1xuICBwZXJzcGVjdGl2ZTogMTIwMHB4OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItd3JhcHBlciwgLnN3aXBlci1jb250YWluZXItM2QgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1jdWJlLXNoYWRvdyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDEwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgcmlnaHQgdG9wLCBsZWZ0IHRvcCwgZnJvbShyZ2JhKDAsIDAsIDAsIDAuNSkpLCB0byhyZ2JhKDAsIDAsIDAsIDApKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQocmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IGJvdHRvbSwgbGVmdCB0b3AsIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbShyZ2JhKDAsIDAsIDAsIDAuNSkpLCB0byhyZ2JhKDAsIDAsIDAsIDApKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuXG4vKiBJRTEwIFdpbmRvd3MgUGhvbmUgOCBGaXhlcyAqL1xuLnN3aXBlci1jb250YWluZXItd3A4LWhvcml6b250YWwsXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtaG9yaXpvbnRhbCA+IC5zd2lwZXItd3JhcHBlcixcbi5zd2lwZXItY29udGFpbmVyLXdwOC1ob3Jpem9udGFsID4gLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7IH1cblxuLnN3aXBlci1jb250YWluZXItd3A4LXZlcnRpY2FsLFxuLnN3aXBlci1jb250YWluZXItd3A4LXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyLFxuLnN3aXBlci1jb250YWluZXItd3A4LXZlcnRpY2FsID4gLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXg7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXg7IH1cblxuLnN3aXBlci1idXR0b24tcHJldixcbi5zd2lwZXItYnV0dG9uLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogMjdweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBtYXJnaW4tdG9wOiAtMjJweDtcbiAgei1pbmRleDogMTA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAyN3B4IDQ0cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tZGlzYWJsZWQsXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjM1O1xuICBjdXJzb3I6IGF1dG87XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXYsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMCUyQzIyTDIyJTJDMGwyLjElMkMyLjFMNC4yJTJDMjJsMTkuOSUyQzE5LjlMMjIlMkM0NEwwJTJDMjJMMCUyQzIyTDAlMkMyMnonJTIwZmlsbCUzRCclMjMwMDdhZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xuICBsZWZ0OiAxMHB4O1xuICByaWdodDogYXV0bzsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDA3YWZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgcmlnaHQ6IDEwcHg7XG4gIGxlZnQ6IGF1dG87IH1cblxuLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLXdoaXRlLFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi13aGl0ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMCUyQzIyTDIyJTJDMGwyLjElMkMyLjFMNC4yJTJDMjJsMTkuOSUyQzE5LjlMMjIlMkM0NEwwJTJDMjJMMCUyQzIyTDAlMkMyMnonJTIwZmlsbCUzRCclMjNmZmZmZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi13aGl0ZSxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24td2hpdGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzZmZmZmZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tYmxhY2ssXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWJsYWNrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyMzAwMDAwMCclMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWJsYWNrLFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1ibGFjayB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMjclMkMyMkwyNyUyQzIyTDUlMkM0NGwtMi4xLTIuMUwyMi44JTJDMjJMMi45JTJDMi4xTDUlMkMwTDI3JTJDMjJMMjclMkMyMnonJTIwZmlsbCUzRCclMjMwMDAwMDAnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbi5zd2lwZXItYnV0dG9uLWxvY2sge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LXRyYW5zaXRpb246IDMwMG1zIG9wYWNpdHk7XG4gIC1vLXRyYW5zaXRpb246IDMwMG1zIG9wYWNpdHk7XG4gIHRyYW5zaXRpb246IDMwMG1zIG9wYWNpdHk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgei1pbmRleDogMTA7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLnN3aXBlci1wYWdpbmF0aW9uLWhpZGRlbiB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLyogQ29tbW9uIFN0eWxlcyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9uLFxuLnN3aXBlci1wYWdpbmF0aW9uLWN1c3RvbSxcbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyB7XG4gIGJvdHRvbTogMTBweDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyogQnVsbGV0cyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1tYWluIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNjYpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldi1wcmV2IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNjYpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dC1uZXh0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3BhY2l0eTogMC4yOyB9XG5cbmJ1dHRvbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tY2xpY2thYmxlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kOiAjMDA3YWZmOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICByaWdodDogMTBweDtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIC01MCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTUwJSwgMCk7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgbWFyZ2luOiA2cHggMDtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICB0b3A6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgd2lkdGg6IDhweDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAtd2Via2l0LXRyYW5zaXRpb246IDIwMG1zIHRvcCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IDIwMG1zIHRvcCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgdG9wO1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHRvcDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyB0b3AsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgbWFyZ2luOiAwIDRweDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgbGVmdDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMjAwbXMgbGVmdCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IDIwMG1zIGxlZnQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIGxlZnQ7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgbGVmdDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyBsZWZ0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsLnN3aXBlci1jb250YWluZXItcnRsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAyMDBtcyByaWdodCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IDIwMG1zIHJpZ2h0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyByaWdodDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyByaWdodDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyByaWdodCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07IH1cblxuLyogUHJvZ3Jlc3MgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICBiYWNrZ3JvdW5kOiAjMDA3YWZmO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLFxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0cHg7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhcixcbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUge1xuICB3aWR0aDogNHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24td2hpdGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYmxhY2sgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1ibGFjayB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogU2Nyb2xsYmFyICovXG4uc3dpcGVyLXNjcm9sbGJhciwgLmNzLWltYWdlLXRlYXNlcl9fc2Nyb2xsYmFyIHtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItc2Nyb2xsYmFyLCAuc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLmNzLWltYWdlLXRlYXNlcl9fc2Nyb2xsYmFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxJTtcbiAgYm90dG9tOiAzcHg7XG4gIHotaW5kZXg6IDUwO1xuICBoZWlnaHQ6IDVweDtcbiAgd2lkdGg6IDk4JTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItc2Nyb2xsYmFyLCAuc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5jcy1pbWFnZS10ZWFzZXJfX3Njcm9sbGJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDNweDtcbiAgdG9wOiAxJTtcbiAgei1pbmRleDogNTA7XG4gIHdpZHRoOiA1cHg7XG4gIGhlaWdodDogOTglOyB9XG5cbi5zd2lwZXItc2Nyb2xsYmFyLWRyYWcsIC5jcy1pbWFnZS10ZWFzZXJfX3Njcm9sbGJhci0tZHJhZyB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLnN3aXBlci1zY3JvbGxiYXItY3Vyc29yLWRyYWcge1xuICBjdXJzb3I6IG1vdmU7IH1cblxuLnN3aXBlci1zY3JvbGxiYXItbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXBlci16b29tLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBpbWcsXG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gc3ZnLFxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGNhbnZhcyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgLW8tb2JqZWN0LWZpdDogY29udGFpbjtcbiAgb2JqZWN0LWZpdDogY29udGFpbjsgfVxuXG4uc3dpcGVyLXNsaWRlLXpvb21lZCB7XG4gIGN1cnNvcjogbW92ZTsgfVxuXG4vKiBQcmVsb2FkZXIgKi9cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXIge1xuICB3aWR0aDogNDJweDtcbiAgaGVpZ2h0OiA0MnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMjFweDtcbiAgbWFyZ2luLXRvcDogLTIxcHg7XG4gIHotaW5kZXg6IDEwO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICAtd2Via2l0LWFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIHN0ZXBzKDEyLCBlbmQpIGluZmluaXRlO1xuICBhbmltYXRpb246IHN3aXBlci1wcmVsb2FkZXItc3BpbiAxcyBzdGVwcygxMiwgZW5kKSBpbmZpbml0ZTsgfVxuXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6ICcnO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMTIwJTIwMTIwJyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB4bWxucyUzQXhsaW5rJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJyUzRSUzQ2RlZnMlM0UlM0NsaW5lJTIwaWQlM0QnbCclMjB4MSUzRCc2MCclMjB4MiUzRCc2MCclMjB5MSUzRCc3JyUyMHkyJTNEJzI3JyUyMHN0cm9rZSUzRCclMjM2YzZjNmMnJTIwc3Ryb2tlLXdpZHRoJTNEJzExJyUyMHN0cm9rZS1saW5lY2FwJTNEJ3JvdW5kJyUyRiUzRSUzQyUyRmRlZnMlM0UlM0NnJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoNjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDkwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxMjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE1MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjM3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTgwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNDYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyMTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy41NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI0MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjY2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjcwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNzUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy44NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMzMCUyMDYwJTJDNjApJyUyRiUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0VcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXItd2hpdGU6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMTIwJTIwMTIwJyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB4bWxucyUzQXhsaW5rJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJyUzRSUzQ2RlZnMlM0UlM0NsaW5lJTIwaWQlM0QnbCclMjB4MSUzRCc2MCclMjB4MiUzRCc2MCclMjB5MSUzRCc3JyUyMHkyJTNEJzI3JyUyMHN0cm9rZSUzRCclMjNmZmYnJTIwc3Ryb2tlLXdpZHRoJTNEJzExJyUyMHN0cm9rZS1saW5lY2FwJTNEJ3JvdW5kJyUyRiUzRSUzQyUyRmRlZnMlM0UlM0NnJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoNjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDkwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxMjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE1MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjM3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTgwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNDYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyMTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy41NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI0MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjY2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjcwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNzUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy44NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMzMCUyMDYwJTJDNjApJyUyRiUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0VcIik7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBzd2lwZXItcHJlbG9hZGVyLXNwaW4ge1xuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbi8qIGExMXkgKi9cbi5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItbm90aWZpY2F0aW9uLCAuY3MtaW1hZ2UtdGVhc2VyX193cmFwcGVyIC5zd2lwZXItbm90aWZpY2F0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAtMTAwMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWZhZGUuc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUge1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cblxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItZmFkZSAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWZhZGUgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWN1YmUgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogMTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSwgLnN3aXBlci1jb250YWluZXItY3ViZSAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItY3ViZS5zd2lwZXItY29udGFpbmVyLXJ0bCAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtcHJldixcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0ICsgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0ICsgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIHotaW5kZXg6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3BhY2l0eTogMC42O1xuICAtd2Via2l0LWZpbHRlcjogYmx1cig1MHB4KTtcbiAgZmlsdGVyOiBibHVyKDUwcHgpO1xuICB6LWluZGV4OiAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWZsaXAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogMTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItZmxpcCAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWZsaXAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgei1pbmRleDogMDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jb3ZlcmZsb3cgLnN3aXBlci13cmFwcGVyLCAuc3dpcGVyLWNvbnRhaW5lci1jb3ZlcmZsb3cgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzIHtcbiAgLyogV2luZG93cyA4IElFIDEwIGZpeCAqL1xuICAtbXMtcGVyc3BlY3RpdmU6IDEyMDBweDsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBSZW1vdmUgYnJvd3NlcidzIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBsaXN0IHN0eWxlIHJ1bGVzXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3MtaW1hZ2UtdGVhc2VyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMCAzcmVtOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlcyB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19maWd1cmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX2ltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19uYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGxpbmVhcjtcbiAgICB6LWluZGV4OiAyMDE7XG4gICAgd2lkdGg6IDUuNXJlbTtcbiAgICBoZWlnaHQ6IDUuNXJlbTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5jcy1pbWFnZS10ZWFzZXJfX25hdiB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXI6aG92ZXIgLmNzLWltYWdlLXRlYXNlcl9fbmF2IHtcbiAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX25hdi0taGlkZGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19uYXYtLWRpc2FibGVkIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fbmF2LS1wcmV2IHtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAgIC5jcy1pbWFnZS10ZWFzZXI6bm90KC5jcy1pbWFnZS10ZWFzZXItLWZ1bGwtd2lkdGgtc2xpZGVyKSAuY3MtaW1hZ2UtdGVhc2VyX19uYXYtLXByZXYge1xuICAgICAgICAgIGxlZnQ6IC0yLjc1cmVtO1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX25hdi0tbmV4dCB7XG4gICAgICByaWdodDogMDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgICAgLmNzLWltYWdlLXRlYXNlcjpub3QoLmNzLWltYWdlLXRlYXNlci0tZnVsbC13aWR0aC1zbGlkZXIpIC5jcy1pbWFnZS10ZWFzZXJfX25hdi0tbmV4dCB7XG4gICAgICAgICAgcmlnaHQ6IC0yLjc1cmVtO1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItLXJlYWR5IC5jcy1pbWFnZS10ZWFzZXJfX25hdjpub3QoLmNzLWltYWdlLXRlYXNlcl9fbmF2LS1kaXNhYmxlZCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19uYXY6aG92ZXIsIC5jcy1pbWFnZS10ZWFzZXJfX25hdjphY3RpdmUsIC5jcy1pbWFnZS10ZWFzZXJfX25hdjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlcl9fbmF2IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fbmF2LWljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgICB3aWR0aDogMi40cmVtO1xuICAgIGhlaWdodDogMy43cmVtO1xuICAgIGZpbGw6ICNGRjQ2MDQ7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fcGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMC41cmVtIDAgMDtcbiAgICBtaW4taGVpZ2h0OiAzcmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICM2OTY5Njk7XG4gICAgei1pbmRleDogMjAwOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fcGFnaW5hdGlvbi0taGlkZGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fcGFnaW5hdGlvbi1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwLjRyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmMGYwZjA7XG4gICAgd2lkdGg6IDIuMnJlbTtcbiAgICBoZWlnaHQ6IDAuOXJlbTtcbiAgICB0cmFuc2Zvcm06IHNrZXcoLTE4ZGVnKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fcGFnaW5hdGlvbi1pdGVtOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNkY2RjZGM7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19wYWdpbmF0aW9uLWl0ZW0tLWFjdGl2ZSwgLmNzLWltYWdlLXRlYXNlcl9fcGFnaW5hdGlvbi1pdGVtLS1hY3RpdmU6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZlZDQwMDsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19wYWdpbmF0aW9uLWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX251bWJlciB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX251bWJlci0tY3VycmVudCB7XG4gICAgICBjb2xvcjogI0ZGNDYwNDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1pbWFnZS10ZWFzZXIge1xuICAgICAgbWFyZ2luOiAwIDAgNHJlbTsgfSB9XG4gIC5jcy1pbWFnZS10ZWFzZXItLXNraXAtc3BhY2luZyB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXItLXdpbmRvdy13aWR0aCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyOm5vdCguY3MtaW1hZ2UtdGVhc2VyLS1zbGlkZXIpIC5jcy1pbWFnZS10ZWFzZXJfX25hdixcbiAgLmNzLWltYWdlLXRlYXNlcjpub3QoLmNzLWltYWdlLXRlYXNlci0tc2xpZGVyKSAuY3MtaW1hZ2UtdGVhc2VyX19wYWdpbmF0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXI6bm90KC5jcy1pbWFnZS10ZWFzZXItLXNsaWRlcikgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLS1pdGVtcy1pbi1yb3ctbW9iaWxlLTEgLmNzLWltYWdlLXRlYXNlcjpub3QoLmNzLWltYWdlLXRlYXNlci0tc2xpZGVyKSAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fY2Fyb3VzZWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItLWdyaWQtdGVhc2VyIC5jcy1pbWFnZS10ZWFzZXJfX2Nhcm91c2VsIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX193cmFwcGVyIHtcbiAgICBtYXJnaW46IC0wLjRyZW07XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDAuOHJlbSk7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX193cmFwcGVyLS1jb250ZW50LXVuZGVyIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyX193cmFwcGVyLS1jb250ZW50LXVuZGVyIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fY29udGVudCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyMTIxMjE7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXJfX3dyYXBwZXItLWNvbnRlbnQtdW5kZXIgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fd3JhcHBlci0tY29udGVudC11bmRlciAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb3ZlcmZsb3c6IGluaXRpYWw7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX193cmFwcGVyLS1jb250ZW50LXVuZGVyIC5jcy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZzogMnJlbSAycmVtIDA7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX193cmFwcGVyLS1jb250ZW50LXVuZGVyIC5jcy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogLTNyZW0gMCAwO1xuICAgICAgcGFkZGluZzogMnJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLS1pdGVtcy1pbi1yb3ctMiAuY3MtaW1hZ2UtdGVhc2VyX193cmFwcGVyLS1jb250ZW50LXVuZGVyIC5jcy1pbWFnZS10ZWFzZXJfX3Nsb2dhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS45NWVtOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLS1pdGVtcy1pbi1yb3ctMiAuY3MtaW1hZ2UtdGVhc2VyX193cmFwcGVyLS1jb250ZW50LXVuZGVyIC5jcy1pbWFnZS10ZWFzZXJfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjJlbTsgfSB9XG4gICAgLmNzLWltYWdlLXRlYXNlci0tZ3JpZC10ZWFzZXIgLmNzLWltYWdlLXRlYXNlcl9fd3JhcHBlciB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMtLW1vc2FpYy1zY2VuYXJpby0xIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlOmZpcnN0LWNoaWxkIHtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMykgKiAyKTsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzLS1tb3NhaWMtc2NlbmFyaW8tMSAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZTpmaXJzdC1jaGlsZCAuY3MtaW1hZ2UtdGVhc2VyX19zbG9nYW4ge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlcy0tbW9zYWljLXNjZW5hcmlvLTEgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGU6Zmlyc3QtY2hpbGQgLmNzLWltYWdlLXRlYXNlcl9fZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlcy0tbW9zYWljLXNjZW5hcmlvLTEgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGU6bGFzdC1jaGlsZCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlcy0tbW9zYWljLXNjZW5hcmlvLTEgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGU6bGFzdC1jaGlsZCAuY3MtaW1hZ2UtdGVhc2VyX19zbG9nYW4ge1xuICAgICAgICBmb250LXNpemU6IDYwcHg7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlcy0tbW9zYWljLXNjZW5hcmlvLTEgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGU6bGFzdC1jaGlsZCAuY3MtaW1hZ2UtdGVhc2VyX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi40cmVtOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzLS1tb3NhaWMtc2NlbmFyaW8tMiAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZTpmaXJzdC1jaGlsZCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlcy0tbW9zYWljLXNjZW5hcmlvLTIgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGU6Zmlyc3QtY2hpbGQgLmNzLWltYWdlLXRlYXNlcl9fc2xvZ2FuIHtcbiAgICAgICAgZm9udC1zaXplOiA2MHB4OyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMtLW1vc2FpYy1zY2VuYXJpby0yIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlOmZpcnN0LWNoaWxkIC5jcy1pbWFnZS10ZWFzZXJfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjRyZW07IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMtLW1vc2FpYy1zY2VuYXJpby0yIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlOmxhc3QtY2hpbGQge1xuICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAzKSAqIDIpOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMtLW1vc2FpYy1zY2VuYXJpby0yIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlOmxhc3QtY2hpbGQgLmNzLWltYWdlLXRlYXNlcl9fc2xvZ2FuIHtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4OyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMtLW1vc2FpYy1zY2VuYXJpby0yIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlOmxhc3QtY2hpbGQgLmNzLWltYWdlLXRlYXNlcl9fZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTsgfSB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIHtcbiAgICBwYWRkaW5nOiAwLjRyZW07XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci0taXRlbXMtaW4tcm93LW1vYmlsZS0yIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLS10ZWFzZXItYW5kLXRleHQgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUge1xuICAgICAgb3JkZXI6IDI7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItLXRlYXNlci1hbmQtdGV4dCAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZTpub3QoLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLWltYWdlLXVwbG9hZGVkKSA+IC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLXdyYXBwZXIge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgICAgLmNzLWltYWdlLXRlYXNlci0tdGVhc2VyLWFuZC10ZXh0IC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlOm5vdCguY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0taW1hZ2UtdXBsb2FkZWQpIC5jcy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMtLW1vYmlsZS10ZXh0LWltYWdlIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1pbWFnZS11cGxvYWRlZCB7XG4gICAgICAgIG9yZGVyOiAzOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzLS1tb2JpbGUtaW1hZ2UtdGV4dCAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0taW1hZ2UtdXBsb2FkZWQge1xuICAgICAgICBvcmRlcjogMTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItLWl0ZW1zLWluLXJvdy0yIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIHtcbiAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItLWl0ZW1zLWluLXJvdy0zIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIHtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItLWl0ZW1zLWluLXJvdy00IC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIHtcbiAgICAgICAgd2lkdGg6IDI1JTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItLWl0ZW1zLWluLXJvdy01IC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIHtcbiAgICAgICAgd2lkdGg6IDIwJTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItLWl0ZW1zLWluLXJvdy02IC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIHtcbiAgICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItLWl0ZW1zLWluLXJvdy03IC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIHtcbiAgICAgICAgd2lkdGg6IDE0LjI4NTcxJTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItLWl0ZW1zLWluLXJvdy04IC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIHtcbiAgICAgICAgd2lkdGg6IDEyLjUlOyB9IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLS1ncmlkLXRlYXNlciAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci0tY21zLXRlYXNlciAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZTpub3QoLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLWltYWdlLXVwbG9hZGVkKSA+IC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLXdyYXBwZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItLWJhY2tsaW5rIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlOm5vdCguY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0taW1hZ2UtdXBsb2FkZWQpID4gLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtd3JhcHBlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGU6bm90KC5yZWFkeSkgLmNzLWltYWdlLXRlYXNlcl9fY29udGVudC13cmFwcGVyIHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtd3JhcHBlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLXdyYXBwZXIsIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLXdyYXBwZXI6aG92ZXIsIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLXdyYXBwZXI6Zm9jdXMge1xuICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLS1pbnN0YWdyYW0tZmVlZCAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS13cmFwcGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLS1pbnN0YWdyYW0tZmVlZCAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS13cmFwcGVyOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMDAlOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodDpub3QoLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLWltYWdlLXVwbG9hZGVkKSAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS13cmFwcGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMyMTIxMjE7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcms6bm90KC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1pbWFnZS11cGxvYWRlZCkgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtd3JhcHBlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXItLWluc3RhZ3JhbS1mZWVkIC5jcy1pbWFnZS10ZWFzZXJfX2ZpZ3VyZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyLS1ncmlkLXRlYXNlciAuY3MtaW1hZ2UtdGVhc2VyX19maWd1cmUge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItLWdyaWQtdGVhc2VyIC5jcy1pbWFnZS10ZWFzZXJfX2ZpZ3VyZSBpbWcge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8gfiAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS13cmFwcGVyLFxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB+IC5jcy1pbWFnZS10ZWFzZXJfX2ZpZ3VyZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDAuNHJlbTtcbiAgICAgIGxlZnQ6IDAuNHJlbTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjhyZW0pOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyX193cmFwcGVyOm5vdCguY3MtaW1hZ2UtdGVhc2VyX193cmFwcGVyLS1jb250ZW50LXVuZGVyKSAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8gfiAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS13cmFwcGVyLCAuY3MtaW1hZ2UtdGVhc2VyX193cmFwcGVyOm5vdCguY3MtaW1hZ2UtdGVhc2VyX193cmFwcGVyLS1jb250ZW50LXVuZGVyKVxuICAgICAgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIH4gLmNzLWltYWdlLXRlYXNlcl9fZmlndXJlIHtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAwLjhyZW0pOyB9XG4gICAgICAgIC5jcy1pbWFnZS10ZWFzZXItLWdyaWQtdGVhc2VyIC5jcy1pbWFnZS10ZWFzZXJfX3dyYXBwZXI6bm90KC5jcy1pbWFnZS10ZWFzZXJfX3dyYXBwZXItLWNvbnRlbnQtdW5kZXIpIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB+IC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLXdyYXBwZXIsIC5jcy1pbWFnZS10ZWFzZXItLWdyaWQtdGVhc2VyIC5jcy1pbWFnZS10ZWFzZXJfX3dyYXBwZXI6bm90KC5jcy1pbWFnZS10ZWFzZXJfX3dyYXBwZXItLWNvbnRlbnQtdW5kZXIpXG4gICAgICAgIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB+IC5jcy1pbWFnZS10ZWFzZXJfX2ZpZ3VyZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLS1ncmlkLXRlYXNlciAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8gfiAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS13cmFwcGVyLCAuY3MtaW1hZ2UtdGVhc2VyLS1ncmlkLXRlYXNlclxuICAgICAgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIH4gLmNzLWltYWdlLXRlYXNlcl9fZmlndXJlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQge1xuICAgIG1heC13aWR0aDogMzgwcHg7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fY29udGVudC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgb3BhY2l0eTogMTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX3dyYXBwZXItLWNvbnRlbnQtb3ZlciAuY3MtaW1hZ2UtdGVhc2VyX19jb250ZW50LXdyYXBwZXIge1xuICAgICAgcGFkZGluZzogMyUgNiU7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1pbWFnZS10ZWFzZXJfX3dyYXBwZXItLWNvbnRlbnQtb3ZlciAuY3MtaW1hZ2UtdGVhc2VyX19jb250ZW50LXdyYXBwZXIge1xuICAgICAgICAgIHBhZGRpbmc6IDklIDEwJTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyLS1pdGVtcy1pbi1yb3ctMyAuY3MtaW1hZ2UtdGVhc2VyX193cmFwcGVyLS1jb250ZW50LW92ZXIgLmNzLWltYWdlLXRlYXNlcl9fY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgICBwYWRkaW5nOiA1LjY0JTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyLS1pdGVtcy1pbi1yb3ctNCAuY3MtaW1hZ2UtdGVhc2VyX193cmFwcGVyLS1jb250ZW50LW92ZXIgLmNzLWltYWdlLXRlYXNlcl9fY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgICBwYWRkaW5nOiA3LjUyJTsgfSB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fY29udGVudC13cmFwcGVyLS1jb250ZW50LWFsaWduLXgtMiB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQtd3JhcHBlci0tY29udGVudC1hbGlnbi14LTMge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fY29udGVudC13cmFwcGVyLS1jb250ZW50LWFsaWduLXktMiB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fY29udGVudC13cmFwcGVyLS1jb250ZW50LWFsaWduLXktMyB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fY29udGVudC0tY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogaW5oZXJpdDsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudCB7XG4gICAgICBjb2xvcjogIzIxMjEyMTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbG9nYW4ge1xuICAgIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBPeHlnZW4sIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgICBmb250LXNpemU6IDIuOHJlbTtcbiAgICBjb2xvcjogIzIxMjEyMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luOiAxcmVtIDAgMnJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsaW5lLWhlaWdodDogNDdweDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX19zbG9nYW4ge1xuICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlcl9fc2xvZ2FuIHtcbiAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsaW5lLWhlaWdodDogMzRweDsgfSB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICAqICsgLmNzLWltYWdlLXRlYXNlcl9fZGVzY3JpcHRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogMC41ZW07IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fZGVzY3JpcHRpb24ge1xuICAgICAgY29sb3I6IGluaGVyaXQ7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3OS45OWVtKSB7XG4gIC5jcy1pbWFnZS10ZWFzZXItLWl0ZW1zLWluLXJvdy00IC5jcy1pbWFnZS10ZWFzZXJfX2Rlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6IDEuNzVlbTsgfSB9XG4gICogKyAuY3MtaW1hZ2UtdGVhc2VyX19jdGEge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjRlbSkge1xuICAgICAgKiArIC5jcy1pbWFnZS10ZWFzZXJfX2N0YSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH0gfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19jdGEtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gICAgcGFkZGluZzogOHB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgbWluLXdpZHRoOiAxMzJweDsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX2N0YS1idXR0b24ubWVkaXVtIHtcbiAgICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fY3RhLWJ1dHRvbi5sYXJnZSB7XG4gICAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX2N0YS1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX2N0YS1idXR0b24sIC5jcy1pbWFnZS10ZWFzZXJfX2N0YS1idXR0b246dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlcl9fY3RhLWJ1dHRvbiAqLCAuY3MtaW1hZ2UtdGVhc2VyX19jdGEtYnV0dG9uOnZpc2l0ZWQgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmaWxsOiAjRkY0NjA0OyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fY3RhLWJ1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1pbWFnZS10ZWFzZXJfX2N0YS1idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtaW1hZ2UtdGVhc2VyX19jdGEtYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNFM0UzRTsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlcl9fY3RhLWJ1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWltYWdlLXRlYXNlcl9fY3RhLWJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWltYWdlLXRlYXNlcl9fY3RhLWJ1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX2N0YS1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IGF1dG87IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlcl9fY3RhLWJ1dHRvbiB7XG4gICAgICAgIHBhZGRpbmc6IDExcHggMTVweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1pbWFnZS10ZWFzZXJfX2N0YS1idXR0b24ge1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgbWluLXdpZHRoOiAxNDBweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgIC5jcy1pbWFnZS10ZWFzZXJfX2N0YS1idXR0b24ge1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyX19jdGEtYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07IH0gfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19jdGEtYnV0dG9uLXNwYW4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19jdGEtYnV0dG9uLWljb24ge1xuICAgIG1heC13aWR0aDogMWVtO1xuICAgIG1heC1oZWlnaHQ6IDEuNHJlbTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX2JhZGdlIHtcbiAgICBmb250LXNpemU6IDEuMWVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuN2VtO1xuICAgIGxlZnQ6IDAuN2VtO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQ6ICNGRjQ2MDQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcGFkZGluZzogMC45ZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDM7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19iYWRnZTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctdG9wOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAwOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fYmFkZ2UtLWFsaWduLXgtMiB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19iYWRnZS0tYWxpZ24teC0zIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogMC43ZW07IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19iYWRnZS0tYWxpZ24teS0yIHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyX19iYWRnZS0tYWxpZ24teS0yLmNzLWltYWdlLXRlYXNlcl9fYmFkZ2UtLWFsaWduLXgtMiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fYmFkZ2UtLWFsaWduLXktMyB7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBib3R0b206IDAuN2VtOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fYmFkZ2Ugc21hbGwge1xuICAgICAgZm9udC1zaXplOiA3NSU7XG4gICAgICBsaW5lLWhlaWdodDogNzUlOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fYmFkZ2Ugc21hbGwsXG4gICAgLmNzLWltYWdlLXRlYXNlcl9fYmFkZ2UgYmlnIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjJyZW07XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXJfX2JhZGdlIHNtYWxsOmxhc3QtY2hpbGQsXG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyX19iYWRnZSBiaWc6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX2JhZGdlLXNwYW4ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19vdmVybGF5LCAuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTElO1xuICAgIGxlZnQ6IC0xJTtcbiAgICB3aWR0aDogMTAyJTtcbiAgICBoZWlnaHQ6IDEwMiU7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX19vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMjEyMTIxOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX19vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi14LTEuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXktMSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzIxMjEyMSAwJSwgcmdiYSgzMywgMzMsIDMzLCAwKSA4NSUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXgtMS5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teS0xIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZmZmZmZmIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDg1JSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXgtMS5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teS0yIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICMyMTIxMjEgMCUsIHJnYmEoMzMsIDMzLCAzMywgMCkgODUlKTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi14LTEuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXktMiB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjZmZmZmZmIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDg1JSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXgtMS5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teS0zIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsICMyMTIxMjEgMCUsIHJnYmEoMzMsIDMzLCAzMywgMCkgODUlKTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi14LTEuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXktMyB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAjZmZmZmZmIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDg1JSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXgtMi5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teS0xIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMjEyMTIxIDAlLCByZ2JhKDMzLCAzMywgMzMsIDApIDg1JSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teC0yLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi15LTEge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNmZmZmZmYgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgODUlKTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teC0yLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi15LTIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzIxMjEyMSAwJSwgcmdiYSgzMywgMzMsIDMzLCAwKSA4NSUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXgtMi5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teS0yIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNmZmZmZmYgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgODUlKTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teC0yLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi15LTMge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCAjMjEyMTIxIDAlLCByZ2JhKDMzLCAzMywgMzMsIDApIDg1JSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teC0yLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi15LTMge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCAjZmZmZmZmIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDg1JSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXgtMy5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teS0xIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTEzNWRlZywgIzIxMjEyMSAwJSwgcmdiYSgzMywgMzMsIDMzLCAwKSA4NSUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXgtMy5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teS0xIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTEzNWRlZywgI2ZmZmZmZiAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA4NSUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi14LTMuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXktMiB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC05MGRlZywgIzIxMjEyMSAwJSwgcmdiYSgzMywgMzMsIDMzLCAwKSA4NSUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXgtMy5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teS0yIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTkwZGVnLCAjZmZmZmZmIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDg1JSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXgtMy5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teS0zIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAjMjEyMTIxIDAlLCByZ2JhKDMzLCAzMywgMzMsIDApIDg1JSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teC0zLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi15LTMge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsICNmZmZmZmYgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgODUlKTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19pbWFnZSB7XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICBmb250OiAwLzAgYTtcbiAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9faW1hZ2UtLW1pcnJvciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fb3B0aW1pemVyLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAtMTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX19vcHRpbWl6ZXItY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX29wdGltaXplci1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjEyMTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy0wIHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDApOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTUge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctMTAge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy0xNSB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy0yMCB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTI1IHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTMwIHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctMzUge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctNDAge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy00NSB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQ1KTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy01MCB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTU1IHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNTUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTYwIHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctNjUge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42NSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctNzAge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy03NSB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy04MCB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTg1IHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTkwIHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctOTUge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctMTAwIHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSB3aGl0ZTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctMCB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgzMywgMzMsIDMzLCAwKTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctNSB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgzMywgMzMsIDMzLCAwLjA1KTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctMTAge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMzMsIDMzLCAzMywgMC4xKTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctMTUge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMzMsIDMzLCAzMywgMC4xNSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTIwIHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDMzLCAzMywgMzMsIDAuMik7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTI1IHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDMzLCAzMywgMzMsIDAuMjUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy0zMCB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgzMywgMzMsIDMzLCAwLjMpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy0zNSB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgzMywgMzMsIDMzLCAwLjM1KTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctNDAge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMzMsIDMzLCAzMywgMC40KTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctNDUge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMzMsIDMzLCAzMywgMC40NSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTUwIHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDMzLCAzMywgMzMsIDAuNSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTU1IHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDMzLCAzMywgMzMsIDAuNTUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy02MCB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgzMywgMzMsIDMzLCAwLjYpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy02NSB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgzMywgMzMsIDMzLCAwLjY1KTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctNzAge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMzMsIDMzLCAzMywgMC43KTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctNzUge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMzMsIDMzLCAzMywgMC43NSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTgwIHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDMzLCAzMywgMzMsIDAuOCk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTg1IHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDMzLCAzMywgMzMsIDAuODUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy05MCB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgzMywgMzMsIDMzLCAwLjkpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy05NSB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgzMywgMzMsIDMzLCAwLjk1KTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctMTAwIHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSAjMjEyMTIxOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXItLWdyaWQtdGVhc2VyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWltYWdlLXRlYXNlci0taGVyby10ZWFzZXIge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWltYWdlLXRlYXNlci0taGVyby10ZWFzZXIgLmNzLWltYWdlLXRlYXNlcl9fd3JhcHBlciB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfSB9XG4gIC5jcy1pbWFnZS10ZWFzZXItLWhlcm8tdGVhc2VyIC5jcy1pbWFnZS10ZWFzZXJfX2Nhcm91c2VsIHtcbiAgICBwb3NpdGlvbjogc3RhdGljOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgLmNzLWltYWdlLXRlYXNlci0taGVyby10ZWFzZXIuY3MtaW1hZ2UtdGVhc2VyLS1hcy1saXN0LW1vYmlsZSAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci0taGVyby10ZWFzZXIuY3MtaW1hZ2UtdGVhc2VyLS1hcy1saXN0LW1vYmlsZSAuY3MtaW1hZ2UtdGVhc2VyX19wYWdpbmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uY3MtY29udGFpbmVyLS1pbWFnZS10ZWFzZXItd2luZG93LXdpZHRoIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmNzLWNvbnRhaW5lci0taW1hZ2UtdGVhc2VyLXdpbmRvdy13aWR0aCAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5jcy1jb250YWluZXItLWhlcm8tdGVhc2VyIC5jcy1pbWFnZS10ZWFzZXIge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiIsIi8qKlxuICogU3dpcGVyIDQuNC42XG4gKiBNb3N0IG1vZGVybiBtb2JpbGUgdG91Y2ggc2xpZGVyIGFuZCBmcmFtZXdvcmsgd2l0aCBoYXJkd2FyZSBhY2NlbGVyYXRlZCB0cmFuc2l0aW9uc1xuICogaHR0cDovL3d3dy5pZGFuZ2Vyby51cy9zd2lwZXIvXG4gKlxuICogQ29weXJpZ2h0IDIwMTQtMjAxOCBWbGFkaW1pciBLaGFybGFtcGlkaVxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZVxuICpcbiAqIFJlbGVhc2VkIG9uOiBEZWNlbWJlciAxOSwgMjAxOFxuICovXG5cblxuXG4gLnN3aXBlci1jb250YWluZXIge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICAvKiBGaXggb2YgV2Via2l0IGZsaWNrZXJpbmcgKi9cbiAgICB6LWluZGV4OiAxO1xufVxuLnN3aXBlci1jb250YWluZXItbm8tZmxleGJveCAuc3dpcGVyLXNsaWRlIHtcbiAgICBmbG9hdDogbGVmdDtcbn1cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyIHtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLnN3aXBlci13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgLXdlYmtpdC10cmFuc2Zvcm07XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWFuZHJvaWQgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItd3JhcHBlciB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xufVxuLnN3aXBlci1jb250YWluZXItbXVsdGlyb3cgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuLnN3aXBlci1zbGlkZSB7XG4gICAgLXdlYmtpdC1mbGV4LXNocmluazogMDtcbiAgICAtbXMtZmxleC1uZWdhdGl2ZTogMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XG4gICAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIC13ZWJraXQtdHJhbnNmb3JtO1xufVxuLnN3aXBlci1zbGlkZS1pbnZpc2libGUtYmxhbmsge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi8qIEF1dG8gSGVpZ2h0ICovXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0LFxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXNsaWRlIHtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItd3JhcHBlciB7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0LCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBoZWlnaHQsIC13ZWJraXQtdHJhbnNmb3JtO1xuICAgIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgaGVpZ2h0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgaGVpZ2h0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgaGVpZ2h0LCAtd2Via2l0LXRyYW5zZm9ybTtcbn1cbi8qIDNEIEVmZmVjdHMgKi9cbi5zd2lwZXItY29udGFpbmVyLTNkIHtcbiAgICAtd2Via2l0LXBlcnNwZWN0aXZlOiAxMjAwcHg7XG4gICAgcGVyc3BlY3RpdmU6IDEyMDBweDtcbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItd3JhcHBlcixcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiAxMDtcbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQoXG4gICAgICAgIGxpbmVhcixcbiAgICAgICAgcmlnaHQgdG9wLFxuICAgICAgICBsZWZ0IHRvcCxcbiAgICAgICAgZnJvbShyZ2JhKDAsIDAsIDAsIDAuNSkpLFxuICAgICAgICB0byhyZ2JhKDAsIDAsIDAsIDApKVxuICAgICk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoXG4gICAgICAgIHJpZ2h0LFxuICAgICAgICByZ2JhKDAsIDAsIDAsIDAuNSksXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMClcbiAgICApO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChcbiAgICAgICAgcmlnaHQsXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMC41KSxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwKVxuICAgICk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICB0byBsZWZ0LFxuICAgICAgICByZ2JhKDAsIDAsIDAsIDAuNSksXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMClcbiAgICApO1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQoXG4gICAgICAgIGxpbmVhcixcbiAgICAgICAgbGVmdCB0b3AsXG4gICAgICAgIHJpZ2h0IHRvcCxcbiAgICAgICAgZnJvbShyZ2JhKDAsIDAsIDAsIDAuNSkpLFxuICAgICAgICB0byhyZ2JhKDAsIDAsIDAsIDApKVxuICAgICk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoXG4gICAgICAgIGxlZnQsXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMC41KSxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwKVxuICAgICk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KFxuICAgICAgICBsZWZ0LFxuICAgICAgICByZ2JhKDAsIDAsIDAsIDAuNSksXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMClcbiAgICApO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgdG8gcmlnaHQsXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMC41KSxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwKVxuICAgICk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQoXG4gICAgICAgIGxpbmVhcixcbiAgICAgICAgbGVmdCBib3R0b20sXG4gICAgICAgIGxlZnQgdG9wLFxuICAgICAgICBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksXG4gICAgICAgIHRvKHJnYmEoMCwgMCwgMCwgMCkpXG4gICAgKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChcbiAgICAgICAgYm90dG9tLFxuICAgICAgICByZ2JhKDAsIDAsIDAsIDAuNSksXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMClcbiAgICApO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChcbiAgICAgICAgYm90dG9tLFxuICAgICAgICByZ2JhKDAsIDAsIDAsIDAuNSksXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMClcbiAgICApO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgdG8gdG9wLFxuICAgICAgICByZ2JhKDAsIDAsIDAsIDAuNSksXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMClcbiAgICApO1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KFxuICAgICAgICBsaW5lYXIsXG4gICAgICAgIGxlZnQgdG9wLFxuICAgICAgICBsZWZ0IGJvdHRvbSxcbiAgICAgICAgZnJvbShyZ2JhKDAsIDAsIDAsIDAuNSkpLFxuICAgICAgICB0byhyZ2JhKDAsIDAsIDAsIDApKVxuICAgICk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoXG4gICAgICAgIHRvcCxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwLjUpLFxuICAgICAgICByZ2JhKDAsIDAsIDAsIDApXG4gICAgKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoXG4gICAgICAgIHRvcCxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwLjUpLFxuICAgICAgICByZ2JhKDAsIDAsIDAsIDApXG4gICAgKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIHRvIGJvdHRvbSxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwLjUpLFxuICAgICAgICByZ2JhKDAsIDAsIDAsIDApXG4gICAgKTtcbn1cbi8qIElFMTAgV2luZG93cyBQaG9uZSA4IEZpeGVzICovXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtaG9yaXpvbnRhbCxcbi5zd2lwZXItY29udGFpbmVyLXdwOC1ob3Jpem9udGFsID4gLnN3aXBlci13cmFwcGVyIHtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuLnN3aXBlci1jb250YWluZXItd3A4LXZlcnRpY2FsLFxuLnN3aXBlci1jb250YWluZXItd3A4LXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyIHtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teDtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi14O1xufVxuLnN3aXBlci1idXR0b24tcHJldixcbi5zd2lwZXItYnV0dG9uLW5leHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogMjdweDtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgbWFyZ2luLXRvcDogLTIycHg7XG4gICAgei1pbmRleDogMTA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjdweCA0NHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWRpc2FibGVkLFxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjM1O1xuICAgIGN1cnNvcjogYXV0bztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zd2lwZXItYnV0dG9uLXByZXYsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyMzAwN2FmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XG4gICAgbGVmdDogMTBweDtcbiAgICByaWdodDogYXV0bztcbn1cbi5zd2lwZXItYnV0dG9uLW5leHQsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyMzAwN2FmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgbGVmdDogYXV0bztcbn1cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi13aGl0ZSxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24td2hpdGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMCUyQzIyTDIyJTJDMGwyLjElMkMyLjFMNC4yJTJDMjJsMTkuOSUyQzE5LjlMMjIlMkM0NEwwJTJDMjJMMCUyQzIyTDAlMkMyMnonJTIwZmlsbCUzRCclMjNmZmZmZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xufVxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLXdoaXRlLFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi13aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyM2ZmZmZmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tYmxhY2ssXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWJsYWNrIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDAwMDAwJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbn1cbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1ibGFjayxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tYmxhY2sge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMjclMkMyMkwyNyUyQzIyTDUlMkM0NGwtMi4xLTIuMUwyMi44JTJDMjJMMi45JTJDMi4xTDUlMkMwTDI3JTJDMjJMMjclMkMyMnonJTIwZmlsbCUzRCclMjMwMDAwMDAnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xufVxuLnN3aXBlci1idXR0b24tbG9jayB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IDMwMG1zIG9wYWNpdHk7XG4gICAgLW8tdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTtcbiAgICB0cmFuc2l0aW9uOiAzMDBtcyBvcGFjaXR5O1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHotaW5kZXg6IDEwO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLnN3aXBlci1wYWdpbmF0aW9uLWhpZGRlbiB7XG4gICAgb3BhY2l0eTogMDtcbn1cbi8qIENvbW1vbiBTdHlsZXMgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbixcbi5zd2lwZXItcGFnaW5hdGlvbi1jdXN0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICAgIGJvdHRvbTogMTBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuLyogQnVsbGV0cyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmb250LXNpemU6IDA7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1tYWluIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldiB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYtcHJldiB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0LW5leHQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIG9wYWNpdHk6IDAuMjtcbn1cbmJ1dHRvbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tY2xpY2thYmxlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGJhY2tncm91bmQ6ICMwMDdhZmY7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcbiAgICByaWdodDogMTBweDtcbiAgICB0b3A6IDUwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTUwJSwgMCk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbFxuICAgID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHNcbiAgICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICBtYXJnaW46IDZweCAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWxcbiAgICA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gICAgdG9wOiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgd2lkdGg6IDhweDtcbn1cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsXG4gICAgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWNcbiAgICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAyMDBtcyB0b3AsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb246IDIwMG1zIHRvcCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gICAgLW8tdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyB0b3A7XG4gICAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyB0b3A7XG4gICAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyB0b3AsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xufVxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbFxuICAgID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHNcbiAgICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICBtYXJnaW46IDAgNHB4O1xufVxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbFxuICAgID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWxcbiAgICA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pY1xuICAgIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMjAwbXMgbGVmdCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbjogMjAwbXMgbGVmdCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gICAgLW8tdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyBsZWZ0O1xuICAgIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgbGVmdDtcbiAgICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIGxlZnQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xufVxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbC5zd2lwZXItY29udGFpbmVyLXJ0bFxuICAgID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pY1xuICAgIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMjAwbXMgcmlnaHQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb246IDIwMG1zIHJpZ2h0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICAtby10cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHJpZ2h0O1xuICAgIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgcmlnaHQ7XG4gICAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyByaWdodCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG59XG4vKiBQcm9ncmVzcyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gICAgYmFja2dyb3VuZDogIzAwN2FmZjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xufVxuLnN3aXBlci1jb250YWluZXItcnRsXG4gICAgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyXG4gICAgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xufVxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhcixcbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsXG4gICAgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIsXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsXG4gICAgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUge1xuICAgIHdpZHRoOiA0cHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlXG4gICAgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYmxhY2sgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tYmxhY2sge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tYmxhY2tcbiAgICAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gICAgYmFja2dyb3VuZDogIzAwMDAwMDtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1sb2NrIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLyogU2Nyb2xsYmFyICovXG4uc3dpcGVyLXNjcm9sbGJhciB7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1zY3JvbGxiYXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAxJTtcbiAgICBib3R0b206IDNweDtcbiAgICB6LWluZGV4OiA1MDtcbiAgICBoZWlnaHQ6IDVweDtcbiAgICB3aWR0aDogOTglO1xufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXNjcm9sbGJhciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAzcHg7XG4gICAgdG9wOiAxJTtcbiAgICB6LWluZGV4OiA1MDtcbiAgICB3aWR0aDogNXB4O1xuICAgIGhlaWdodDogOTglO1xufVxuLnN3aXBlci1zY3JvbGxiYXItZHJhZyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbn1cbi5zd2lwZXItc2Nyb2xsYmFyLWN1cnNvci1kcmFnIHtcbiAgICBjdXJzb3I6IG1vdmU7XG59XG4uc3dpcGVyLXNjcm9sbGJhci1sb2NrIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLnN3aXBlci16b29tLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGltZyxcbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBzdmcsXG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gY2FudmFzIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAtby1vYmplY3QtZml0OiBjb250YWluO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG4uc3dpcGVyLXNsaWRlLXpvb21lZCB7XG4gICAgY3Vyc29yOiBtb3ZlO1xufVxuLyogUHJlbG9hZGVyICovXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyIHtcbiAgICB3aWR0aDogNDJweDtcbiAgICBoZWlnaHQ6IDQycHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTIxcHg7XG4gICAgbWFyZ2luLXRvcDogLTIxcHg7XG4gICAgei1pbmRleDogMTA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IHN3aXBlci1wcmVsb2FkZXItc3BpbiAxcyBzdGVwcygxMiwgZW5kKSBpbmZpbml0ZTtcbiAgICBhbmltYXRpb246IHN3aXBlci1wcmVsb2FkZXItc3BpbiAxcyBzdGVwcygxMiwgZW5kKSBpbmZpbml0ZTtcbn1cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXI6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMTIwJTIwMTIwJyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB4bWxucyUzQXhsaW5rJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJyUzRSUzQ2RlZnMlM0UlM0NsaW5lJTIwaWQlM0QnbCclMjB4MSUzRCc2MCclMjB4MiUzRCc2MCclMjB5MSUzRCc3JyUyMHkyJTNEJzI3JyUyMHN0cm9rZSUzRCclMjM2YzZjNmMnJTIwc3Ryb2tlLXdpZHRoJTNEJzExJyUyMHN0cm9rZS1saW5lY2FwJTNEJ3JvdW5kJyUyRiUzRSUzQyUyRmRlZnMlM0UlM0NnJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoNjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDkwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxMjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE1MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjM3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTgwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNDYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyMTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy41NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI0MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjY2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjcwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNzUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy44NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMzMCUyMDYwJTJDNjApJyUyRiUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0VcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuLnN3aXBlci1sYXp5LXByZWxvYWRlci13aGl0ZTphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIwdmlld0JveCUzRCcwJTIwMCUyMDEyMCUyMDEyMCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIweG1sbnMlM0F4bGluayUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayclM0UlM0NkZWZzJTNFJTNDbGluZSUyMGlkJTNEJ2wnJTIweDElM0QnNjAnJTIweDIlM0QnNjAnJTIweTElM0QnNyclMjB5MiUzRCcyNyclMjBzdHJva2UlM0QnJTIzZmZmJyUyMHN0cm9rZS13aWR0aCUzRCcxMSclMjBzdHJva2UtbGluZWNhcCUzRCdyb3VuZCclMkYlM0UlM0MlMkZkZWZzJTNFJTNDZyUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDYwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg5MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTIwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxNTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4zNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE4MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjQ2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjEwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNTYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy42NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI3MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjc1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuODUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMzAlMjA2MCUyQzYwKSclMkYlM0UlM0MlMkZnJTNFJTNDJTJGc3ZnJTNFXCIpO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59XG4vKiBhMTF5ICovXG4uc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLW5vdGlmaWNhdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgei1pbmRleDogLTEwMDA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlIC5zd2lwZXItc2xpZGUge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHotaW5kZXg6IDE7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1zbGlkZSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG4gICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtcHJldixcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0ICsgLnN3aXBlci1zbGlkZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgICB6LWluZGV4OiAwO1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1jdWJlLXNoYWRvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgb3BhY2l0eTogMC42O1xuICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDUwcHgpO1xuICAgIGZpbHRlcjogYmx1cig1MHB4KTtcbiAgICB6LWluZGV4OiAwO1xufVxuLnN3aXBlci1jb250YWluZXItZmxpcCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB6LWluZGV4OiAxO1xufVxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xuICAgIHotaW5kZXg6IDA7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnN3aXBlci1jb250YWluZXItY292ZXJmbG93IC5zd2lwZXItd3JhcHBlciB7XG4gICAgLyogV2luZG93cyA4IElFIDEwIGZpeCAqL1xuICAgIC1tcy1wZXJzcGVjdGl2ZTogMTIwMHB4O1xufVxuIiwiLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cblxuQG1peGluIGJ1bGxldC1wYWdpbmF0aW9uLWxpc3QtaG9vaygpIHtcbn1cblxuQG1peGluIGJ1bGxldC1wYWdpbmF0aW9uLWl0ZW0taG9vaygpIHtcbn1cblxuQG1peGluIGJ1bGxldC1wYWdpbmF0aW9uLWl0ZW0tLWFjdGl2ZS1ob29rKCkge1xufVxuXG5AbWl4aW4gYnVsbGV0LXBhZ2luYXRpb24tYnV0dG9uLWhvb2soKSB7XG59XG4iLCIvKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuQG1peGluIHRlYXNlci1ob29rKCkge1xufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb25maWcvYnJlYWtwb2ludHMnO1xuQGltcG9ydCAnaW5jbHVkZS1tZWRpYS9kaXN0L2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvY29tcG9uZW50LXNwYWNpbmcnO1xuQGltcG9ydCAnY29tcG9uZW50cy90ZWFzZXIvbWl4aW5zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdHlwb2dyYXBoeS9taXhpbic7XG5cbiRpbWFnZS10ZWFzZXJfc2NhbGUtZm9udHMtcHJvcG9ydGlvbmFsbHk6IGZhbHNlICFkZWZhdWx0O1xuJGltYWdlLXRlYXNlci0tbW9zYWljX2VxdWFsaXplLWZvbnQtc2l6ZXM6IHRydWUgIWRlZmF1bHQ7XG5cbiRpbWFnZS10ZWFzZXJfc2xpZGVzLWd1dHRlcjogMC44cmVtICFkZWZhdWx0O1xuJGltYWdlLXRlYXNlcl9jb250ZW50LWd1dHRlci1iYXNlOiAxLjg4JSAhZGVmYXVsdDtcblxuJGltYWdlLXRlYXNlcl9jdGEtYnV0dG9uLXR5cGU6ICdzZWNvbmRhcnknICFkZWZhdWx0O1xuJGltYWdlLXRlYXNlcl9jdGEtYnV0dG9uLWljb24tcG9zOiAnbm8taWNvbicgIWRlZmF1bHQ7XG5cbiRpbWFnZS10ZWFzZXJfdGV4dC1jb250ZW50LWZvbnQtc2l6ZTogMS40cmVtICFkZWZhdWx0O1xuJGltYWdlLXRlYXNlcl9zbG9nYW4tbGV2ZWw6ICRmb250LXNpemVfaGVhZGxpbmUtMiAhZGVmYXVsdDtcbiRpbWFnZS10ZWFzZXJfc2xvZ2FuLWZvbnQtc2l6ZTogNDBweCAhZGVmYXVsdDtcbiRpbWFnZS10ZWFzZXJfZGVzY3JpcHRpb24tZm9udC1zaXplOiAxLjZyZW0gIWRlZmF1bHQ7XG5cbiRpbWFnZS10ZWFzZXJfdGV4dC1jb250ZW50LWNvbG9yOiAkY29sb3Itd2hpdGUgIWRlZmF1bHQ7XG4kaW1hZ2UtdGVhc2VyX3Nsb2dhbi1jb2xvcjogJGNvbG9yLXdoaXRlICFkZWZhdWx0O1xuJGltYWdlLXRlYXNlcl9kZXNjcmlwdGlvbi1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuJGltYWdlLXRlYXNlcl90ZXh0LWNvbnRlbnQtY29sb3ItLWRhcms6ICRzY2hlbWUtLWRhcmtfdGV4dHMtY29sb3IgIWRlZmF1bHQ7XG4kaW1hZ2UtdGVhc2VyX3Nsb2dhbi1jb2xvci0tZGFyazogaW5oZXJpdCAhZGVmYXVsdDtcbiRpbWFnZS10ZWFzZXJfZGVzY3JpcHRpb24tY29sb3ItLWRhcms6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbiRpbWFnZS10ZWFzZXJfc2xvZ2FuLWZvbnQtd2VpZ2h0OiA5MDAgIWRlZmF1bHQ7XG4kaW1hZ2UtdGVhc2VyX2Rlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0OiAzMDAgIWRlZmF1bHQ7XG5cbiRpbWFnZS10ZWFzZXJfdGV4dC1zaGFkb3ctY29sb3ItLWRhcms6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRpbWFnZS10ZWFzZXJfdGV4dC1zaGFkb3ctb2Zmc2V0LS1kYXJrOiAwIDAgMi41cmVtICFkZWZhdWx0O1xuJGltYWdlLXRlYXNlcl90ZXh0LXNoYWRvdy1zdGVwLS1kYXJrOiA1ICFkZWZhdWx0O1xuXG4kaW1hZ2UtdGVhc2VyX3RleHQtc2hhZG93LWNvbG9yLS1saWdodDogJGNvbG9yX2JhY2tncm91bmQtNzAwICFkZWZhdWx0O1xuJGltYWdlLXRlYXNlcl90ZXh0LXNoYWRvdy1vZmZzZXQtLWxpZ2h0OiAwIDAgMi41cmVtICFkZWZhdWx0O1xuJGltYWdlLXRlYXNlcl90ZXh0LXNoYWRvdy1zdGVwLS1saWdodDogNSAhZGVmYXVsdDtcblxuJGltYWdlLXRlYXNlcl9jb250YWluZXItYmFja2dyb3VuZC0tbGlnaHQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTcwMCAhZGVmYXVsdDtcbiRpbWFnZS10ZWFzZXJfY29udGFpbmVyLWJhY2tncm91bmQtLWRhcms6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcblxuJGltYWdlLXRlYXNlcl9ncmFkaWVudC1jb2xvci0tbGlnaHQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTcwMCAhZGVmYXVsdDtcbiRpbWFnZS10ZWFzZXJfZ3JhZGllbnQtY29sb3ItLWRhcms6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcblxuJGltYWdlLXRlYXNlcl9iYWRnZS1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGltYWdlLXRlYXNlcl9iYWRnZS1iYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kaW1hZ2UtdGVhc2VyX2JhZGdlLWZvbnQtc2l6ZTogMS4xZW0gIWRlZmF1bHQ7XG5cbiRpbWFnZS10ZWFzZXJfbm8taW1hZ2UtbGlnaHQtc2NoZW1lLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTcwMCAhZGVmYXVsdDtcbiRpbWFnZS10ZWFzZXJfbm8taW1hZ2UtZGFyay1zY2hlbWUtYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuXG4kaW1hZ2UtdGVhc2VyX2hlcm8tY2Fyb3VzZWxfc2xpZGUtd2lkdGg6IDc3JSAhZGVmYXVsdDtcblxuJGltYWdlLXRlYXNlcl9jbXMtcGFnZXMtYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtNTAwICFkZWZhdWx0O1xuJGltYWdlLXRlYXNlcl9jbXMtYmFja2xpbmstYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtNTAwICFkZWZhdWx0O1xuXG4uI3skbnN9aW1hZ2UtdGVhc2VyIHtcbiAgICAkcm9vdDogJjtcblxuICAgIEBpbmNsdWRlIHRlYXNlcigpO1xuICAgIEBpbmNsdWRlIGNvbXBvbmVudC1zcGFjaW5nKCk7XG5cbiAgICAmLS13aW5kb3ctd2lkdGgge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgICY6bm90KCN7JHJvb3R9LS1zbGlkZXIpIHtcbiAgICAgICAgI3skcm9vdH1fX25hdixcbiAgICAgICAgI3skcm9vdH1fX3BhZ2luYXRpb24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19zbGlkZXMge1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LW1vYmlsZS0xICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2Fyb3VzZWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQtdGVhc2VyICYge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbjogLSN7JGltYWdlLXRlYXNlcl9zbGlkZXMtZ3V0dGVyIC8gMn07XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAjeyRpbWFnZS10ZWFzZXJfc2xpZGVzLWd1dHRlcn0pO1xuXG4gICAgICAgICYtLWNvbnRlbnQtdW5kZXIge1xuICAgICAgICAgICAgI3skcm9vdH1fX3NsaWRlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgICYtLXNjaGVtZS1saWdodCB7XG4gICAgICAgICAgICAgICAgICAgICN7JHJvb3R9X19jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRpbWFnZS10ZWFzZXJfY29udGFpbmVyLWJhY2tncm91bmQtLWxpZ2h0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi0tc2NoZW1lLWRhcmsge1xuICAgICAgICAgICAgICAgICAgICAjeyRyb290fV9fY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkaW1hZ2UtdGVhc2VyX2NvbnRhaW5lci1iYWNrZ3JvdW5kLS1kYXJrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fV9fc2xpZGUtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaW5pdGlhbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH1fX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnJlbSAycmVtIDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19jb250ZW50IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAtM3JlbSAwIDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0yICYge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgI3skcm9vdH1fX3Nsb2dhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuOTVlbTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICN7JHJvb3R9X19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQtdGVhc2VyICYge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2xpZGVzIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgJi0tbW9zYWljLXNjZW5hcmlvIHtcbiAgICAgICAgICAgICAgICAmLTEge1xuICAgICAgICAgICAgICAgICAgICAjeyRyb290fV9fc2xpZGU6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAzKSAqIDIpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgJGltYWdlLXRlYXNlci0tbW9zYWljX2VxdWFsaXplLWZvbnQtc2l6ZXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICN7JHJvb3R9X19zbG9nYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRpbWFnZS10ZWFzZXJfc2xvZ2FuLWZvbnQtc2l6ZSAqXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjc1O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICN7JHJvb3R9X19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGltYWdlLXRlYXNlcl9kZXNjcmlwdGlvbi1mb250LXNpemUgKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC43NTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAjeyRyb290fV9fc2xpZGU6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAkaW1hZ2UtdGVhc2VyLS1tb3NhaWNfZXF1YWxpemUtZm9udC1zaXplcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgI3skcm9vdH1fX3Nsb2dhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGltYWdlLXRlYXNlcl9zbG9nYW4tZm9udC1zaXplICogMS41O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICN7JHJvb3R9X19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGltYWdlLXRlYXNlcl9kZXNjcmlwdGlvbi1mb250LXNpemUgKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtMiB7XG4gICAgICAgICAgICAgICAgICAgICN7JHJvb3R9X19zbGlkZTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAkaW1hZ2UtdGVhc2VyLS1tb3NhaWNfZXF1YWxpemUtZm9udC1zaXplcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgI3skcm9vdH1fX3Nsb2dhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGltYWdlLXRlYXNlcl9zbG9nYW4tZm9udC1zaXplICogMS41O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICN7JHJvb3R9X19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGltYWdlLXRlYXNlcl9kZXNjcmlwdGlvbi1mb250LXNpemUgKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICN7JHJvb3R9X19zbGlkZTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMykgKiAyKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmICRpbWFnZS10ZWFzZXItLW1vc2FpY19lcXVhbGl6ZS1mb250LXNpemVzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjeyRyb290fV9fc2xvZ2FuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkaW1hZ2UtdGVhc2VyX3Nsb2dhbi1mb250LXNpemUgKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC43NTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjeyRyb290fV9fZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRpbWFnZS10ZWFzZXJfZGVzY3JpcHRpb24tZm9udC1zaXplICpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuNzU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2xpZGUge1xuICAgICAgICBwYWRkaW5nOiAkaW1hZ2UtdGVhc2VyX3NsaWRlcy1ndXR0ZXIgLyAyO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG5cbiAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy1tb2JpbGUtMiAmIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tdGVhc2VyLWFuZC10ZXh0ICYge1xuICAgICAgICAgICAgb3JkZXI6IDI7XG5cbiAgICAgICAgICAgICY6bm90KCN7JHJvb3R9X19zbGlkZS0taW1hZ2UtdXBsb2FkZWQpIHtcbiAgICAgICAgICAgICAgICA+ICN7JHJvb3R9X19zbGlkZS13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWltYWdlLXVwbG9hZGVkIHtcbiAgICAgICAgICAgICN7JHJvb3R9X19zbGlkZXMtLW1vYmlsZS10ZXh0LWltYWdlICYge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19zbGlkZXMtLW1vYmlsZS1pbWFnZS10ZXh0ICYge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIDgge1xuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0jeyRpfSAmIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAoMTAwJSAvICRpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tZ3JpZC10ZWFzZXIgJiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWNtcy10ZWFzZXIgJiB7XG4gICAgICAgICAgICAmOm5vdCgjeyRyb290fV9fc2xpZGUtLWltYWdlLXVwbG9hZGVkKSA+ICN7JHJvb3R9X19zbGlkZS13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW1hZ2UtdGVhc2VyX2Ntcy1wYWdlcy1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWJhY2tsaW5rICYge1xuICAgICAgICAgICAgJjpub3QoI3skcm9vdH1fX3NsaWRlLS1pbWFnZS11cGxvYWRlZCkgPiAjeyRyb290fV9fc2xpZGUtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGltYWdlLXRlYXNlcl9jbXMtYmFja2xpbmstYmFja2dyb3VuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KC5yZWFkeSkge1xuICAgICAgICAgICAgI3skcm9vdH1fX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NsaWRlLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAmLFxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWluc3RhZ3JhbS1mZWVkICYge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19zbGlkZS0tc2NoZW1lLWxpZ2h0Om5vdCgjeyRyb290fV9fc2xpZGUtLWltYWdlLXVwbG9hZGVkKSAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRpbWFnZS10ZWFzZXJfbm8taW1hZ2UtbGlnaHQtc2NoZW1lLWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fc2xpZGUtLXNjaGVtZS1kYXJrOm5vdCgjeyRyb290fV9fc2xpZGUtLWltYWdlLXVwbG9hZGVkKSAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRpbWFnZS10ZWFzZXJfbm8taW1hZ2UtZGFyay1zY2hlbWUtYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ZpZ3VyZSB7XG4gICAgICAgICN7JHJvb3R9LS1pbnN0YWdyYW0tZmVlZCAmIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tZ3JpZC10ZWFzZXIgJiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYXNwZWN0LXJhdGlvIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgfiAjeyRyb290fV9fc2xpZGUtd3JhcHBlcixcbiAgICAgICAgfiAjeyRyb290fV9fZmlndXJlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgQGlmICRpbWFnZS10ZWFzZXJfc2xpZGVzLWd1dHRlciA+IDAge1xuICAgICAgICAgICAgICAgIHRvcDogJGltYWdlLXRlYXNlcl9zbGlkZXMtZ3V0dGVyIC8gMjtcbiAgICAgICAgICAgICAgICBsZWZ0OiAkaW1hZ2UtdGVhc2VyX3NsaWRlcy1ndXR0ZXIgLyAyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRpbWFnZS10ZWFzZXJfc2xpZGVzLWd1dHRlcn0pO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAkaW1hZ2UtdGVhc2VyX3NsaWRlcy1ndXR0ZXIgPiAwIHtcbiAgICAgICAgICAgICAgICAjeyRyb290fV9fd3JhcHBlcjpub3QoI3skcm9vdH1fX3dyYXBwZXItLWNvbnRlbnQtdW5kZXIpICYge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtICN7JGltYWdlLXRlYXNlcl9zbGlkZXMtZ3V0dGVyfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgI3skcm9vdH0tLWdyaWQtdGVhc2VyICYge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS0tZ3JpZC10ZWFzZXIgJiB7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiAzODBweDtcbiAgICB9XG5cbiAgICAmX19jb250ZW50LXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAjeyRyb290fV9fd3JhcHBlci0tY29udGVudC1vdmVyICYge1xuICAgICAgICAgICAgcGFkZGluZzogMyUgNiU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA5JSAxMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctMyAmIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRpbWFnZS10ZWFzZXJfY29udGVudC1ndXR0ZXItYmFzZSAqIDM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTQgJiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkaW1hZ2UtdGVhc2VyX2NvbnRlbnQtZ3V0dGVyLWJhc2UgKiA0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWNvbnRlbnQtYWxpZ24teCB7XG4gICAgICAgICAgICAmLTIge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0zIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tY29udGVudC1hbGlnbi15IHtcbiAgICAgICAgICAgICYtMiB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0zIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgJi0tY29udGFpbmVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0LWNvbnRlbnQge1xuICAgICAgICBmb250LXNpemU6ICRpbWFnZS10ZWFzZXJfdGV4dC1jb250ZW50LWZvbnQtc2l6ZTtcbiAgICAgICAgY29sb3I6ICRpbWFnZS10ZWFzZXJfdGV4dC1jb250ZW50LWNvbG9yO1xuXG4gICAgICAgICN7JHJvb3R9X19zbGlkZS0tc2NoZW1lLWRhcmsgJiB7XG4gICAgICAgICAgICBjb2xvcjogJGltYWdlLXRlYXNlcl90ZXh0LWNvbnRlbnQtY29sb3ItLWRhcms7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zbG9nYW4ge1xuICAgICAgICBAaW5jbHVkZSBoZWFkbGluZSgkbGV2ZWw6ICRpbWFnZS10ZWFzZXJfc2xvZ2FuLWxldmVsKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6ICRpbWFnZS10ZWFzZXJfc2xvZ2FuLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRpbWFnZS10ZWFzZXJfc2xvZ2FuLWZvbnQtd2VpZ2h0O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsaW5lLWhlaWdodDogNDdweDtcbiAgICAgICAgY29sb3I6ICRpbWFnZS10ZWFzZXJfc2xvZ2FuLWNvbG9yO1xuXG4gICAgICAgICN7JHJvb3R9X19zbGlkZS0tc2NoZW1lLWRhcmsgJiB7XG4gICAgICAgICAgICBjb2xvcjogJGltYWdlLXRlYXNlcl9zbG9nYW4tY29sb3ItLWRhcms7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGltYWdlLXRlYXNlcl9zbG9nYW4tZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC1zaXplOiAkaW1hZ2UtdGVhc2VyX2Rlc2NyaXB0aW9uLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRpbWFnZS10ZWFzZXJfZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAkaW1hZ2UtdGVhc2VyX2Rlc2NyaXB0aW9uLWNvbG9yO1xuXG4gICAgICAgICogKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX3NsaWRlLS1zY2hlbWUtZGFyayAmIHtcbiAgICAgICAgICAgIGNvbG9yOiAkaW1hZ2UtdGVhc2VyX2Rlc2NyaXB0aW9uLWNvbG9yLS1kYXJrO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJywgJzxsYXB0b3BMZycpIHtcbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctNCAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNzVlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2N0YSB7XG4gICAgICAgICogKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY3RhLWJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAkaW1hZ2UtdGVhc2VyX2N0YS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGltYWdlLXRlYXNlcl9jdGEtYnV0dG9uLWljb24tcG9zXG4gICAgICAgICk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHggIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgIG1pbi13aWR0aDogMTMycHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZzogMTFweCAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgICBtaW4td2lkdGg6IDE0MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wTGcnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXR2Jykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jdGEtYnV0dG9uLXNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICR0eXBlOiAkaW1hZ2UtdGVhc2VyX2N0YS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGltYWdlLXRlYXNlcl9jdGEtYnV0dG9uLWljb24tcG9zXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgJl9fY3RhLWJ1dHRvbi1pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2ljb24oXG4gICAgICAgICAgICAkdHlwZTogJGltYWdlLXRlYXNlcl9jdGEtYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRpbWFnZS10ZWFzZXJfY3RhLWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIEJhZGdlXG4gICAgJl9fYmFkZ2Uge1xuICAgICAgICAkYmFkZ2U6ICY7XG5cbiAgICAgICAgZm9udC1zaXplOiAkaW1hZ2UtdGVhc2VyX2JhZGdlLWZvbnQtc2l6ZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDAuN2VtO1xuICAgICAgICBsZWZ0OiAwLjdlbTtcbiAgICAgICAgY29sb3I6ICRpbWFnZS10ZWFzZXJfYmFkZ2UtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpbWFnZS10ZWFzZXJfYmFkZ2UtYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBwYWRkaW5nOiAwLjllbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB6LWluZGV4OiAzO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWFsaWduLXgge1xuICAgICAgICAgICAgJi0yIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLTMge1xuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDAuN2VtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tYWxpZ24teSB7XG4gICAgICAgICAgICAmLTIge1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblxuICAgICAgICAgICAgICAgICYjeyRiYWRnZX0tLWFsaWduLXgtMiB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0zIHtcbiAgICAgICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwLjdlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHNtYWxsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDc1JTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNtYWxsLFxuICAgICAgICBiaWcge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuMnJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhZGdlLXNwYW4ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLy8gQ29udHJhc3QgT3B0aW1pemVyc1xuICAgICZfX292ZXJsYXksXG4gICAgJl9fZ3JhZGllbnQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTElO1xuICAgICAgICBsZWZ0OiAtMSU7XG4gICAgICAgIHdpZHRoOiAxMDIlO1xuICAgICAgICBoZWlnaHQ6IDEwMiU7XG4gICAgfVxuXG4gICAgJl9fb3ZlcmxheSB7XG4gICAgICAgICN7JHJvb3R9X19zbGlkZS0tc2NoZW1lLWxpZ2h0ICYge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGltYWdlLXRlYXNlcl9jb250YWluZXItYmFja2dyb3VuZC0tbGlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fc2xpZGUtLXNjaGVtZS1kYXJrICYge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGltYWdlLXRlYXNlcl9jb250YWluZXItYmFja2dyb3VuZC0tZGFyaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2dyYWRpZW50IHtcbiAgICAgICAgQGZvciAkeCBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAgICAgICAgICYtLWRpcmVjdGlvbi14LSN7JHh9IHtcbiAgICAgICAgICAgICAgICBAZm9yICR5IGZyb20gMSB0aHJvdWdoIDMge1xuICAgICAgICAgICAgICAgICAgICAmI3skcm9vdH1fX2dyYWRpZW50LS1kaXJlY3Rpb24teS0jeyR5fSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAjeyRyb290fV9fc2xpZGUtLXNjaGVtZS1saWdodCAmIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZWFzZXItZ3JhZGllbnQtb3ZlcmxheShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1hZ2UtdGVhc2VyX2dyYWRpZW50LWNvbG9yLS1saWdodCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgODUlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgI3skcm9vdH1fX3NsaWRlLS1zY2hlbWUtZGFyayAmIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZWFzZXItZ3JhZGllbnQtb3ZlcmxheShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1hZ2UtdGVhc2VyX2dyYWRpZW50LWNvbG9yLS1kYXJrLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4NSVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICAvLyBIaWRlcyBhbHQgdGV4dCBzbyBpdCBkb2Vzbid0IHNob3cgYmVmb3JlIGltYWdlIGlzIGxvYWRlZC5cbiAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICAgICAgZm9udDogMC8wIGE7XG4gICAgICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAmLS1taXJyb3Ige1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fb3B0aW1pemVyLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgICAjeyRyb290fV9fc2xpZGUtLXNjaGVtZS1kYXJrICYge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGltYWdlLXRlYXNlcl9jb250YWluZXItYmFja2dyb3VuZC0tZGFyaztcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19zbGlkZS0tc2NoZW1lLWxpZ2h0ICYge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGltYWdlLXRlYXNlcl9jb250YWluZXItYmFja2dyb3VuZC0tbGlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93IHtcbiAgICAgICAgI3skcm9vdH1fX3NsaWRlLS1zY2hlbWUtZGFyayAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9wdGltaXplci10ZXh0LXNoYWRvdyhcbiAgICAgICAgICAgICAgICAkY29sb3I6ICRpbWFnZS10ZWFzZXJfdGV4dC1zaGFkb3ctY29sb3ItLWRhcmssXG4gICAgICAgICAgICAgICAgJHRleHQtc2hhZG93LW9mZnNldDogJGltYWdlLXRlYXNlcl90ZXh0LXNoYWRvdy1vZmZzZXQtLWRhcmssXG4gICAgICAgICAgICAgICAgJHN0ZXA6ICRpbWFnZS10ZWFzZXJfdGV4dC1zaGFkb3ctc3RlcC0tZGFya1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19zbGlkZS0tc2NoZW1lLWxpZ2h0ICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgb3B0aW1pemVyLXRleHQtc2hhZG93KFxuICAgICAgICAgICAgICAgICRjb2xvcjogJGltYWdlLXRlYXNlcl90ZXh0LXNoYWRvdy1jb2xvci0tbGlnaHQsXG4gICAgICAgICAgICAgICAgJHRleHQtc2hhZG93LW9mZnNldDogJGltYWdlLXRlYXNlcl90ZXh0LXNoYWRvdy1vZmZzZXQtLWxpZ2h0LFxuICAgICAgICAgICAgICAgICRzdGVwOiAkaW1hZ2UtdGVhc2VyX3RleHQtc2hhZG93LXN0ZXAtLWxpZ2h0XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tZ3JpZC10ZWFzZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmLS1oZXJvLXRlYXNlciB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fd3JhcHBlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fY2Fyb3VzZWwge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYzsgLy8gRG8gbm90IGFmZmVjdCBpbWFnZSB0ZWFzZXIgbmF2IHBvc2l0aW9uaW5nXG4gICAgICAgIH1cblxuICAgICAgICAmI3skcm9vdH0tLWFzLWxpc3QtbW9iaWxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICN7JHJvb3R9X19zbGlkZXMge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX3BhZ2luYXRpb24ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLiN7JG5zfWNvbnRhaW5lci0taW1hZ2UtdGVhc2VyLXdpbmRvdy13aWR0aCB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgLiN7JG5zfWltYWdlLXRlYXNlcl9fc2xpZGUge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbn1cblxuXG4uI3skbnN9Y29udGFpbmVyLS1oZXJvLXRlYXNlciB7XG4gICAgLmNzLWltYWdlLXRlYXNlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG59XG4iLCIvLyBjcy1zd2lwZXJcbi8vIEJhc2UgY29uZmlndXJhdGlvbiBmb3IgYWxsIGNhcm91c2VscyB1c2VkIGluIG91ciBwcm9qZWN0c1xuLy9cbi8vIFNlZSBodHRwOi8vd2FycHNwaXJlLmNvbS9rc3MvIGZvciBkb2N1bWVudGF0aW9uIGd1aWRlbGluZXMuXG4vLyBWZXJzaW9uIDAuMC4xXG5AaW1wb3J0ICd2ZW5kb3JzL3N3aXBlcic7XG5AaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbmZpZy9icmVha3BvaW50cyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RlYXNlci9taXhpbnMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RlYXNlci9taXhpbnMvY29udHJhc3Qtb3B0aW1pemVycy9ncmFkaWVudCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RlYXNlci9taXhpbnMvY29udHJhc3Qtb3B0aW1pemVycy90ZXh0LXNoYWRvdyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RlYXNlci9ob29rcyc7XG5cbkBtaXhpbiB0ZWFzZXIge1xuICAgICRyb290OiAmO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBAZXh0ZW5kIC5zd2lwZXItY29udGFpbmVyO1xuICAgIH1cblxuICAgICZfX3NsaWRlcyB7XG4gICAgICAgIEBleHRlbmQgLnN3aXBlci13cmFwcGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICAgIH1cblxuICAgICZfX3Njcm9sbGJhciB7XG4gICAgICAgIEBleHRlbmQgLnN3aXBlci1zY3JvbGxiYXI7XG5cbiAgICAgICAgJi0tZHJhZyB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5zd2lwZXItc2Nyb2xsYmFyLWRyYWc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zbGlkZSB7XG4gICAgICAgIEBleHRlbmQgLnN3aXBlci1zbGlkZTtcbiAgICAgICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZSgpO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgICZfX2ZpZ3VyZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fbmF2IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246ICR0ZWFzZXJfbmF2LWJ1dHRvbi1wb3NpdGlvbjtcbiAgICAgICAgdG9wOiAkdGVhc2VyX25hdi1idXR0b24tcG9zaXRpb24tdG9wO1xuICAgICAgICB0cmFuc2Zvcm06ICR0ZWFzZXJfbmF2LWJ1dHRvbi10cmFuc2Zvcm07XG4gICAgICAgIHRyYW5zaXRpb246ICR0ZWFzZXJfbmF2LWJ1dHRvbi10cmFuc2l0aW9uO1xuICAgICAgICB6LWluZGV4OiAkdGVhc2VyX25hdi1idXR0b24tei1pbmRleDtcbiAgICAgICAgd2lkdGg6ICR0ZWFzZXJfbmF2LWJ1dHRvbi13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkdGVhc2VyX25hdi1idXR0b24taGVpZ2h0O1xuICAgICAgICBib3JkZXI6ICR0ZWFzZXJfbmF2LWJ1dHRvbi1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICR0ZWFzZXJfbmF2LWJ1dHRvbi1ib3JkZXItcmFkaXVzO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkdGVhc2VyX25hdi1idXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgYm94LXNoYWRvdzogJHRlYXNlcl9uYXYtYnV0dG9uLWJveC1zaGFkb3c7XG4gICAgICAgIHBhZGRpbmc6ICR0ZWFzZXJfbmF2LWJ1dHRvbi1wYWRkaW5nO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBAbWVkaWEgKHBvaW50ZXI6IGZpbmUpIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAgICAgICAgICAgI3skcm9vdH06aG92ZXIgJiB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0taGlkZGVuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1kaXNhYmxlZCB7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICBkaXNwbGF5OiAkdGVhc2VyX25hdi1idXR0b24tZGlzYWJsZWQtZGlzcGxheTtcbiAgICAgICAgICAgIG9wYWNpdHk6ICR0ZWFzZXJfbmF2LWJ1dHRvbi1kaXNhYmxlZC1vcGFjaXR5O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tcHJldiB7XG4gICAgICAgICAgICBsZWZ0OiAkdGVhc2VyX25hdi1idXR0b24taG9yaXpvbnRhbC1wb3NpdGlvbjtcblxuICAgICAgICAgICAgQGlmICR0ZWFzZXJfbmF2LWJ1dHRvbi1ob3Jpem9udGFsLW9mZnNldC1icmVha3BvaW50ICE9ICcnIHtcbiAgICAgICAgICAgICAgICAjeyRyb290fTpub3QoI3skcm9vdH0tLWZ1bGwtd2lkdGgtc2xpZGVyKSAmIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXG4gICAgICAgICAgICAgICAgICAgICAgICAjeyR0ZWFzZXJfbmF2LWJ1dHRvbi1ob3Jpem9udGFsLW9mZnNldC1icmVha3BvaW50fVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6ICR0ZWFzZXJfbmF2LWJ1dHRvbi1ob3Jpem9udGFsLW9mZnNldC1kZXNrdG9wO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLW5leHQge1xuICAgICAgICAgICAgcmlnaHQ6ICR0ZWFzZXJfbmF2LWJ1dHRvbi1ob3Jpem9udGFsLXBvc2l0aW9uO1xuXG4gICAgICAgICAgICBAaWYgJHRlYXNlcl9uYXYtYnV0dG9uLWhvcml6b250YWwtb2Zmc2V0LWJyZWFrcG9pbnQgIT0gJycge1xuICAgICAgICAgICAgICAgICN7JHJvb3R9Om5vdCgjeyRyb290fS0tZnVsbC13aWR0aC1zbGlkZXIpICYge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcbiAgICAgICAgICAgICAgICAgICAgICAgICN7JHRlYXNlcl9uYXYtYnV0dG9uLWhvcml6b250YWwtb2Zmc2V0LWJyZWFrcG9pbnR9XG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICR0ZWFzZXJfbmF2LWJ1dHRvbi1ob3Jpem9udGFsLW9mZnNldC1kZXNrdG9wO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KCYtLWRpc2FibGVkKSB7XG4gICAgICAgICAgICAjeyRyb290fS0tcmVhZHkgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdGVhc2VyX25hdi1idXR0b24tLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgICAgICBib3JkZXI6ICR0ZWFzZXJfbmF2LWJ1dHRvbi0taG92ZXItYm9yZGVyO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJHRlYXNlcl9uYXYtYnV0dG9uLS1ob3Zlci1ib3gtc2hhZG93O1xuXG4gICAgICAgICAgICBAaWYgJHRlYXNlcl9uYXYtYnV0dG9uLS1ob3Zlci1hZGRpdGlvbmFsLXRyYW5zZm9ybSAhPSAnJyB7XG4gICAgICAgICAgICAgICAgJjpub3QoJi0tZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAkdGVhc2VyX25hdi1idXR0b24tdHJhbnNmb3JtXG4gICAgICAgICAgICAgICAgICAgICAgICAkdGVhc2VyX25hdi1idXR0b24tLWhvdmVyLWFkZGl0aW9uYWwtdHJhbnNmb3JtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkdGVhc2VyX2hpZGUtbmF2LWJ1dHRvbnMtb24tbW9iaWxlID09IHRydWUge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbmF2LWljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gICAgICAgIHdpZHRoOiAkdGVhc2VyX25hdi1idXR0b24taWNvbi13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkdGVhc2VyX25hdi1idXR0b24taWNvbi1oZWlnaHQ7XG4gICAgICAgIGZpbGw6ICR0ZWFzZXJfbmF2LWJ1dHRvbi1pY29uLWNvbG9yO1xuXG4gICAgICAgIEBpZiAkdGVhc2VyX25hdi1idXR0b24taWNvbi1jb2xvciAhPVxuICAgICAgICAgICAgJHRlYXNlcl9uYXYtYnV0dG9uLWljb24tLWhvdmVyLWNvbG9yXG4gICAgICAgIHtcbiAgICAgICAgICAgICN7JHJvb3R9X19uYXY6aG92ZXIgJiB7XG4gICAgICAgICAgICAgICAgZmlsbDogJHRlYXNlcl9uYXYtYnV0dG9uLWljb24tLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcGFnaW5hdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1bGxldC1wYWdpbmF0aW9uLWxpc3QoKTtcbiAgICB9XG5cbiAgICAmX19wYWdpbmF0aW9uLWl0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBidWxsZXQtcGFnaW5hdGlvbi1pdGVtKCk7XG5cbiAgICAgICAgJi0tYWN0aXZlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1bGxldC1wYWdpbmF0aW9uLWl0ZW0tLWFjdGl2ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcGFnaW5hdGlvbi1idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidWxsZXQtcGFnaW5hdGlvbi1idXR0b24oKTtcbiAgICB9XG5cbiAgICAmX19udW1iZXIge1xuICAgICAgICBmb250LXdlaWdodDogJHRlYXNlcl9wYWdpbmF0aW9uLW51bWJlcnMtZm9udC13ZWlnaHQ7XG5cbiAgICAgICAgJi0tY3VycmVudCB7XG4gICAgICAgICAgICBjb2xvcjogJHRlYXNlcl9wYWdpbmF0aW9uLW51bWJlci0tY3VycmVudC1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHRlYXNlci1ob29rKCk7XG59XG4iLCJAaW1wb3J0ICdjb21wb25lbnRzL3RlYXNlci9ob29rcy9wYWdpbmF0aW9uLnNjc3MnO1xuXG4vLyBOYXYgYnV0dG9uc1xuJHRlYXNlcl9oaWRlLW5hdi1idXR0b25zLW9uLW1vYmlsZTogdHJ1ZSAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi1wb3NpdGlvbjogYWJzb2x1dGUgIWRlZmF1bHQ7XG4kdGVhc2VyX25hdi1idXR0b24tcG9zaXRpb24tdG9wOiA1MCUgIWRlZmF1bHQ7IC8vIDJyZW0gcmVjb21wZW5zZXMgaGVpZ2h0IG9mIHRoZSBidWxsZXQtcGFnaW5hdGlvblxuJHRlYXNlcl9uYXYtYnV0dG9uLXotaW5kZXg6IDIwMSAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApICFkZWZhdWx0O1xuJHRlYXNlcl9uYXYtYnV0dG9uLXRyYW5zaXRpb246IGFsbCAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4kdGVhc2VyX25hdi1idXR0b24td2lkdGg6IDUuNXJlbSAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi1oZWlnaHQ6ICR0ZWFzZXJfbmF2LWJ1dHRvbi13aWR0aCAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi1ib3JkZXI6IDAgIWRlZmF1bHQ7XG4kdGVhc2VyX25hdi1idXR0b24tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdGVhc2VyX25hdi1idXR0b24tYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi1ib3JkZXItcmFkaXVzOiAyICogJGJvcmRlci1yYWRpdXNfYmFzZSAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi1wYWRkaW5nOiAwICFkZWZhdWx0O1xuJHRlYXNlcl9uYXYtYnV0dG9uLWRpc2FibGVkLWRpc3BsYXk6IG5vbmUgIWRlZmF1bHQ7XG4kdGVhc2VyX25hdi1idXR0b24tZGlzYWJsZWQtb3BhY2l0eTogMSAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi1ob3Jpem9udGFsLXBvc2l0aW9uOiAwICFkZWZhdWx0O1xuJHRlYXNlcl9uYXYtYnV0dG9uLWhvcml6b250YWwtb2Zmc2V0LWJyZWFrcG9pbnQ6ICc+PWxhcHRvcExnJyAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi1ob3Jpem9udGFsLW9mZnNldC1kZXNrdG9wOiAtI3skdGVhc2VyX25hdi1idXR0b24td2lkdGggLyAyfSAhZGVmYXVsdDtcbi8vIEhvdmVyXG4kdGVhc2VyX25hdi1idXR0b24tLWhvdmVyLWJveC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG4kdGVhc2VyX25hdi1idXR0b24tLWhvdmVyLWJvcmRlcjogJHRlYXNlcl9uYXYtYnV0dG9uLWJvcmRlciAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi0taG92ZXItYmFja2dyb3VuZDogJHRlYXNlcl9uYXYtYnV0dG9uLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGVhc2VyX25hdi1idXR0b24tLWhvdmVyLWFkZGl0aW9uYWwtdHJhbnNmb3JtOiAnJyAhZGVmYXVsdDtcblxuLy8gTmF2IGJ1dHRvbnMgaWNvbnNcbiR0ZWFzZXJfbmF2LWJ1dHRvbi1pY29uLXdpZHRoOiAyLjRyZW0gIWRlZmF1bHQ7XG4kdGVhc2VyX25hdi1idXR0b24taWNvbi1oZWlnaHQ6IDMuN3JlbSAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi1pY29uLWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4vLyBIb3ZlclxuJHRlYXNlcl9uYXYtYnV0dG9uLWljb24tLWhvdmVyLWNvbG9yOiAkdGVhc2VyX25hdi1idXR0b24taWNvbi1jb2xvciAhZGVmYXVsdDtcblxuLy8gRnJhY3Rpb24gcGFnaW5hdGlvbiAobnVtYmVyIHBhZ2luYXRpb24pXG4kdGVhc2VyX3BhZ2luYXRpb24tbnVtYmVycy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuJHRlYXNlcl9wYWdpbmF0aW9uLW51bWJlci0tY3VycmVudC1jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuXG4vLyBQYWdpbmF0aW9uIGxpc3RcbiR0ZWFzZXJfcGFnaW5hdGlvbi1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kdGVhc2VyX3BhZ2luYXRpb24tcGFkZGluZzogMC41cmVtIDAgMCAhZGVmYXVsdDtcbiR0ZWFzZXJfcGFnaW5hdGlvbi1taW4taGVpZ2h0OiAzcmVtICFkZWZhdWx0O1xuJHRlYXNlcl9wYWdpbmF0aW9uLWp1c3RpZnktY29udGVudDogY2VudGVyICFkZWZhdWx0O1xuJHRlYXNlcl9wYWdpbmF0aW9uLWFsaWduLWl0ZW1zOiBjZW50ZXIgIWRlZmF1bHQ7XG4kdGVhc2VyX3BhZ2luYXRpb24tdGV4dC1jb2xvcjogJGNvbG9yX3RleHQtNTAwICFkZWZhdWx0OyAvLyB1c2VkIGZvciBcImZyYWN0aW9uXCIgcGFnaW5hdGlvbiAobnVtYmVycylcbiR0ZWFzZXJfcGFnaW5hdGlvbi16LWluZGV4OiAyMDAgIWRlZmF1bHQ7XG5cbkBtaXhpbiBidWxsZXQtcGFnaW5hdGlvbi1saXN0IHtcbiAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlKCk7XG4gICAgbWFyZ2luOiAkdGVhc2VyX3BhZ2luYXRpb24tbWFyZ2luO1xuICAgIHBhZGRpbmc6ICR0ZWFzZXJfcGFnaW5hdGlvbi1wYWRkaW5nO1xuICAgIG1pbi1oZWlnaHQ6ICR0ZWFzZXJfcGFnaW5hdGlvbi1taW4taGVpZ2h0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogJHRlYXNlcl9wYWdpbmF0aW9uLWp1c3RpZnktY29udGVudDtcbiAgICBhbGlnbi1pdGVtczogJHRlYXNlcl9wYWdpbmF0aW9uLWFsaWduLWl0ZW1zO1xuICAgIGNvbG9yOiAkdGVhc2VyX3BhZ2luYXRpb24tdGV4dC1jb2xvcjtcbiAgICB6LWluZGV4OiAkdGVhc2VyX3BhZ2luYXRpb24tei1pbmRleDtcblxuICAgICYtLWhpZGRlbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnVsbGV0LXBhZ2luYXRpb24tbGlzdC1ob29rKCk7XG59XG5cbi8vIFBhZ2luYXRpb24gaXRlbVxuJHRlYXNlcl9wYWdpbmF0aW9uLWl0ZW0tbWFyZ2luOiAwLjRyZW0gIWRlZmF1bHQ7XG4kdGVhc2VyX3BhZ2luYXRpb24taXRlbS1ib3JkZXItcmFkaXVzOiAycHggIWRlZmF1bHQ7XG4kdGVhc2VyX3BhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kOiAkY29sb3JfZ2FsbGVyeSAhZGVmYXVsdDtcbiR0ZWFzZXJfcGFnaW5hdGlvbi1pdGVtLXdpZHRoOiAyLjJyZW0gIWRlZmF1bHQ7XG4kdGVhc2VyX3BhZ2luYXRpb24taXRlbS1oZWlnaHQ6IDAuOXJlbSAhZGVmYXVsdDtcbiR0ZWFzZXJfcGFnaW5hdGlvbi1pdGVtLXRyYW5zZm9ybTogJHRyYW5zZm9ybV9za2V3LTQwMCAhZGVmYXVsdDtcbiR0ZWFzZXJfcGFnaW5hdGlvbi1pdGVtLWJvcmRlcjogbm9uZSAhZGVmYXVsdDtcbiR0ZWFzZXJfcGFnaW5hdGlvbi1pdGVtLXRyYW5zaXRpb246IGFsbCAwLjE1cyAhZGVmYXVsdDtcbiR0ZWFzZXJfcGFnaW5hdGlvbi1pdGVtLS1ob3Zlci1iYWNrZ3JvdW5kOiAkY29sb3JfYWx0byAhZGVmYXVsdDtcblxuQG1peGluIGJ1bGxldC1wYWdpbmF0aW9uLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46ICR0ZWFzZXJfcGFnaW5hdGlvbi1pdGVtLW1hcmdpbjtcbiAgICBib3JkZXItcmFkaXVzOiAkdGVhc2VyX3BhZ2luYXRpb24taXRlbS1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICR0ZWFzZXJfcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQ7XG4gICAgd2lkdGg6ICR0ZWFzZXJfcGFnaW5hdGlvbi1pdGVtLXdpZHRoO1xuICAgIGhlaWdodDogJHRlYXNlcl9wYWdpbmF0aW9uLWl0ZW0taGVpZ2h0O1xuICAgIHRyYW5zZm9ybTogJHRlYXNlcl9wYWdpbmF0aW9uLWl0ZW0tdHJhbnNmb3JtO1xuICAgIGJvcmRlcjogJHRlYXNlcl9wYWdpbmF0aW9uLWl0ZW0tYm9yZGVyO1xuICAgIHRyYW5zaXRpb246ICR0ZWFzZXJfcGFnaW5hdGlvbi1pdGVtLXRyYW5zaXRpb247XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHRlYXNlcl9wYWdpbmF0aW9uLWl0ZW0tLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnVsbGV0LXBhZ2luYXRpb24taXRlbS1ob29rKCk7XG59XG5cbiR0ZWFzZXJfcGFnaW5hdGlvbi1pdGVtLS1hY3RpdmUtYmFja2dyb3VuZDogJGNvbG9yX2dvbGQgIWRlZmF1bHQ7XG5AbWl4aW4gYnVsbGV0LXBhZ2luYXRpb24taXRlbS0tYWN0aXZlIHtcbiAgICAmLFxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkdGVhc2VyX3BhZ2luYXRpb24taXRlbS0tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnVsbGV0LXBhZ2luYXRpb24taXRlbS0tYWN0aXZlLWhvb2soKTtcbn1cblxuQG1peGluIGJ1bGxldC1wYWdpbmF0aW9uLWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgQGluY2x1ZGUgYnVsbGV0LXBhZ2luYXRpb24tYnV0dG9uLWhvb2soKTtcbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90ZWFzZXIvZnVuY3Rpb25zJztcblxuQG1peGluIHRlYXNlci1ncmFkaWVudC1vdmVybGF5KFxuICAgICR4OiAxLFxuICAgICR5OiAxLFxuICAgICRjb2xvcjogJGNvbG9yX2JhY2tncm91bmQtNzAwLFxuICAgICRncmFkaWVudC1yYW5nZTogODUlXG4pIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIGdldC1ncmFkaWVudC1hbmdsZSgkeCwgJHkpLFxuICAgICAgICAkY29sb3IgMCUsXG4gICAgICAgIHJnYmEoJGNvbG9yLCAwKSAkZ3JhZGllbnQtcmFuZ2VcbiAgICApO1xufVxuIiwiQG1peGluIG9wdGltaXplci10ZXh0LXNoYWRvdyhcbiAgICAkY29sb3I6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCxcbiAgICAkdGV4dC1zaGFkb3ctb2Zmc2V0OiAwIDAgMjVweCxcbiAgICAkc3RlcDogNVxuKSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCBjZWlsKDEwMCAvICRzdGVwKSB7XG4gICAgICAgICR2YWx1ZTogJGkgKiAkc3RlcDtcblxuICAgICAgICAmLSN7JHZhbHVlfSB7XG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogI3skdGV4dC1zaGFkb3ctb2Zmc2V0fSByZ2JhKCRjb2xvciwgKCR2YWx1ZSAvIDEwMCkpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIFN3aXBlciA0LjQuNlxuICogTW9zdCBtb2Rlcm4gbW9iaWxlIHRvdWNoIHNsaWRlciBhbmQgZnJhbWV3b3JrIHdpdGggaGFyZHdhcmUgYWNjZWxlcmF0ZWQgdHJhbnNpdGlvbnNcbiAqIGh0dHA6Ly93d3cuaWRhbmdlcm8udXMvc3dpcGVyL1xuICpcbiAqIENvcHlyaWdodCAyMDE0LTIwMTggVmxhZGltaXIgS2hhcmxhbXBpZGlcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2VcbiAqXG4gKiBSZWxlYXNlZCBvbjogRGVjZW1iZXIgMTksIDIwMThcbiAqL1xuLnN3aXBlci1jb250YWluZXIsIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgLyogRml4IG9mIFdlYmtpdCBmbGlja2VyaW5nICovXG4gIHotaW5kZXg6IDE7IH1cblxuLnN3aXBlci1jb250YWluZXItbm8tZmxleGJveCAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1uby1mbGV4Ym94IC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyLCAuc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZXMge1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uc3dpcGVyLXdyYXBwZXIsIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgLXdlYmtpdC10cmFuc2Zvcm07XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWFuZHJvaWQgLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItYW5kcm9pZCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUsIC5zd2lwZXItd3JhcHBlciwgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlcyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7IH1cblxuLnN3aXBlci1jb250YWluZXItbXVsdGlyb3cgPiAuc3dpcGVyLXdyYXBwZXIsIC5zd2lwZXItY29udGFpbmVyLW11bHRpcm93ID4gLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlcyB7XG4gIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlID4gLnN3aXBlci13cmFwcGVyLCAuc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgPiAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGVzIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uc3dpcGVyLXNsaWRlLCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUge1xuICAtd2Via2l0LWZsZXgtc2hyaW5rOiAwO1xuICAtbXMtZmxleC1uZWdhdGl2ZTogMDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIC13ZWJraXQtdHJhbnNmb3JtOyB9XG5cbi5zd2lwZXItc2xpZGUtaW52aXNpYmxlLWJsYW5rIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qIEF1dG8gSGVpZ2h0ICovXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0LFxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXdyYXBwZXIsIC5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlcyB7XG4gIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBoZWlnaHQsIC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBoZWlnaHQsIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgaGVpZ2h0LCAtd2Via2l0LXRyYW5zZm9ybTsgfVxuXG4vKiAzRCBFZmZlY3RzICovXG4uc3dpcGVyLWNvbnRhaW5lci0zZCB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEyMDBweDtcbiAgcGVyc3BlY3RpdmU6IDEyMDBweDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXdyYXBwZXIsIC5zd2lwZXItY29udGFpbmVyLTNkIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZXMsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci1jb250YWluZXItM2QgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1jdWJlLXNoYWRvdyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDEwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgcmlnaHQgdG9wLCBsZWZ0IHRvcCwgZnJvbShyZ2JhKDAsIDAsIDAsIDAuNSkpLCB0byhyZ2JhKDAsIDAsIDAsIDApKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQocmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IGJvdHRvbSwgbGVmdCB0b3AsIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbShyZ2JhKDAsIDAsIDAsIDAuNSkpLCB0byhyZ2JhKDAsIDAsIDAsIDApKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuXG4vKiBJRTEwIFdpbmRvd3MgUGhvbmUgOCBGaXhlcyAqL1xuLnN3aXBlci1jb250YWluZXItd3A4LWhvcml6b250YWwsXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtaG9yaXpvbnRhbCA+IC5zd2lwZXItd3JhcHBlcixcbi5zd2lwZXItY29udGFpbmVyLXdwOC1ob3Jpem9udGFsID4gLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlcyB7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICB0b3VjaC1hY3Rpb246IHBhbi15OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXdwOC12ZXJ0aWNhbCxcbi5zd2lwZXItY29udGFpbmVyLXdwOC12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlcixcbi5zd2lwZXItY29udGFpbmVyLXdwOC12ZXJ0aWNhbCA+IC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZXMge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teDtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teDsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAyN3B4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIG1hcmdpbi10b3A6IC0yMnB4O1xuICB6LWluZGV4OiAxMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDI3cHggNDRweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCxcbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuMzU7XG4gIGN1cnNvcjogYXV0bztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1idXR0b24tcHJldixcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyMzAwN2FmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XG4gIGxlZnQ6IDEwcHg7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMjclMkMyMkwyNyUyQzIyTDUlMkM0NGwtMi4xLTIuMUwyMi44JTJDMjJMMi45JTJDMi4xTDUlMkMwTDI3JTJDMjJMMjclMkMyMnonJTIwZmlsbCUzRCclMjMwMDdhZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xuICByaWdodDogMTBweDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24td2hpdGUsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyM2ZmZmZmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLXdoaXRlLFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi13aGl0ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMjclMkMyMkwyNyUyQzIyTDUlMkM0NGwtMi4xLTIuMUwyMi44JTJDMjJMMi45JTJDMi4xTDUlMkMwTDI3JTJDMjJMMjclMkMyMnonJTIwZmlsbCUzRCclMjNmZmZmZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1ibGFjayxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tYmxhY2sge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDAwMDAwJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tYmxhY2ssXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWJsYWNrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyMzAwMDAwMCclMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLnN3aXBlci1idXR0b24tbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTtcbiAgLW8tdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTtcbiAgdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB6LWluZGV4OiAxMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24uc3dpcGVyLXBhZ2luYXRpb24taGlkZGVuIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4vKiBDb21tb24gU3R5bGVzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb24sXG4uc3dpcGVyLXBhZ2luYXRpb24tY3VzdG9tLFxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcbiAgYm90dG9tOiAxMHB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKiBCdWxsZXRzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1zaXplOiAwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW1haW4ge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC42Nik7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2LXByZXYge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC42Nik7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0LW5leHQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICB3aWR0aDogOHB4O1xuICBoZWlnaHQ6IDhweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBvcGFjaXR5OiAwLjI7IH1cblxuYnV0dG9uLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1jbGlja2FibGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQ6ICMwMDdhZmY7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyB7XG4gIHJpZ2h0OiAxMHB4O1xuICB0b3A6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTUwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBtYXJnaW46IDZweCAwO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB3aWR0aDogOHB4OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMjAwbXMgdG9wLCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdG9wLCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyB0b3A7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgdG9wO1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHRvcCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBtYXJnaW46IDAgNHB4OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICBsZWZ0OiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAyMDBtcyBsZWZ0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbjogMjAwbXMgbGVmdCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgbGVmdDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyBsZWZ0O1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIGxlZnQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwuc3dpcGVyLWNvbnRhaW5lci1ydGwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAtd2Via2l0LXRyYW5zaXRpb246IDIwMG1zIHJpZ2h0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbjogMjAwbXMgcmlnaHQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHJpZ2h0O1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHJpZ2h0O1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHJpZ2h0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTsgfVxuXG4vKiBQcm9ncmVzcyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIGJhY2tncm91bmQ6ICMwMDdhZmY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIsXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDRweDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLFxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSB7XG4gIHdpZHRoOiA0cHg7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24td2hpdGUgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1ibGFjayAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tYmxhY2sgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1sb2NrIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBTY3JvbGxiYXIgKi9cbi5zd2lwZXItc2Nyb2xsYmFyLCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2Nyb2xsYmFyIHtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItc2Nyb2xsYmFyLCAuc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3Njcm9sbGJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMSU7XG4gIGJvdHRvbTogM3B4O1xuICB6LWluZGV4OiA1MDtcbiAgaGVpZ2h0OiA1cHg7XG4gIHdpZHRoOiA5OCU7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXNjcm9sbGJhciwgLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2Nyb2xsYmFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogM3B4O1xuICB0b3A6IDElO1xuICB6LWluZGV4OiA1MDtcbiAgd2lkdGg6IDVweDtcbiAgaGVpZ2h0OiA5OCU7IH1cblxuLnN3aXBlci1zY3JvbGxiYXItZHJhZywgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3Njcm9sbGJhci0tZHJhZyB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLnN3aXBlci1zY3JvbGxiYXItY3Vyc29yLWRyYWcge1xuICBjdXJzb3I6IG1vdmU7IH1cblxuLnN3aXBlci1zY3JvbGxiYXItbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXBlci16b29tLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBpbWcsXG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gc3ZnLFxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGNhbnZhcyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgLW8tb2JqZWN0LWZpdDogY29udGFpbjtcbiAgb2JqZWN0LWZpdDogY29udGFpbjsgfVxuXG4uc3dpcGVyLXNsaWRlLXpvb21lZCB7XG4gIGN1cnNvcjogbW92ZTsgfVxuXG4vKiBQcmVsb2FkZXIgKi9cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXIge1xuICB3aWR0aDogNDJweDtcbiAgaGVpZ2h0OiA0MnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMjFweDtcbiAgbWFyZ2luLXRvcDogLTIxcHg7XG4gIHotaW5kZXg6IDEwO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICAtd2Via2l0LWFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIHN0ZXBzKDEyLCBlbmQpIGluZmluaXRlO1xuICBhbmltYXRpb246IHN3aXBlci1wcmVsb2FkZXItc3BpbiAxcyBzdGVwcygxMiwgZW5kKSBpbmZpbml0ZTsgfVxuXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6ICcnO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMTIwJTIwMTIwJyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB4bWxucyUzQXhsaW5rJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJyUzRSUzQ2RlZnMlM0UlM0NsaW5lJTIwaWQlM0QnbCclMjB4MSUzRCc2MCclMjB4MiUzRCc2MCclMjB5MSUzRCc3JyUyMHkyJTNEJzI3JyUyMHN0cm9rZSUzRCclMjM2YzZjNmMnJTIwc3Ryb2tlLXdpZHRoJTNEJzExJyUyMHN0cm9rZS1saW5lY2FwJTNEJ3JvdW5kJyUyRiUzRSUzQyUyRmRlZnMlM0UlM0NnJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoNjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDkwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxMjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE1MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjM3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTgwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNDYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyMTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy41NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI0MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjY2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjcwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNzUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy44NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMzMCUyMDYwJTJDNjApJyUyRiUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0VcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXItd2hpdGU6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMTIwJTIwMTIwJyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB4bWxucyUzQXhsaW5rJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJyUzRSUzQ2RlZnMlM0UlM0NsaW5lJTIwaWQlM0QnbCclMjB4MSUzRCc2MCclMjB4MiUzRCc2MCclMjB5MSUzRCc3JyUyMHkyJTNEJzI3JyUyMHN0cm9rZSUzRCclMjNmZmYnJTIwc3Ryb2tlLXdpZHRoJTNEJzExJyUyMHN0cm9rZS1saW5lY2FwJTNEJ3JvdW5kJyUyRiUzRSUzQyUyRmRlZnMlM0UlM0NnJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoNjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDkwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxMjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE1MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjM3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTgwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNDYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyMTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy41NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI0MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjY2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjcwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNzUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy44NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMzMCUyMDYwJTJDNjApJyUyRiUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0VcIik7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBzd2lwZXItcHJlbG9hZGVyLXNwaW4ge1xuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbi8qIGExMXkgKi9cbi5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItbm90aWZpY2F0aW9uLCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlciAuc3dpcGVyLW5vdGlmaWNhdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogLTEwMDA7IH1cblxuLnN3aXBlci1jb250YWluZXItZmFkZS5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1mYWRlLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWZhZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItZmFkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUgLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZSwgLnN3aXBlci1jb250YWluZXItZmFkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWN1YmUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWN1YmUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItY3ViZS5zd2lwZXItY29udGFpbmVyLXJ0bCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0LFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXByZXYsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCArIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCArIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgei1pbmRleDogMDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBvcGFjaXR5OiAwLjY7XG4gIC13ZWJraXQtZmlsdGVyOiBibHVyKDUwcHgpO1xuICBmaWx0ZXI6IGJsdXIoNTBweCk7XG4gIHotaW5kZXg6IDA7IH1cblxuLnN3aXBlci1jb250YWluZXItZmxpcCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItZmxpcCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogMTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItZmxpcCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUgLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZSwgLnN3aXBlci1jb250YWluZXItZmxpcCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIHotaW5kZXg6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnN3aXBlci1jb250YWluZXItY292ZXJmbG93IC5zd2lwZXItd3JhcHBlciwgLnN3aXBlci1jb250YWluZXItY292ZXJmbG93IC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZXMge1xuICAvKiBXaW5kb3dzIDggSUUgMTAgZml4ICovXG4gIC1tcy1wZXJzcGVjdGl2ZTogMTIwMHB4OyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDAgM3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGVzIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG4gIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fZmlndXJlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9faW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19uYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGxpbmVhcjtcbiAgICB6LWluZGV4OiAyMDE7XG4gICAgd2lkdGg6IDUuNXJlbTtcbiAgICBoZWlnaHQ6IDUuNXJlbTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19uYXYge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeTpob3ZlciAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fbmF2IHtcbiAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19uYXYtLWhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX25hdi0tZGlzYWJsZWQge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fbmF2LS1wcmV2IHtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5Om5vdCguY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tZnVsbC13aWR0aC1zbGlkZXIpIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19uYXYtLXByZXYge1xuICAgICAgICAgIGxlZnQ6IC0yLjc1cmVtO1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19uYXYtLW5leHQge1xuICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5Om5vdCguY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tZnVsbC13aWR0aC1zbGlkZXIpIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19uYXYtLW5leHQge1xuICAgICAgICAgIHJpZ2h0OiAtMi43NXJlbTtcbiAgICAgICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tcmVhZHkgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX25hdjpub3QoLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX25hdi0tZGlzYWJsZWQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX25hdjpob3ZlciwgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX25hdjphY3RpdmUsIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19uYXY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19uYXYge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fbmF2LWljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgICB3aWR0aDogMi40cmVtO1xuICAgIGhlaWdodDogMy43cmVtO1xuICAgIGZpbGw6ICNGRjQ2MDQ7IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3BhZ2luYXRpb24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwIDA7XG4gICAgbWluLWhlaWdodDogM3JlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgIHotaW5kZXg6IDIwMDsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19wYWdpbmF0aW9uLS1oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fcGFnaW5hdGlvbi1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwLjRyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmMGYwZjA7XG4gICAgd2lkdGg6IDIuMnJlbTtcbiAgICBoZWlnaHQ6IDAuOXJlbTtcbiAgICB0cmFuc2Zvcm06IHNrZXcoLTE4ZGVnKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3BhZ2luYXRpb24taXRlbTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZGNkY2RjOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3BhZ2luYXRpb24taXRlbS0tYWN0aXZlLCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fcGFnaW5hdGlvbi1pdGVtLS1hY3RpdmU6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZlZDQwMDsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fcGFnaW5hdGlvbi1idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBmb250LXNpemU6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fbnVtYmVyIHtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX251bWJlci0tY3VycmVudCB7XG4gICAgICBjb2xvcjogI0ZGNDYwNDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5IHtcbiAgICAgIG1hcmdpbjogMCAwIDRyZW07IH0gfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2tpcC1zcGFjaW5nIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3k6bm90KC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1zbGlkZXIpIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19uYXYsXG4gIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5Om5vdCguY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyKSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fcGFnaW5hdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeTpub3QoLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlcikgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlcyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3k6bm90KC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1zbGlkZXIpIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3k6bm90KC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1zbGlkZXIpIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19maWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeTpub3QoLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlcikgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2ltYWdlIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1zbGlkZXIgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2ltYWdlW3NyY149J2RhdGE6aW1hZ2UvJ10ge1xuICAgIGhlaWdodDogMDsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHN0YXRpYzsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LW91dHNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LW91dHNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2ZpZ3VyZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTVlbTtcbiAgICBjb2xvcjogI2RkMmUyZTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktb3V0c2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY29udGVudC13cmFwcGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMWVtIDAuNjVlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY29udGVudC13cmFwcGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBwYWRkaW5nOiAzJSA1JTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2NvbnRlbnQtd3JhcHBlciAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTIuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyLFxuICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY29udGVudC13cmFwcGVyIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctMy5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1zbGlkZXIsXG4gICAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktaW5zaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jb250ZW50LXdyYXBwZXIgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy00LmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlcixcbiAgICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2NvbnRlbnQtd3JhcHBlciAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTUuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyLFxuICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY29udGVudC13cmFwcGVyIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctNi5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1zbGlkZXIge1xuICAgICAgICAgIHdpZHRoOiA4MCU7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2NvbnRlbnQtd3JhcHBlciAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTIgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0zLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlcixcbiAgICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2NvbnRlbnQtd3JhcHBlciAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTQuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyLFxuICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY29udGVudC13cmFwcGVyIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctNS5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1zbGlkZXIsXG4gICAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktaW5zaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jb250ZW50LXdyYXBwZXIgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy02LmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlciB7XG4gICAgICAgICAgd2lkdGg6IDcwJTsgfSB9XG4gICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2NvbnRlbnQtd3JhcHBlci0tY29udGVudC1kaXNwbGF5LXNjZW5hcmlvLTEge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY29udGVudC13cmFwcGVyLS1jb250ZW50LWRpc3BsYXktc2NlbmFyaW8tMiB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2NvbnRlbnQtd3JhcHBlci0tY29udGVudC1kaXNwbGF5LXNjZW5hcmlvLTMge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2NvbnRlbnQtd3JhcHBlci0tY29udGVudC1kaXNwbGF5LXNjZW5hcmlvLTQge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9faGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDJyZW07IH1cbiAgICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0xIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19oZWFkbGluZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAycmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjM5cmVtOyB9XG4gICAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctMSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9faGVhZGxpbmUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMy43NXZ3OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0xIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19oZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNHZ3OyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTIgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjQ1dnc7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctMyAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9faGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDIuMjV2dzsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0zLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlciAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9faGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDIuMDV2dzsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy00IC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19oZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnZ3OyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTQuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19oZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS45dnc7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctNiAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9faGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDEuNXZ3OyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTggLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjM1dnc7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTEgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAzLjV2dzsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0yIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19oZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4zNXZ3OyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTMgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjl2dzsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy00IC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19oZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42dnc7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctNiAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9faGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDEuMzV2dzsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy04IC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19oZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ydnc7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTEgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiA0LjY1cmVtOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTIgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjlyZW07IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctMyAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9faGVhZGxpbmUsXG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTQgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjdyZW07IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctMy5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1zbGlkZXIgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjVyZW07IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctNC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1zbGlkZXIgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjNyZW07IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctNiAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9faGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDEuN3JlbTsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy04IC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19oZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy1tb2JpbGUtMiAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9faGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDMuNXZ3OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMjkuOTllbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy1tb2JpbGUtMiAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9faGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDMuOHZ3OyB9IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9faGVhZGxpbmUgKyAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc3ViaGVhZGxpbmUge1xuICAgICAgbWFyZ2luOiAwLjI1ZW0gMCAwOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zdWJoZWFkbGluZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3N1YmhlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc3ViaGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDEuNjlyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTEgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3N1YmhlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjU1dnc7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctMiAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc3ViaGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDJ2dzsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0zIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zdWJoZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS43OHZ3OyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTMuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zdWJoZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41dnc7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctNCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc3ViaGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDEuNXZ3OyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTQuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zdWJoZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40dnc7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctNiAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc3ViaGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDEuMnZ3OyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTggLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3N1YmhlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjF2dzsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctMSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc3ViaGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDIuMjV2dzsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0yIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zdWJoZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44NXZ3OyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTMgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3N1YmhlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjV2dzsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy00IC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zdWJoZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zNXZ3OyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTYgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3N1YmhlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjN2dzsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy04IC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zdWJoZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ydnc7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTEgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3N1YmhlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjg1cmVtOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTIgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3N1YmhlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjJyZW07IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctMyAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc3ViaGVhZGxpbmUsXG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTQgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3N1YmhlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAycmVtOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTMuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zdWJoZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTQuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zdWJoZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTYgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3N1YmhlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctNiAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LW91dHNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3N1YmhlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctOCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LW91dHNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3N1YmhlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LW1vYmlsZS0yIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zdWJoZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi41dnc7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAyOS45OWVtKSB7XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LW1vYmlsZS0yIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zdWJoZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogM3Z3OyB9IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3RleHQge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE4O1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3RleHQge1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LW91dHNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3RleHQsXG4gICAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctMSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fdGV4dCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTIgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3RleHQge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jdGEge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2N0YSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjdyZW07IH1cbiAgICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0yOm5vdCguY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyKSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY3RhIHtcbiAgICAgICAgICBwYWRkaW5nOiAxZW0gMi41ZW07IH1cbiAgICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0zIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktaW5zaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jdGEsXG4gICAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctNCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY3RhLFxuICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTYgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2N0YSxcbiAgICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy02IC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktb3V0c2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY3RhIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctOCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY3RhIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0zOm5vdCguY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyKSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY3RhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctNjpub3QoLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlcikgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2N0YSB7XG4gICAgICAgIHBhZGRpbmc6IDAuNjVlbSAxLjI1ZW07IH0gfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fcGFnaW5hdGlvbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctbW9iaWxlLTI6bm90KC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1zbGlkZXIpIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMC4yNWVtKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLW1vYmlsZS1jZmctYmlnLXNtYWxsLXNtYWxsOm5vdCguY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyKSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUge1xuICAgIHdpZHRoOiBjYWxjKCA1MCUgLSAwLjI1ZW0pOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLW1vYmlsZS1jZmctYmlnLXNtYWxsLXNtYWxsOm5vdCguY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyKSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGU6Zmlyc3QtY2hpbGQge1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLW1vYmlsZS1jZmctYmlnLXNtYWxsLXNtYWxsOm5vdCguY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyKSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGU6Zmlyc3QtY2hpbGQgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2ltYWdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLW1vYmlsZS1jZmctYmlnLXNtYWxsLXNtYWxsLWJpZzpub3QoLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlcikgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlIHtcbiAgICB3aWR0aDogY2FsYyggNTAlIC0gMC4yNWVtKTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1tb2JpbGUtY2ZnLWJpZy1zbWFsbC1zbWFsbC1iaWc6bm90KC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1zbGlkZXIpIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZTpmaXJzdC1jaGlsZCwgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLW1vYmlsZS1jZmctYmlnLXNtYWxsLXNtYWxsLWJpZzpub3QoLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlcikgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlOmxhc3QtY2hpbGQge1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLW1vYmlsZS1jZmctYmlnLXNtYWxsLXNtYWxsLWJpZzpub3QoLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlcikgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlOmZpcnN0LWNoaWxkIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19pbWFnZSwgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLW1vYmlsZS1jZmctYmlnLXNtYWxsLXNtYWxsLWJpZzpub3QoLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlcikgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlOmxhc3QtY2hpbGQgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2ltYWdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWZ1bGwtd2lkdGgge1xuICAgIG1hcmdpbjogMCBjYWxjKCgoMTAwdncgLSAxMDAlKSAvIDIpICogLTEpOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0yOm5vdCguY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyKSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUsIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctMzpub3QoLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlcikgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlLCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTQ6bm90KC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1zbGlkZXIpIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZSwgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy01Om5vdCguY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyKSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUsIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctNjpub3QoLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlcikgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlLCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTg6bm90KC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1zbGlkZXIpIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTI6bm90KC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1zbGlkZXIpIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZSB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAwLjI1ZW0pOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0zOm5vdCguY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyKSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMgLSAwLjMzMzNlbSk7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTQ6bm90KC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1zbGlkZXIpIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gNCAtIDAuMzc1ZW0pOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy02Om5vdCguY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyKSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDYgLSAwLjgzMzNlbSk7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTg6bm90KC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1zbGlkZXIpIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gOCAtIDAuODc1ZW0pOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLW1vYmlsZS1jZmctYmlnLXNtYWxsLXNtYWxsOm5vdCguY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyKSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGU6Zmlyc3QtY2hpbGQge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMgLSAwLjMzMzNlbSk7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tbW9iaWxlLWNmZy1iaWctc21hbGwtc21hbGwtYmlnOm5vdCguY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyKSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGU6Zmlyc3QtY2hpbGQsIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1tb2JpbGUtY2ZnLWJpZy1zbWFsbC1zbWFsbC1iaWc6bm90KC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1zbGlkZXIpIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZTpsYXN0LWNoaWxkIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA0IC0gMC41ZW0pOyB9IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWNtcy1wYWdlcyAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGVzIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeTpub3QoLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlcikgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlciAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlLS1zY2hlbWUtbGlnaHQ6bm90KC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZS0taW1hZ2UtdXBsb2FkZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjEyMTIxOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZS1saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlLWxpbms6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1vdXRzaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZS1saW5rIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY29udGVudC13cmFwcGVyIHtcbiAgICBjb2xvcjogIzIxMjEyMTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktaW5zaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jb250ZW50LXdyYXBwZXIge1xuICAgICAgcGFkZGluZzogMnJlbSAxcmVtOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgICBwYWRkaW5nOiAycmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0xIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktaW5zaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jb250ZW50LXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAycmVtIDNyZW07IH0gfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktb3V0c2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY29udGVudC13cmFwcGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2NvbnRlbnQtd3JhcHBlci0tY29udGVudC1kaXNwbGF5LXNjZW5hcmlvLTEgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3N1YmhlYWRsaW5lLFxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktaW5zaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jb250ZW50LXdyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1zY2VuYXJpby0xIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X190ZXh0LFxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktaW5zaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jb250ZW50LXdyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1zY2VuYXJpby0xIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jdGEsXG4gICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2NvbnRlbnQtd3JhcHBlci0tY29udGVudC1kaXNwbGF5LXNjZW5hcmlvLTIgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3N1YmhlYWRsaW5lLFxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktaW5zaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jb250ZW50LXdyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1zY2VuYXJpby0yIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X190ZXh0LFxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktaW5zaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jb250ZW50LXdyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1zY2VuYXJpby0yIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jdGEge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY29udGVudC13cmFwcGVyLS1jb250ZW50LWRpc3BsYXktc2NlbmFyaW8tMSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc3ViaGVhZGxpbmUsXG4gICAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktaW5zaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jb250ZW50LXdyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1zY2VuYXJpby0xIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X190ZXh0LFxuICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY29udGVudC13cmFwcGVyLS1jb250ZW50LWRpc3BsYXktc2NlbmFyaW8tMSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY3RhLFxuICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY29udGVudC13cmFwcGVyLS1jb250ZW50LWRpc3BsYXktc2NlbmFyaW8tMiAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc3ViaGVhZGxpbmUsXG4gICAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktaW5zaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jb250ZW50LXdyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1zY2VuYXJpby0yIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X190ZXh0LFxuICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY29udGVudC13cmFwcGVyLS1jb250ZW50LWRpc3BsYXktc2NlbmFyaW8tMiAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY3RhIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jb250ZW50LXdyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1zY2VuYXJpby00IHtcbiAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeTpub3QoLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0xKSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY29udGVudC13cmFwcGVyLS1jb250ZW50LWRpc3BsYXktc2NlbmFyaW8tMSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9faGVhZGxpbmUsXG4gIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5Om5vdCguY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTEpIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktaW5zaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jb250ZW50LXdyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1zY2VuYXJpby0yIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19oZWFkbGluZSB7XG4gICAgbWF4LXdpZHRoOiA3MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAxLjVyZW0gMC41cmVtIDJyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZDQwMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeTpub3QoLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0xKSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY29udGVudC13cmFwcGVyLS1jb250ZW50LWRpc3BsYXktc2NlbmFyaW8tMSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9faGVhZGxpbmUsXG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeTpub3QoLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0xKSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY29udGVudC13cmFwcGVyLS1jb250ZW50LWRpc3BsYXktc2NlbmFyaW8tMiAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9faGVhZGxpbmUge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTJyZW07IH0gfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5Om5vdCguY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTEpIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktaW5zaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jb250ZW50LXdyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1zY2VuYXJpby0xIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19oZWFkbGluZTphZnRlcixcbiAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeTpub3QoLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0xKSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY29udGVudC13cmFwcGVyLS1jb250ZW50LWRpc3BsYXktc2NlbmFyaW8tMiAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9faGVhZGxpbmU6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAtMnJlbTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgYmFja2dyb3VuZDogI2ZlZDQwMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiA0LjVyZW07XG4gICAgICB0cmFuc2Zvcm06IHNrZXcoLTE4ZGVnKTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTIgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2NvbnRlbnQtd3JhcHBlci0tY29udGVudC1kaXNwbGF5LXNjZW5hcmlvLTEgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lLFxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTIgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2NvbnRlbnQtd3JhcHBlci0tY29udGVudC1kaXNwbGF5LXNjZW5hcmlvLTIgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lIHtcbiAgICBtYXgtd2lkdGg6IDUwJSAhaW1wb3J0YW50OyB9XG4gIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktaW5zaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19oZWFkbGluZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDM7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LW91dHNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTIgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1vdXRzaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19oZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi40M3JlbTsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0zIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktb3V0c2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9faGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDIuMXJlbTsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy00IC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktb3V0c2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9faGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDEuOTVyZW07IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctNiAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LW91dHNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjc0cmVtOyB9IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lICsgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3N1YmhlYWRsaW5lIHtcbiAgICBtYXJnaW46IDAuMjVyZW0gMCAwOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19oZWFkbGluZSArIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X190ZXh0IHtcbiAgICBtYXJnaW46IDAuMjVyZW0gMCAwOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zdWJoZWFkbGluZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zdWJoZWFkbGluZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zdWJoZWFkbGluZSArIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X190ZXh0IHtcbiAgICAgIG1hcmdpbjogMC4yNXJlbSAwIDA7IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3RleHQge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE4O1xuICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X190ZXh0IHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X190ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjQ1cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3RleHQge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jdGEge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY3RhLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gICAgICBwYWRkaW5nOiA4cHggMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB6LWluZGV4OiA1O1xuICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2N0YS1idXR0b24ubWVkaXVtIHtcbiAgICAgICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2N0YS1idXR0b24ubGFyZ2Uge1xuICAgICAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY3RhLWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY3RhLWJ1dHRvbiwgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2N0YS1idXR0b246dmlzaXRlZCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2N0YS1idXR0b24gKiwgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2N0YS1idXR0b246dmlzaXRlZCAqIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY3RhLWJ1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jdGEtYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2N0YS1idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY3NDQyOyB9XG4gICAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jdGEtYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY3RhLWJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2N0YS1idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY3RhLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgICBjdXJzb3I6IGF1dG87IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jdGEtYnV0dG9uLXNwYW4ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRlbTsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2N0YS1idXR0b24taWNvbiB7XG4gICAgICAgIG1heC13aWR0aDogMWVtO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgcmlnaHQ6IDFlbTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fcGFnaW5hdGlvbiB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX25hdiB7XG4gICAgei1pbmRleDogMztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19uYXYge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fbmF2LS1kaXNhYmxlZCB7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICBjdXJzb3I6IGluaXRpYWwgIWltcG9ydGFudDsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX25hdi0tZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgIWltcG9ydGFudDsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19uYXYtLXByZXYge1xuICAgICAgbGVmdDogMS41cmVtOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX25hdi0tbmV4dCB7XG4gICAgICByaWdodDogMS41cmVtOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19uYXYtaWNvbiB7XG4gICAgZmlsbDogIzMyNGRjZjsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fbmF2LWljb24ge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoNS41cmVtICogMC43NSk7IH0gfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tZnVsbC13aWR0aC1zbGlkZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19udW1iZXItLWN1cnJlbnQge1xuICAgIGNvbG9yOiAjZmVkNDAwOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGVhc2VyL21peGlucyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ltYWdlLXRlYXNlci1sZWdhY3kvbWl4aW4nO1xuXG4kaW1hZ2UtdGVhc2VyLWxlZ2FjeV9jdGEtYnV0dG9uLXR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJGltYWdlLXRlYXNlci1sZWdhY3lfY3RhLWJ1dHRvbi1pY29uLXBvczogJGJ1dHRvbl9kZWZhdWx0LWljb24tcG9zICFkZWZhdWx0O1xuXG4uI3skbnN9aW1hZ2UtdGVhc2VyLWxlZ2FjeSB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBAaW5jbHVkZSB0ZWFzZXIoKTtcbiAgICBAaW5jbHVkZSBpbWFnZVRlYXNlcigpO1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG5cbiAgICAmX19zbGlkZXMge1xuICAgICAgICAjeyRyb290fS0tY21zLXBhZ2VzICYge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zbGlkZSB7XG4gICAgICAgICN7JHJvb3R9Om5vdCgjeyRyb290fS0tc2xpZGVyKSAmIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1zbGlkZXIgJiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tc2NoZW1lLWxpZ2h0Om5vdCgjeyRyb290fV9fc2xpZGUtLWltYWdlLXVwbG9hZGVkKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbWluZXNoYWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2xpZGUtbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1vdXRzaWRlICYge1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9taW5lc2hhZnQ7XG5cbiAgICAgICAgI3skcm9vdH1fX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgJiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtIDFyZW07XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctMSAjeyRyb290fV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAycmVtIDNyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LW91dHNpZGUgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktaW5zaWRlICYtLWNvbnRlbnQtZGlzcGxheS1zY2VuYXJpby0xLFxuICAgICAgICAjeyRyb290fV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZVxuICAgICAgICAgICAgJi0tY29udGVudC1kaXNwbGF5LXNjZW5hcmlvLTIge1xuICAgICAgICAgICAgI3skcm9vdH1fX3N1YmhlYWRsaW5lLFxuICAgICAgICAgICAgI3skcm9vdH1fX3RleHQsXG4gICAgICAgICAgICAjeyRyb290fV9fY3RhIHtcbiAgICAgICAgICAgICAgICAvL1N0eWxlIHNwZWNpZmljIGZvciBjcmVhdGl2ZXNob3AgdGVtcGxhdGUsIHByb2JhYmx5IHNob3VsZCBiZSByZW1vdmVkIGluIGNoaWxkIHRlbXBsYXRlXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWNvbnRlbnQtZGlzcGxheS1zY2VuYXJpby00IHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkbGluZSB7XG4gICAgICAgIC8vQmVsb3cgYXJlIHN0eWxlcyBzcGVjaWZpYyBmb3IgY3JlYXRpdmVzaG9wIHRlbXBsYXRlLCBwcm9iYWJseSBzaG91bGQgYmUgcmVtb3ZlZCBpbiBjaGlsZCB0ZW1wbGF0ZVxuXG4gICAgICAgICN7JHJvb3R9X19zbGlkZS0tc2NoZW1lLWxpZ2h0ICYge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl93aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9Om5vdCgjeyRyb290fS0taXRlbXMtaW4tcm93LTEpXG4gICAgICAgICAgICAjeyRyb290fV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZVxuICAgICAgICAgICAgI3skcm9vdH1fX2NvbnRlbnQtd3JhcHBlci0tY29udGVudC1kaXNwbGF5LXNjZW5hcmlvLTFcbiAgICAgICAgICAgICYsXG4gICAgICAgICN7JHJvb3R9Om5vdCgjeyRyb290fS0taXRlbXMtaW4tcm93LTEpXG4gICAgICAgICAgICAjeyRyb290fV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZVxuICAgICAgICAgICAgI3skcm9vdH1fX2NvbnRlbnQtd3JhcHBlci0tY29udGVudC1kaXNwbGF5LXNjZW5hcmlvLTJcbiAgICAgICAgICAgICYge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA3MCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTFyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMS41cmVtIDAuNXJlbSAycmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2dvbGQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0ycmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAvL1N0eWxlIHNwZWNpZmljIGZvciBjcmVhdGl2ZXNob3AgdGVtcGxhdGUsIHByb2JhYmx5IHNob3VsZCBiZSByZW1vdmVkIGluIGNoaWxkIHRlbXBsYXRlXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMnJlbTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2dvbGQ7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0LjVyZW07XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KC0xOGRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTJcbiAgICAgICAgICAgICN7JHJvb3R9X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktaW5zaWRlXG4gICAgICAgICAgICAjeyRyb290fV9fY29udGVudC13cmFwcGVyLS1jb250ZW50LWRpc3BsYXktc2NlbmFyaW8tMVxuICAgICAgICAgICAgJixcbiAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0yXG4gICAgICAgICAgICAjeyRyb290fV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZVxuICAgICAgICAgICAgI3skcm9vdH1fX2NvbnRlbnQtd3JhcHBlci0tY29udGVudC1kaXNwbGF5LXNjZW5hcmlvLTJcbiAgICAgICAgICAgICYge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vRW5kIG9mIHN0eWxlIHZlcnkgc3BlY2lmaWMgdG8gY3JlYXRpdmVzaG9wIHRlbXBsYXRlXG5cbiAgICAgICAgI3skcm9vdH1fX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgJiB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LW91dHNpZGUgJiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0yICYge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuNDNyZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0zICYge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuMXJlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTQgJiB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS45NXJlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTYgJiB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43NHJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICArICN7JHJvb3R9X19zdWJoZWFkbGluZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAuMjVyZW0gMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgKyAjeyRyb290fV9fdGV4dCB7XG4gICAgICAgICAgICBtYXJnaW46IDAuMjVyZW0gMCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3ViaGVhZGxpbmUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgICAgICN7JHJvb3R9X19zbGlkZS0tc2NoZW1lLWxpZ2h0ICYge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl93aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICsgI3skcm9vdH1fX3RleHQge1xuICAgICAgICAgICAgbWFyZ2luOiAwLjI1cmVtIDAgMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xODtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9kb3ZlLWdyYXk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgI3skcm9vdH1fX3NsaWRlLS1zY2hlbWUtbGlnaHQgJiB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX3doaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNDVyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2N0YSB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICYtYnV0dG9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJGltYWdlLXRlYXNlci1sZWdhY3lfY3RhLWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJGltYWdlLXRlYXNlci1sZWdhY3lfY3RhLWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgJi1zcGFuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRpbWFnZS10ZWFzZXItbGVnYWN5X2N0YS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkaW1hZ2UtdGVhc2VyLWxlZ2FjeV9jdGEtYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1pY29uIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRpbWFnZS10ZWFzZXItbGVnYWN5X2N0YS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkaW1hZ2UtdGVhc2VyLWxlZ2FjeV9jdGEtYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3BhZ2luYXRpb24ge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fbmF2IHtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3doaXRlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRpc2FibGVkIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgIGN1cnNvcjogaW5pdGlhbCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXByZXYge1xuICAgICAgICAgICAgbGVmdDogMS41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbmV4dCB7XG4gICAgICAgICAgICByaWdodDogMS41cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbmF2LWljb24ge1xuICAgICAgICBmaWxsOiAkY29sb3JfY2VydWxlYW4tYmx1ZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYyg1LjVyZW0gKiAwLjc1KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWZ1bGwtd2lkdGgtc2xpZGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICZfX251bWJlci0tY3VycmVudCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfZ29sZDtcbiAgICB9XG59XG4iLCJAaW1wb3J0ICd1dGlscy9jb21wb25lbnQtc3BhY2luZyc7XG5cbkBtaXhpbiBpbWFnZVRlYXNlcigpIHtcbiAgICAkcm9vdDogJjtcbiAgICBAaW5jbHVkZSBjb21wb25lbnQtc3BhY2luZygpO1xuXG4gICAgJjpub3QoI3skcm9vdH0tLXNsaWRlcikge1xuICAgICAgICAjeyRyb290fV9fbmF2LFxuICAgICAgICAjeyRyb290fV9fcGFnaW5hdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX3NsaWRlcyB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fc2xpZGUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fZmlndXJlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX2ltYWdlIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYjeyRyb290fS0tc2xpZGVyIHtcbiAgICAgICAgI3skcm9vdH1fX2ltYWdlIHtcbiAgICAgICAgICAgICZbc3JjXj0nZGF0YTppbWFnZS8nXSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgfVxuXG4gICAgJl9fc2xpZGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAjeyRyb290fV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LW91dHNpZGUgJiB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19maWd1cmUge1xuICAgICAgICAjeyRyb290fV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LW91dHNpZGUgJiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1ZW07XG4gICAgICAgIGNvbG9yOiAjZGQyZTJlO1xuXG4gICAgICAgICN7JHJvb3R9X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktb3V0c2lkZSAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMWVtIDAuNjVlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAmIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBwYWRkaW5nOiAzJSA1JTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTIsXG4gICAgICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0zLFxuICAgICAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctNCxcbiAgICAgICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTUsXG4gICAgICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy02IHtcbiAgICAgICAgICAgICAgICAgICAgJiN7JHJvb3R9LS1zbGlkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctMiAjeyRyb290fS0taXRlbXMtaW4tcm93LTMsXG4gICAgICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy00LFxuICAgICAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctNSxcbiAgICAgICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTYge1xuICAgICAgICAgICAgICAgICAgICAmI3skcm9vdH0tLXNsaWRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tY29udGVudC1kaXNwbGF5LXNjZW5hcmlvLTEge1xuICAgICAgICAgICAgI3skcm9vdH1fX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgJiB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tY29udGVudC1kaXNwbGF5LXNjZW5hcmlvLTIge1xuICAgICAgICAgICAgI3skcm9vdH1fX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgJiB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1jb250ZW50LWRpc3BsYXktc2NlbmFyaW8tMyB7XG4gICAgICAgICAgICAjeyRyb290fV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAmIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1jb250ZW50LWRpc3BsYXktc2NlbmFyaW8tNCB7XG4gICAgICAgICAgICAjeyRyb290fV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAmIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRsaW5lIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmUnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTEgJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmVMZycpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4zOXJlbTtcbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctMSAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDMuNzV2dztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctMSAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDR2dztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0yICYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi40NXZ3O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTMgJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjI1dnc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctMyN7JHJvb3R9LS1zbGlkZXIgJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjA1dnc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctNCAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDJ2dztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy00I3skcm9vdH0tLXNsaWRlciAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuOXZ3O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTYgJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjV2dztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy04ICYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zNXZ3O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0xICYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMy41dnc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctMiAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuMzV2dztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0zICYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS45dnc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctNCAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNnZ3O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTYgJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjM1dnc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTggJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJ2dztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcExnJykge1xuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0xICYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNC42NXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0yICYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi45cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTMgJixcbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctNCAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuN3JlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0zI3skcm9vdH0tLXNsaWRlciAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy00I3skcm9vdH0tLXNsaWRlciAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuM3JlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy02ICYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTggJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvL0luIHNjZW5hcmlvIHdpdGggMiBpbWFnZXMgaW4gcm93IG9uIG1vYmlsZSBiZWxvdyBzdHlsZXMgb3ZlcndyaXRlIGFsbCBhYm92ZSBmb250LXNpemVzXG4gICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctbW9iaWxlLTIgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDMuNXZ3O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZScpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDMuOHZ3O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgKyAjeyRyb290fV9fc3ViaGVhZGxpbmUge1xuICAgICAgICAgICAgbWFyZ2luOiAwLjI1ZW0gMCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3ViaGVhZGxpbmUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZScpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmVMZycpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42OXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctMSAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuNTV2dztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0yICYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnZ3O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTMgJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjc4dnc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctMyN7JHJvb3R9LS1zbGlkZXIgJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjV2dztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy00ICYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41dnc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctNCN7JHJvb3R9LS1zbGlkZXIgJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjR2dztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy02ICYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ydnc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctOCAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMXZ3O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0xICYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4yNXZ3O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTIgJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjg1dnc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctMyAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXZ3O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTQgJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjM1dnc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctNiAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuM3Z3O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTggJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJ2dztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcExnJykge1xuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0xICYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi44NXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0yICYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTMgJixcbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctNCAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctMyN7JHJvb3R9LS1zbGlkZXIgJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctNCN7JHJvb3R9LS1zbGlkZXIgJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctNiAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy02XG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1vdXRzaWRlXG4gICAgICAgICAgICAgICAgJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctOFxuICAgICAgICAgICAgICAgICN7JHJvb3R9X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktb3V0c2lkZVxuICAgICAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy9JbiBzY2VuYXJpbyB3aXRoIDIgaW1hZ2VzIGluIHJvdyBvbiBtb2JpbGUgYmVsb3cgc3R5bGVzIG92ZXJ3cml0ZSBhbGwgYWJvdmUgZm9udC1zaXplc1xuICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LW1vYmlsZS0yICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjV2dztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmUnKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzdnc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTg7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG5cbiAgICAgICAgICAgICN7JHJvb3R9X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktb3V0c2lkZSAmLFxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0xICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wTGcnKSB7XG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTIgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jdGEge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMC43cmVtO1xuXG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTI6bm90KCN7JHJvb3R9LS1zbGlkZXIpICYge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFlbSAyLjVlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0zXG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGVcbiAgICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy00XG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGVcbiAgICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy02XG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGVcbiAgICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy02XG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1vdXRzaWRlXG4gICAgICAgICAgICAgICAgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy04ICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTM6bm90KCN7JHJvb3R9LS1zbGlkZXIpXG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGVcbiAgICAgICAgICAgICAgICAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy02Om5vdCgjeyRyb290fS0tc2xpZGVyKSAmIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjY1ZW0gMS4yNWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcGFnaW5hdGlvbiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmLS1pdGVtcy1pbi1yb3ctbW9iaWxlLTIge1xuICAgICAgICAmOm5vdCgjeyRyb290fS0tc2xpZGVyKSB7XG4gICAgICAgICAgICAjeyRyb290fV9fc2xpZGUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuMjVlbSk7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tbW9iaWxlLWNmZy1iaWctc21hbGwtc21hbGwge1xuICAgICAgICAmOm5vdCgjeyRyb290fS0tc2xpZGVyKSB7XG4gICAgICAgICAgICAjeyRyb290fV9fc2xpZGUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKFxuICAgICAgICAgICAgICAgICAgICA1MCUgLSAwLjI1ZW1cbiAgICAgICAgICAgICAgICApOyAvLyBTbWFsbCBzbGlkZXMgc2hvdWxkIGJlIGhhbGYgd2lkdGggbWludXMgZ2FwLlxuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsgLy8gQmlnIHNsaWRlIHNob3VsZCBiZSBmdWxsIHdpZHRoLlxuXG4gICAgICAgICAgICAgICAgICAgICN7JHJvb3R9X19pbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1tb2JpbGUtY2ZnLWJpZy1zbWFsbC1zbWFsbC1iaWcge1xuICAgICAgICAmOm5vdCgjeyRyb290fS0tc2xpZGVyKSB7XG4gICAgICAgICAgICAjeyRyb290fV9fc2xpZGUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKFxuICAgICAgICAgICAgICAgICAgICA1MCUgLSAwLjI1ZW1cbiAgICAgICAgICAgICAgICApOyAvLyBTbWFsbCBzbGlkZXMgc2hvdWxkIGJlIGhhbGYgd2lkdGggbWludXMgZ2FwLlxuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCxcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7IC8vIEJpZyBzbGlkZXMgc2hvdWxkIGJlIGZ1bGwgd2lkdGguXG5cbiAgICAgICAgICAgICAgICAgICAgI3skcm9vdH1fX2ltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWZ1bGwtd2lkdGgge1xuICAgICAgICBtYXJnaW46IDAgY2FsYygoKDEwMHZ3IC0gMTAwJSkgLyAyKSAqIC0xKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICYtLWl0ZW1zLWluLXJvdy0yLFxuICAgICAgICAmLS1pdGVtcy1pbi1yb3ctMyxcbiAgICAgICAgJi0taXRlbXMtaW4tcm93LTQsXG4gICAgICAgICYtLWl0ZW1zLWluLXJvdy01LFxuICAgICAgICAmLS1pdGVtcy1pbi1yb3ctNixcbiAgICAgICAgJi0taXRlbXMtaW4tcm93LTgge1xuICAgICAgICAgICAgJjpub3QoI3skcm9vdH0tLXNsaWRlcikge1xuICAgICAgICAgICAgICAgICN7JHJvb3R9X19zbGlkZSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1pdGVtcy1pbi1yb3ctMiB7XG4gICAgICAgICAgICAmOm5vdCgjeyRyb290fS0tc2xpZGVyKSB7XG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX3NsaWRlIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMC4yNWVtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1pdGVtcy1pbi1yb3ctMyB7XG4gICAgICAgICAgICAmOm5vdCgjeyRyb290fS0tc2xpZGVyKSB7XG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX3NsaWRlIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMgLSAwLjMzMzNlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0taXRlbXMtaW4tcm93LTQge1xuICAgICAgICAgICAgJjpub3QoI3skcm9vdH0tLXNsaWRlcikge1xuICAgICAgICAgICAgICAgICN7JHJvb3R9X19zbGlkZSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA0IC0gMC4zNzVlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0taXRlbXMtaW4tcm93LTYge1xuICAgICAgICAgICAgJjpub3QoI3skcm9vdH0tLXNsaWRlcikge1xuICAgICAgICAgICAgICAgICN7JHJvb3R9X19zbGlkZSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA2IC0gMC44MzMzZW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWl0ZW1zLWluLXJvdy04IHtcbiAgICAgICAgICAgICY6bm90KCN7JHJvb3R9LS1zbGlkZXIpIHtcbiAgICAgICAgICAgICAgICAjeyRyb290fV9fc2xpZGUge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gOCAtIDAuODc1ZW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLW1vYmlsZS1jZmctYmlnLXNtYWxsLXNtYWxsIHtcbiAgICAgICAgICAgICY6bm90KCN7JHJvb3R9LS1zbGlkZXIpIHtcbiAgICAgICAgICAgICAgICAjeyRyb290fV9fc2xpZGU6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyAtIDAuMzMzM2VtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1tb2JpbGUtY2ZnLWJpZy1zbWFsbC1zbWFsbC1iaWcge1xuICAgICAgICAgICAgJjpub3QoI3skcm9vdH0tLXNsaWRlcikge1xuICAgICAgICAgICAgICAgICN7JHJvb3R9X19zbGlkZTpmaXJzdC1jaGlsZCxcbiAgICAgICAgICAgICAgICAjeyRyb290fV9fc2xpZGU6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA0IC0gMC41ZW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLXByb2R1Y3RzLWdyaWQge1xuICBtYXJnaW46IDAgMCAzcmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLXByb2R1Y3RzLWdyaWQge1xuICAgICAgbWFyZ2luOiAwIDAgNHJlbTsgfSB9XG4gIC5jcy1wcm9kdWN0cy1ncmlkLS1za2lwLXNwYWNpbmcge1xuICAgIG1hcmdpbjogMDsgfVxuICAuY3MtcHJvZHVjdHMtZ3JpZCAuY3MtYWRkdG9jYXJ0IC5jcy1xdHktaW5jcmVtZW50IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3V0aWxzL2NvbXBvbmVudC1zcGFjaW5nJztcblxuLiN7JG5zfXByb2R1Y3RzLWdyaWQge1xuICAgIEBpbmNsdWRlIGNvbXBvbmVudC1zcGFjaW5nKCk7XG5cbiAgICAuY3MtYWRkdG9jYXJ0IHtcbiAgICAgICAgLmNzLXF0eS1pbmNyZW1lbnQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogUmVtb3ZlIGJyb3dzZXIncyBtYXJnaW5zLCBwYWRkaW5ncyBhbmQgbGlzdCBzdHlsZSBydWxlc1xuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jcy1wcm9kdWN0cy1saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5jcy1wcm9kdWN0cy1saXN0X19pdGVtIHtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNGMEYwRjA7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgICAgLmNzLXByb2R1Y3RzLWxpc3RfX2l0ZW0gLmNzLWFkZHRvY2FydF9fYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZzogN3B4IDVweDtcbiAgICAgICAgbWluLXdpZHRoOiAxNjVweDsgfVxuICAgICAgICAuY3MtcHJvZHVjdHMtbGlzdF9faXRlbSAuY3MtYWRkdG9jYXJ0X19idXR0b24gLmNzLWFkZHRvY2FydF9fYnV0dG9uLWxhYmVsIHtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAuY3MtcHJvZHVjdHMtbGlzdF9faXRlbSAuY3MtYWRkdG9jYXJ0X19idXR0b24gc3ZnLmNzLWFkZHRvY2FydF9fYnV0dG9uLWljb24ge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBsZWZ0OiAtN3B4O1xuICAgICAgICAgIHRvcDogMTFweDtcbiAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgICBoZWlnaHQ6IDE1cHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDguMDFlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgLmNzLXByb2R1Y3RzLWxpc3RfX2l0ZW0gLmNzLWFkZHRvY2FydF9fYnV0dG9uIC5jcy1hZGR0b2NhcnRfX2J1dHRvbi1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDM5Ljk5ZW0pIHtcbiAgICAgIC5jcy1wcm9kdWN0cy1saXN0X19pdGVtIC5jcy1hZGR0b2NhcnRfX2J1dHRvbiAuY3MtYWRkdG9jYXJ0X19idXR0b24tbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7IH0gfVxuICAgIC5jcy1wcm9kdWN0cy1saXN0X19pdGVtIC5jcy1wcm9kdWN0LXRpbGVfX3N0b2NrIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMzkuOTllbSkge1xuICAgICAgICAuY3MtcHJvZHVjdHMtbGlzdF9faXRlbSAuY3MtcHJvZHVjdC10aWxlX19zdG9jayB7XG4gICAgICAgICAgcGFkZGluZzogMCA5cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIuMHJlbTsgfVxuICAgICAgICAgIC5jcy1wcm9kdWN0cy1saXN0X19pdGVtIC5jcy1wcm9kdWN0LXRpbGVfX3N0b2NrOmJlZm9yZSB7XG4gICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgIGhlaWdodDogMTBweDsgfSB9XG4gICAgLmNzLXByb2R1Y3RzLWxpc3RfX2l0ZW0gLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2VzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAgIC5jcy1wcm9kdWN0cy1saXN0X19pdGVtIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlcyAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS1pdGVtIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgICAgLmNzLXByb2R1Y3RzLWxpc3RfX2l0ZW0gLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2VzIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlIHtcbiAgICAgICAgZm9udC1zaXplOiA5cHg7XG4gICAgICAgIHBhZGRpbmc6IDVweCA2cHggNXB4IDEzcHg7XG4gICAgICAgIG1heC13aWR0aDogODBweDsgfVxuICAuY3MtcHJvZHVjdHMtbGlzdCAuY3MtcHJvZHVjdC10aWxlX19jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAuY3MtcHJvZHVjdHMtbGlzdCAuY3MtcHJvZHVjdC10aWxlX190aHVtYm5haWwge1xuICAgIHdpZHRoOiAxMzVweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLXByb2R1Y3RzLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fdGh1bWJuYWlsIHtcbiAgICAgICAgbWluLXdpZHRoOiA3MXB4O1xuICAgICAgICBwYWRkaW5nOiAxNHB4IDBweDtcbiAgICAgICAgd2lkdGg6IDcxcHg7IH0gfVxuICAgIC5jcy1wcm9kdWN0cy1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX3RodW1ibmFpbCAuY3MtcHJvZHVjdC10aWxlX19maWd1cmUge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgLmNzLXByb2R1Y3RzLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMzVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMjkuOTllbSkge1xuICAgICAgLmNzLXByb2R1Y3RzLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fY29udGVudCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgcG9zaXRpb246IGluaXRpYWw7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtcHJvZHVjdHMtbGlzdCAuY3MtcHJvZHVjdC10aWxlX19jb250ZW50IC5jcy1wcm9kdWN0LXRpbGVfX2RldGFpbHMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgIGZsZXgtc2hyaW5rOiBpbml0aWFsOyB9IH1cbiAgICAuY3MtcHJvZHVjdHMtbGlzdCAuY3MtcHJvZHVjdC10aWxlX19jb250ZW50IC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXg6IDE7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIGFuZCAobWluLXdpZHRoOiAzMC4wMWVtKSB7XG4gIC5jcy1wcm9kdWN0cy1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2NvbnRlbnQgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMzBlbSkge1xuICAgICAgICAuY3MtcHJvZHVjdHMtbGlzdCAuY3MtcHJvZHVjdC10aWxlX19jb250ZW50IC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucyB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAuY3MtcHJvZHVjdHMtbGlzdCAuY3MtcHJvZHVjdC10aWxlX19jb250ZW50IC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucy1zaWRlcyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHBhZGRpbmctbGVmdDogMzVweDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLXByb2R1Y3RzLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fY29udGVudCAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMtc2lkZXMge1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgYm90dG9tOiAxNXB4O1xuICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzMGVtKSB7XG4gICAgICAgIC5jcy1wcm9kdWN0cy1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2NvbnRlbnQgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLXNpZGVzIHtcbiAgICAgICAgICBsZWZ0OiA1M3B4O1xuICAgICAgICAgIGJvdHRvbTogNjBweDsgfSB9XG4gICAgLmNzLXByb2R1Y3RzLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fY29udGVudCAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMtbGVmdCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLXByb2R1Y3RzLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fY29udGVudCAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMtdG9wIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLXByb2R1Y3RzLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fbWFpbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICB3aWR0aDogMjJ2dzsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtcHJvZHVjdHMtbGlzdCAuY3MtcHJvZHVjdC10aWxlX19tYWluIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDM1cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMzBlbSkge1xuICAgICAgLmNzLXByb2R1Y3RzLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fbWFpbiB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4NXB4OyB9IH1cbiAgLmNzLXByb2R1Y3RzLWxpc3QgLmNzLWJ1eWJveF9fcXR5LXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLXByb2R1Y3RzLWxpc3QgLmNzLWJ1eWJveF9fcXR5LXdyYXBwZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfSB9XG4gICAgLmNzLXByb2R1Y3RzLWxpc3QgLmNzLWJ1eWJveF9fcXR5LXdyYXBwZXIgLmNzLWJ1eWJveF9fcXR5LWxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDdweDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNzLXByb2R1Y3RzLWxpc3QgLmNzLWJ1eWJveF9fcXR5LXdyYXBwZXIgLmNzLWJ1eWJveF9fcXR5LWxhYmVsIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMTNweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1wcm9kdWN0cy1saXN0IC5jcy1idXlib3hfX3F0eS13cmFwcGVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAgIC5jcy1wcm9kdWN0cy1saXN0IC5jcy1idXlib3hfX3F0eS13cmFwcGVyIC5jcy1idXlib3hfX3F0eS1pbmNyZW1lbnQge1xuICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgbWluLXdpZHRoOiA5NXB4OyB9IH1cbiAgLmNzLXByb2R1Y3RzLWxpc3QgLmNzLWFkZHRvY2FydCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkgYW5kIChtaW4td2lkdGg6IDQ4LjAxZW0pIHtcbiAgLmNzLXByb2R1Y3RzLWxpc3QgLmNzLWFkZHRvY2FydCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW46IDEzcHggMCAwO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMzAuMDFlbSkge1xuICAuY3MtcHJvZHVjdHMtbGlzdCAuY3MtYWRkdG9jYXJ0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogMThweCAwIDA7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtcHJvZHVjdHMtbGlzdCAuY3MtYWRkdG9jYXJ0IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgICAgIC5jcy1wcm9kdWN0cy1saXN0IC5jcy1hZGR0b2NhcnQuY29uZmlnLWJveCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfSB9XG4gICAgLmNzLXByb2R1Y3RzLWxpc3QgLmNzLWFkZHRvY2FydCAuY3MtcXR5LWluY3JlbWVudCxcbiAgICAuY3MtcHJvZHVjdHMtbGlzdCAuY3MtYWRkdG9jYXJ0IC5jcy1hZGR0b2NhcnRfX3dyYXBwZXIge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLXByb2R1Y3RzLWxpc3QgLmNzLWFkZHRvY2FydCAuY3MtcXR5LWluY3JlbWVudCB7XG4gICAgICB3aWR0aDogMTQwcHg7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1wcm9kdWN0cy1saXN0IC5jcy1hZGR0b2NhcnQgLmNzLXF0eS1pbmNyZW1lbnQge1xuICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAgIC5jcy1wcm9kdWN0cy1saXN0IC5jcy1hZGR0b2NhcnQgLmNzLXF0eS1pbmNyZW1lbnQgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbiB7XG4gICAgICAgIG1pbi13aWR0aDogMzBweDtcbiAgICAgICAgd2lkdGg6IDM0cHg7XG4gICAgICAgIG1heC13aWR0aDogMzRweDsgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgICAgIC5jcy1wcm9kdWN0cy1saXN0IC5jcy1hZGR0b2NhcnQgLmNzLXF0eS1pbmNyZW1lbnQgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjhweDsgfVxuICAgICAgICAgICAgLmNzLXByb2R1Y3RzLWxpc3QgLmNzLWFkZHRvY2FydCAuY3MtcXR5LWluY3JlbWVudCAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uIHN2ZyB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMHB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1wcm9kdWN0cy1saXN0IC5jcy1hZGR0b2NhcnQgLmNzLXF0eS1pbmNyZW1lbnQgLmNzLXF0eS1pbmNyZW1lbnRfX2lucHV0IHtcbiAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDMwcHg7XG4gICAgICAgICAgbWluLXdpZHRoOiAzMHB4O1xuICAgICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTsgfSB9XG4gICAgLmNzLXByb2R1Y3RzLWxpc3QgLmNzLWFkZHRvY2FydCAuY3MtYWRkdG9jYXJ0X193cmFwcGVyIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDUwcHg7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIGFuZCAobWluLXdpZHRoOiA0OC4wMWVtKSB7XG4gIC5jcy1wcm9kdWN0cy1saXN0IC5jcy1hZGR0b2NhcnQgLmNzLWFkZHRvY2FydF9fd3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAzMC4wMWVtKSB7XG4gIC5jcy1wcm9kdWN0cy1saXN0IC5jcy1hZGR0b2NhcnQgLmNzLWFkZHRvY2FydF9fd3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDogMzVweDsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtcHJvZHVjdHMtbGlzdCAuY3MtYWRkdG9jYXJ0IC5jcy1hZGR0b2NhcnRfX3dyYXBwZXIge1xuICAgICAgICAgIG1heC13aWR0aDogMTY1cHg7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH0gfVxuICAuY3MtcHJvZHVjdHMtbGlzdCAuY3MtcHJvZHVjdC10aWxlX19uYW1lIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gICAgLmNzLXByb2R1Y3RzLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fbmFtZSBhIHtcbiAgICAgIHdpZHRoOiAyMnZ3OyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtcHJvZHVjdHMtbGlzdCAuY3MtcHJvZHVjdC10aWxlX19uYW1lIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmNzLXByb2R1Y3RzLWxpc3Q6bm90KC5jcy1wcm9kdWN0cy1saXN0LS1jYXJvdXNlbCkgLmNzLXByb2R1Y3RzLWxpc3RfX2l0ZW0ge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuY3MtcHJvZHVjdHMtbGlzdDpub3QoLmNzLXByb2R1Y3RzLWxpc3QtLWNhcm91c2VsKSAuY3MtcHJvZHVjdHMtbGlzdF9faXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtcHJvZHVjdHMtbGlzdC0tY2Fyb3VzZWwgLmNzLXByb2R1Y3RzLWxpc3RfX2l0ZW0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMGYwZjA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAuY3MtcHJvZHVjdHMtbGlzdC0tY2Fyb3VzZWwgLmNzLXByb2R1Y3RzLWxpc3RfX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7IH0gfVxuXG4ucHJvZHVjdHMtY3Jvc3NzZWxsIHtcbiAgcGFkZGluZy10b3A6IDYwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAucHJvZHVjdHMtY3Jvc3NzZWxsIC5jcy1oZWFkbGluZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgLnByb2R1Y3RzLWNyb3Nzc2VsbCAuY3MtaGVhZGxpbmVfX3RpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjRlbSkge1xuICAgICAgLnByb2R1Y3RzLWNyb3Nzc2VsbCAuY3MtaGVhZGxpbmVfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG4kcHJvZHVjdF9saXN0LWl0ZW0tYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItMjAwO1xuJHByb2R1Y3RfbGlzdC1pdGVtLXBhZGRpbmc6IDA7XG4kcHJvZHVjdF9saXN0LWNhcm91c2VsLWJyZWFrcG9pbnQ6ICc+PXRhYmxldCc7XG5cbi4jeyRuc31wcm9kdWN0cy1saXN0IHtcbiAgICAkcm9vdDogJjtcblxuICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Qtc3R5bGUoKTtcblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLWxpZ2h0O1xuXG4gICAgICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbiB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDdweCA1cHg7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxNjVweDtcblxuICAgICAgICAgICAgICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbi1sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzdmcuY3MtYWRkdG9jYXJ0X19idXR0b24taWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLTdweDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxMXB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnLCAnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICAuY3MtYWRkdG9jYXJ0X19idXR0b24tbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX3N0b2NrIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZUxnJykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgOXB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjByZW07XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlcyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtaXRlbSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDlweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggNnB4IDVweCAxM3B4O1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogODBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX2NvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIH1cblxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX3RodW1ibmFpbCB7XG4gICAgICAgIHdpZHRoOiAxMzVweDtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogNzFweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE0cHggMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDcxcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlX19maWd1cmUge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY3MtcHJvZHVjdC10aWxlX19jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lJykge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fZGV0YWlscyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiBpbml0aWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZmxleDogMTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnLCAnPnBob25lJykge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZScpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMtc2lkZXMge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMTVweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmUnKSB7XG4gICAgICAgICAgICAgICAgbGVmdDogNTNweDtcbiAgICAgICAgICAgICAgICBib3R0b206IDYwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLWxlZnQge1xuICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLXRvcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fbWFpbiB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICB3aWR0aDogMjJ2dztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzVweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lJykge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDg1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY3MtYnV5Ym94X19xdHktd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtYnV5Ym94X19xdHktbGFiZWwge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogN3B4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgICAgIC5jcy1idXlib3hfX3F0eS1pbmNyZW1lbnQge1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiA5NXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNzLWFkZHRvY2FydCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJywgJz50YWJsZXQnKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgbWFyZ2luOiAxM3B4IDAgMDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcsICc+cGhvbmUnKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgbWFyZ2luOiAxOHB4IDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICYuY29uZmlnLWJveCB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1xdHktaW5jcmVtZW50LFxuICAgICAgICAuY3MtYWRkdG9jYXJ0X193cmFwcGVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1xdHktaW5jcmVtZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiAxNDBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDM0cHg7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzNHB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI4cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY3MtcXR5LWluY3JlbWVudF9faW5wdXQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1hZGR0b2NhcnRfX3dyYXBwZXIge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjIwcHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNTBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnLCAnPnRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcsICc+cGhvbmUnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTY1cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX25hbWUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMnZ3O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCgjeyRyb290fS0tY2Fyb3VzZWwpIHtcbiAgICAgICAgI3skcm9vdH1fX2l0ZW0ge1xuICAgICAgICAgICAgcGFkZGluZzogJHByb2R1Y3RfbGlzdC1pdGVtLXBhZGRpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWNhcm91c2VsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHByb2R1Y3RfbGlzdC1jYXJvdXNlbC1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAjeyRyb290fV9faXRlbSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJHByb2R1Y3RfbGlzdC1pdGVtLWJvcmRlci1ib3R0b207XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJHByb2R1Y3RfbGlzdC1pdGVtLXBhZGRpbmc7XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnByb2R1Y3RzLWNyb3Nzc2VsbCB7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgLmNzLWhlYWRsaW5lIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9bGFwdG9wJykge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY3MtaGVhZGxpbmVfX3RpdGxlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLWRhaWx5ZGVhbCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWRhaWx5ZGVhbF9faGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDAuNXJlbTtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgLmNzLWRhaWx5ZGVhbF9fdGl0bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmNzLWRhaWx5ZGVhbF9faXRlbXMtYW1vdW50IHtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93biB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDA7XG4gICAganVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi1lbGVtZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwLjNyZW0gMC41cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcHg7IH1cbiAgICAuY3MtZGFpbHlkZWFsX19jb3VudGRvd24tZWxlbWVudDpiZWZvcmUge1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGJhY2tncm91bmQ6ICNmMGYwZjA7XG4gICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgICAgdHJhbnNmb3JtOiBza2V3KC0xMmRlZyk7IH1cbiAgICAuY3MtZGFpbHlkZWFsX19jb3VudGRvd24tZWxlbWVudDpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQ6ICNmMGYwZjA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDZweDsgfVxuICAgICAgLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLWVsZW1lbnQ6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7IH1cbiAgICAuY3MtZGFpbHlkZWFsX19jb3VudGRvd24tZWxlbWVudDpsYXN0LWNoaWxkOm5vdCg6b25seS1jaGlsZCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgYmFja2dyb3VuZDogI2YwZjBmMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7IH1cbiAgICAgIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi1lbGVtZW50Omxhc3QtY2hpbGQ6bm90KDpvbmx5LWNoaWxkKTpiZWZvcmUge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0OyB9XG4gICAgLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLWVsZW1lbnQtLXNwZWNpYWwge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGJhY2tncm91bmQ6ICNlNDFmMTI7XG4gICAgICB6LWluZGV4OiA1OyB9XG4gICAgICAuY3MtZGFpbHlkZWFsX19jb3VudGRvd24tZWxlbWVudC0tc3BlY2lhbDpmaXJzdC1jaGlsZCwgLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLWVsZW1lbnQtLXNwZWNpYWw6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2U0MWYxMjsgfVxuICAgIC5jcy1kYWlseWRlYWwtLXRpbGUgLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLWVsZW1lbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMXB4OyB9XG4gICAgICAuY3MtZGFpbHlkZWFsLS10aWxlIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi1lbGVtZW50OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgICAgIC5jcy1kYWlseWRlYWwtLXRpbGUgLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLWVsZW1lbnQ6bGFzdC1jaGlsZDpub3QoOm9ubHktY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuICAgIC5jcy1kYWlseWRlYWwtLXRlYXNlciAuY3MtZGFpbHlkZWFsX19jb3VudGRvd24tZWxlbWVudCB7XG4gICAgICBtaW4taGVpZ2h0OiA0cmVtOyB9XG4gIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi1pY29uIHtcbiAgICB3aWR0aDogMS45cmVtO1xuICAgIGhlaWdodDogMi40cmVtO1xuICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLXZhbHVlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjZTQxZjEyO1xuICAgIHBhZGRpbmc6IDJweCAwIDA7IH1cbiAgLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogIzZFNkU2RTtcbiAgICBwYWRkaW5nOiAycHggMCAwOyB9XG4gIC5jcy1kYWlseWRlYWwtLXRpbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAzOyB9XG4gICAgLmNzLWRhaWx5ZGVhbC0tdGlsZSAuY3MtZGFpbHlkZWFsX19hdmFpbGFiaWxpdHkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYmFja2dyb3VuZDogIzZFNkU2RTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgcGFkZGluZzogMnB4IDRweDtcbiAgICAgIHotaW5kZXg6IDQ7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG4gICAgICAuY3MtZGFpbHlkZWFsLS10aWxlIC5jcy1kYWlseWRlYWxfX2F2YWlsYWJpbGl0eTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIGJhY2tncm91bmQ6ICM2RTZFNkU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gICAgICAgIHRyYW5zZm9ybTogc2tldygtMTJkZWcpOyB9XG4gICAgICAuY3MtZGFpbHlkZWFsLS10aWxlIC5jcy1kYWlseWRlYWxfX2F2YWlsYWJpbGl0eTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNkU2RTZFOyB9XG4gICAgICAgIC5jcy1kYWlseWRlYWwtLXRpbGUgLmNzLWRhaWx5ZGVhbF9fYXZhaWxhYmlsaXR5OmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7IH1cbiAgICAgIC5jcy1kYWlseWRlYWwtLXRpbGUgLmNzLWRhaWx5ZGVhbF9fYXZhaWxhYmlsaXR5Omxhc3QtY2hpbGQ6bm90KDpvbmx5LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogIzZFNkU2RTsgfVxuICAgICAgICAuY3MtZGFpbHlkZWFsLS10aWxlIC5jcy1kYWlseWRlYWxfX2F2YWlsYWJpbGl0eTpsYXN0LWNoaWxkOm5vdCg6b25seS1jaGlsZCk6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMzBlbSkgYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC5jcy1kYWlseWRlYWwtLXRpbGUgLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLWVsZW1lbnQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5jcy1kYWlseWRlYWwtLXRpbGUgLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLWVsZW1lbnQ6bGFzdC1jaGlsZDpub3QoOm9ubHktY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmNzLWRhaWx5ZGVhbC0tdGlsZSAuY3MtZGFpbHlkZWFsX19jb3VudGRvd24tZWxlbWVudDpsYXN0LWNoaWxkIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi12YWx1ZTphZnRlciB7XG4gICAgICBjb250ZW50OiBub25lOyB9XG4gICAgLmNzLWRhaWx5ZGVhbC0tdGlsZSAuY3MtZGFpbHlkZWFsX19jb3VudGRvd24tZWxlbWVudC0tc3BlY2lhbCB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5jcy1kYWlseWRlYWwtLXRpbGUgLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLWVsZW1lbnQ6bm90KC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi1lbGVtZW50LS1zcGVjaWFsKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAuY3MtZGFpbHlkZWFsLS10aWxlIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi1lbGVtZW50Om5vdCguY3MtZGFpbHlkZWFsX19jb3VudGRvd24tZWxlbWVudC0tc3BlY2lhbCk6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgICAuY3MtZGFpbHlkZWFsLS10aWxlIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi1lbGVtZW50Om5vdCguY3MtZGFpbHlkZWFsX19jb3VudGRvd24tZWxlbWVudC0tc3BlY2lhbCk6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjhyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXJlbSAhaW1wb3J0YW50OyB9XG4gICAgICAuY3MtZGFpbHlkZWFsLS10aWxlIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi1lbGVtZW50Om5vdCguY3MtZGFpbHlkZWFsX19jb3VudGRvd24tZWxlbWVudC0tc3BlY2lhbCk6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOHJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAzcHggM3B4IDA7IH1cbiAgLmNzLWRhaWx5ZGVhbC0tdGlsZSAuY3MtZGFpbHlkZWFsX19jb3VudGRvd24tdmFsdWUge1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtOyB9XG4gICAgLmNzLWRhaWx5ZGVhbC0tdGlsZSAuY3MtZGFpbHlkZWFsX19jb3VudGRvd24tdmFsdWU6YWZ0ZXIge1xuICAgICAgY29udGVudDogJzonOyB9XG4gIC5jcy1kYWlseWRlYWwtLXRpbGUgLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmNzLWRhaWx5ZGVhbF9fYmFkZ2UtcGRwLWljb24ge1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgei1pbmRleDogMTA7XG4gICAgZmlsbDogI2ZmZmZmZjsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb25maWcvYnJlYWtwb2ludHMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3V0aWxzL3JpZ2h0LXNpZGUtc2tldy5zY3NzJztcblxuJGRhaWx5ZGVhbC0tdGlsZS1wb3NpdGlvbjogYWJzb2x1dGUgIWRlZmF1bHQ7XG4kZGFpbHlkZWFsLS10aWxlLWJvdHRvbTogMCAhZGVmYXVsdDtcbiRkYWlseWRlYWwtLXRpbGUtbGVmdDogMCAhZGVmYXVsdDtcblxuJGRhaWx5ZGVhbF9oZWFkZXItZGlzcGxheTogZmxleCAhZGVmYXVsdDtcbiRkYWlseWRlYWxfaGVhZGVyLWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhZGVmYXVsdDtcbiRkYWlseWRlYWxfaGVhZGVyLWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9oZWFkZXItZm9udC1zaXplOiAxLjJyZW0gIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2hlYWRlci1tYXJnaW46IDAgMCAwLjVyZW0gIWRlZmF1bHQ7XG5cbiRkYWlseWRlYWxfdGl0bGUtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRkYWlseWRlYWxfdGl0bGUtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcblxuJGRhaWx5ZGVhbC0tdGlsZS1hdmFpbGFiaWxpdHktYXBwbHktc2tld3MtbWl4aW46IHRydWUgIWRlZmF1bHQ7IC8vIHNldCBmYWxzZSB0byByZW1vdmUgYWxsIGZyZWFreSBjcmVhdGl2ZXNob3AncyBzdHlsaW5nXG4kZGFpbHlkZWFsLS10aWxlLWF2YWlsYWJpbGl0eS1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG4kZGFpbHlkZWFsLS10aWxlLWF2YWlsYWJpbGl0eS1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJGRhaWx5ZGVhbC0tdGlsZS1hdmFpbGFiaWxpdHktYmFja2dyb3VuZDogJGNvbG9yX2dyYXkgIWRlZmF1bHQ7XG4kZGFpbHlkZWFsLS10aWxlLWF2YWlsYWJpbGl0eS1wYWRkaW5nOiAycHggNHB4ICFkZWZhdWx0O1xuJGRhaWx5ZGVhbC0tdGlsZS1hdmFpbGFiaWxpdHktZm9udC13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiRkYWlseWRlYWwtLXRpbGUtYXZhaWxhYmlsaXR5LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2UgIWRlZmF1bHQ7XG5cbiRkYWlseWRlYWxfaXRlbXMtYW1vdW50LWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XG5cbiRkYWlseWRlYWxfY291bnRkb3duLWRpc3BsYXk6IGZsZXggIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi1qdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2ggIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi1hbGlnbi1pdGVtczogc3RyZXRjaCAhZGVmYXVsdDtcbiRkYWlseWRlYWxfY291bnRkb3duLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuJGRhaWx5ZGVhbF9jb3VudGRvd24tZWxlbWVudC1hcHBseS1za2V3cy1taXhpbjogdHJ1ZSAhZGVmYXVsdDsgLy8gc2V0IGZhbHNlIHRvIHJlbW92ZSBhbGwgZnJlYWt5IGNyZWF0aXZlc2hvcCdzIHN0eWxpbmdcbiRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtbWFyZ2luLWZhY3RvcjogM3B4ICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9jb3VudGRvd24tZWxlbWVudC0tdGlsZS1tYXJnaW4tZmFjdG9yOiAxcHggIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LWRpc3BsYXk6IGZsZXggIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LXdpZHRoOiAxMDAlICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9jb3VudGRvd24tZWxlbWVudC1wYWRkaW5nOiAwLjNyZW0gMC41cmVtICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9jb3VudGRvd24tZWxlbWVudC1saW5lLWhlaWdodDogMSAhZGVmYXVsdDtcbiRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtYmFja2dyb3VuZDogbm9uZSAhZGVmYXVsdDtcbiRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtYmFja2dyb3VuZC0tc2tldy1taXhpbjogJGNvbG9yX2dhbGxlcnkgIWRlZmF1bHQ7IC8vIGFwcGx5IG9ubHkgZm9yIHNrZXcgbWl4aW5cbiRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZSAhZGVmYXVsdDtcbiRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtLXNwZWNpYWwtd2lkdGg6IDUwJSAhZGVmYXVsdDtcbiRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtLXNwZWNpYWwtYmFja2dyb3VuZDogJGNvbG9yX2NyaW1zb24gIWRlZmF1bHQ7XG5cbiRkYWlseWRlYWxfY291bnRkb3duLWljb24td2lkdGg6IDEuOXJlbSAhZGVmYXVsdDtcbiRkYWlseWRlYWxfY291bnRkb3duLWljb24taGVpZ2h0OiAyLjRyZW0gIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi1pY29uLWZpbGw6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcblxuJGRhaWx5ZGVhbF9jb3VudGRvd24tdmFsdWUtZGlzcGxheTogYmxvY2sgIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi12YWx1ZS1mb250LXNpemU6IDEuNXJlbSAhZGVmYXVsdDtcbiRkYWlseWRlYWxfY291bnRkb3duLXZhbHVlLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi12YWx1ZS1jb2xvcjogJGNvbG9yX2NyaW1zb24gIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi12YWx1ZS1wYWRkaW5nOiAycHggMCAwICFkZWZhdWx0O1xuXG4kZGFpbHlkZWFsX2NvdW50ZG93bi1sYWJlbC1kaXNwbGF5OiBibG9jayAhZGVmYXVsdDtcbiRkYWlseWRlYWxfY291bnRkb3duLWxhYmVsLWZvbnQtc2l6ZTogMS4xcmVtICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9jb3VudGRvd24tbGFiZWwtZm9udC13ZWlnaHQ6IGluaGVyaXQgIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi1sYWJlbC1jb2xvcjogJGNvbG9yX2dyYXkgIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi1sYWJlbC1wYWRkaW5nOiAkZGFpbHlkZWFsX2NvdW50ZG93bi12YWx1ZS1wYWRkaW5nICFkZWZhdWx0O1xuXG4kZGFpbHlkZWFsX2NvdW50ZG93bi1sYWJlbC1kaXNwbGF5OiBibG9jayAhZGVmYXVsdDtcblxuJGRhaWx5LWRlYWwtdGVhc2VyX3Byb2R1Y3QtZGQtY291bnRlci1taW4taGVpZ2h0OiA0cmVtICFkZWZhdWx0O1xuXG4kZGFpbHlkZWFsX3BkcC1iYWRnZS1pY29uLXdpZHRoOiAxLjVyZW0gIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX3BkcC1iYWRnZS1pY29uLWhlaWdodDogMS41cmVtICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9wZHAtYmFkZ2UtaWNvbi1maWxsLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG5cbi8vIEJlY2F1c2UgdGhlcmUgaXNuJ3QgZW5vdWdoIHNwYWNlIGZvciBkaXNwbGF5IGZ1bGwgY291bnRlciBvbiBtb2JpbGUgKGRlcGVuZHMgb24gZGVzaW5nKSwgd2UgY2FuIGRpc3BsYXkgY291bnRlciBpbiBsaWdodGVyIHZlcnNpb24gKG9ubHkgb24gdGlsZSlcbi8vIFNldCBgZmFsc2VgIHRvIGlnbm9yZSBsaWdodGVyIHZlcnNpb25cbiRkYWlseWRlYWxfZnVsbC1jb3VudGVyLWxpZ2h0ZXItdmVyc2lvbi1icmVha3BvaW50OiAnPj1waG9uZScsICc8NjAwcHgnICFkZWZhdWx0O1xuXG4uI3skbnN9ZGFpbHlkZWFsIHtcbiAgICAkcm9vdDogJjtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogJGRhaWx5ZGVhbF9oZWFkZXItZGlzcGxheTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogJGRhaWx5ZGVhbF9oZWFkZXItbWFyZ2luO1xuICAgICAgICBmb250LXNpemU6ICRkYWlseWRlYWxfaGVhZGVyLWZvbnQtc2l6ZTtcblxuICAgICAgICBAaWYgJGRhaWx5ZGVhbF9oZWFkZXItZGlzcGxheSA9PVxuICAgICAgICAgICAgZmxleCBvclxuICAgICAgICAgICAgJGRhaWx5ZGVhbF9oZWFkZXItZGlzcGxheSA9PVxuICAgICAgICAgICAgaW5saW5lLWZsZXhcbiAgICAgICAge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkZGFpbHlkZWFsX2hlYWRlci1qdXN0aWZ5LWNvbnRlbnQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogJGRhaWx5ZGVhbF9oZWFkZXItYWxpZ24taXRlbXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRkYWlseWRlYWxfdGl0bGUtdGV4dC10cmFuc2Zvcm07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZGFpbHlkZWFsX3RpdGxlLWZvbnQtd2VpZ2h0O1xuICAgIH1cblxuICAgICZfX2l0ZW1zLWFtb3VudCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZGFpbHlkZWFsX2l0ZW1zLWFtb3VudC1mb250LXdlaWdodDtcbiAgICB9XG5cbiAgICAmX19jb3VudGRvd24ge1xuICAgICAgICBkaXNwbGF5OiAkZGFpbHlkZWFsX2NvdW50ZG93bi1kaXNwbGF5O1xuICAgICAgICBtYXJnaW46ICRkYWlseWRlYWxfY291bnRkb3duLW1hcmdpbjtcblxuICAgICAgICBAaWYgJGRhaWx5ZGVhbF9jb3VudGRvd24tZGlzcGxheSA9PVxuICAgICAgICAgICAgZmxleCBvclxuICAgICAgICAgICAgJGRhaWx5ZGVhbF9jb3VudGRvd24tZGlzcGxheSA9PVxuICAgICAgICAgICAgaW5saW5lLWZsZXhcbiAgICAgICAge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkZGFpbHlkZWFsX2NvdW50ZG93bi1qdXN0aWZ5LWNvbnRlbnQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogJGRhaWx5ZGVhbF9jb3VudGRvd24tYWxpZ24taXRlbXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb3VudGRvd24tZWxlbWVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgd2lkdGg6ICRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtd2lkdGg7XG4gICAgICAgIHBhZGRpbmc6ICRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtcGFkZGluZztcbiAgICAgICAgZGlzcGxheTogJGRhaWx5ZGVhbF9jb3VudGRvd24tZWxlbWVudC1kaXNwbGF5O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogJGRhaWx5ZGVhbF9jb3VudGRvd24tZWxlbWVudC1mbGV4LWRpcmVjdGlvbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LWxpbmUtaGVpZ2h0O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LWJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtYm9yZGVyLXJhZGl1cztcblxuICAgICAgICBAaWYgJGRhaWx5ZGVhbF9jb3VudGRvd24tZWxlbWVudC1hcHBseS1za2V3cy1taXhpbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSByaWdodC1zaWRlLXNrZXcoXG4gICAgICAgICAgICAgICAgJHJpZ2h0LXNpZGUtc2tldy1iYWNrZ3JvdW5kOlxuICAgICAgICAgICAgICAgICAgICAkZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LWJhY2tncm91bmQtLXNrZXctbWl4aW4sXG4gICAgICAgICAgICAgICAgJHJpZ2h0LXNpZGUtc2tldy1ndXR0ZXI6XG4gICAgICAgICAgICAgICAgICAgICRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtbWFyZ2luLWZhY3RvclxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXNwZWNpYWwge1xuICAgICAgICAgICAgd2lkdGg6ICRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtLXNwZWNpYWwtd2lkdGg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LS1zcGVjaWFsLWJhY2tncm91bmQ7XG4gICAgICAgICAgICB6LWluZGV4OiA1O1xuXG4gICAgICAgICAgICBAaWYgJGRhaWx5ZGVhbF9jb3VudGRvd24tZWxlbWVudC1hcHBseS1za2V3cy1taXhpbiB7XG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICYsXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtLXNwZWNpYWwtYmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS10aWxlICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgcmlnaHQtc2lkZS1za2V3LW92ZXJyaWRlKFxuICAgICAgICAgICAgICAgICRyaWdodC1zaWRlLXNrZXctZ3V0dGVyOlxuICAgICAgICAgICAgICAgICAgICAkZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LS10aWxlLW1hcmdpbi1mYWN0b3IsXG4gICAgICAgICAgICAgICAgJHJpZ2h0LXNpZGUtc2tldy1ndXR0ZXItbXVsdGlwbGllcjogNVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS10ZWFzZXIgJiB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAkZGFpbHktZGVhbC10ZWFzZXJfcHJvZHVjdC1kZC1jb3VudGVyLW1pbi1oZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb3VudGRvd24taWNvbiB7XG4gICAgICAgIHdpZHRoOiAkZGFpbHlkZWFsX2NvdW50ZG93bi1pY29uLXdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRkYWlseWRlYWxfY291bnRkb3duLWljb24taGVpZ2h0O1xuICAgICAgICBmaWxsOiAkZGFpbHlkZWFsX2NvdW50ZG93bi1pY29uLWZpbGw7XG4gICAgfVxuXG4gICAgJl9fY291bnRkb3duLXZhbHVlIHtcbiAgICAgICAgZGlzcGxheTogJGRhaWx5ZGVhbF9jb3VudGRvd24tdmFsdWUtZGlzcGxheTtcbiAgICAgICAgZm9udC1zaXplOiAkZGFpbHlkZWFsX2NvdW50ZG93bi12YWx1ZS1mb250LXNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZGFpbHlkZWFsX2NvdW50ZG93bi12YWx1ZS1mb250LXdlaWdodDtcbiAgICAgICAgY29sb3I6ICRkYWlseWRlYWxfY291bnRkb3duLXZhbHVlLWNvbG9yO1xuICAgICAgICBwYWRkaW5nOiAkZGFpbHlkZWFsX2NvdW50ZG93bi12YWx1ZS1wYWRkaW5nO1xuICAgIH1cblxuICAgICZfX2NvdW50ZG93bi1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6ICRkYWlseWRlYWxfY291bnRkb3duLWxhYmVsLWRpc3BsYXk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRhaWx5ZGVhbF9jb3VudGRvd24tbGFiZWwtZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJGRhaWx5ZGVhbF9jb3VudGRvd24tbGFiZWwtZm9udC13ZWlnaHQ7XG4gICAgICAgIGNvbG9yOiAkZGFpbHlkZWFsX2NvdW50ZG93bi1sYWJlbC1jb2xvcjtcbiAgICAgICAgcGFkZGluZzogJGRhaWx5ZGVhbF9jb3VudGRvd24tbGFiZWwtcGFkZGluZztcbiAgICB9XG5cbiAgICAmLS10aWxlIHtcbiAgICAgICAgcG9zaXRpb246ICRkYWlseWRlYWwtLXRpbGUtcG9zaXRpb247XG4gICAgICAgIGxlZnQ6ICRkYWlseWRlYWwtLXRpbGUtbGVmdDtcbiAgICAgICAgYm90dG9tOiAkZGFpbHlkZWFsLS10aWxlLWJvdHRvbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDM7XG5cbiAgICAgICAgI3skcm9vdH1fX2F2YWlsYWJpbGl0eSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZGFpbHlkZWFsLS10aWxlLWF2YWlsYWJpbGl0eS1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZGFpbHlkZWFsLS10aWxlLWF2YWlsYWJpbGl0eS1mb250LXNpemU7XG4gICAgICAgICAgICBjb2xvcjogJGRhaWx5ZGVhbC0tdGlsZS1hdmFpbGFiaWxpdHktY29sb3I7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZGFpbHlkZWFsLS10aWxlLWF2YWlsYWJpbGl0eS1wYWRkaW5nO1xuICAgICAgICAgICAgei1pbmRleDogNDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZGFpbHlkZWFsLS10aWxlLWF2YWlsYWJpbGl0eS1mb250LXdlaWdodDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRkYWlseWRlYWwtLXRpbGUtYXZhaWxhYmlsaXR5LWJvcmRlci1yYWRpdXM7XG5cbiAgICAgICAgICAgIEBpZiAkZGFpbHlkZWFsLS10aWxlLWF2YWlsYWJpbGl0eS1hcHBseS1za2V3cy1taXhpbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmlnaHQtc2lkZS1za2V3KFxuICAgICAgICAgICAgICAgICAgICAkcmlnaHQtc2lkZS1za2V3LWJhY2tncm91bmQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAkZGFpbHlkZWFsLS10aWxlLWF2YWlsYWJpbGl0eS1iYWNrZ3JvdW5kXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGRhaWx5ZGVhbF9mdWxsLWNvdW50ZXItbGlnaHRlci12ZXJzaW9uLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFxuICAgICAgICAgICAgICAgICRkYWlseWRlYWxfZnVsbC1jb3VudGVyLWxpZ2h0ZXItdmVyc2lvbi1icmVha3BvaW50Li4uXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAjeyRyb290fV9fY291bnRkb3duLWVsZW1lbnQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOm5vdCg6b25seS1jaGlsZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAjeyRyb290fV9fY291bnRkb3duLXZhbHVlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLS1zcGVjaWFsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpub3QoLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLWVsZW1lbnQtLXNwZWNpYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuOHJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTFyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjhyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LWJvcmRlci1yYWRpdXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRhaWx5ZGVhbF9jb3VudGRvd24tZWxlbWVudC1ib3JkZXItcmFkaXVzIDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAjeyRyb290fV9fY291bnRkb3duLXZhbHVlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnOic7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAjeyRyb290fV9fY291bnRkb3duLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQRFBcbiAgICAmX19iYWRnZS1wZHAtaWNvbiB7XG4gICAgICAgIHdpZHRoOiAkZGFpbHlkZWFsX3BkcC1iYWRnZS1pY29uLXdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRkYWlseWRlYWxfcGRwLWJhZGdlLWljb24taGVpZ2h0O1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgZmlsbDogJGRhaWx5ZGVhbF9wZHAtYmFkZ2UtaWNvbi1maWxsLWNvbG9yO1xuICAgIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuXG4kcmlnaHQtc2lkZS1za2V3LXRyYW5zZm9ybTogJHRyYW5zZm9ybV9za2V3LTIwMCAhZGVmYXVsdDtcbiRyaWdodC1zaWRlLXNrZXctdHJhbnNmb3JtLXJldmVydDogJHRyYW5zZm9ybV9za2V3LTIwMC1yZXZlcnQgIWRlZmF1bHQ7XG5cbkBtaXhpbiByaWdodC1zaWRlLXNrZXcoXG4gICAgJHJpZ2h0LXNpZGUtc2tldy1iYWNrZ3JvdW5kOiAkY29sb3JfZ2FsbGVyeSxcbiAgICAkcmlnaHQtc2lkZS1za2V3LWd1dHRlcjogMCxcbiAgICAkcmlnaHQtc2lkZS1za2V3LWd1dHRlci1tdWx0aXBsaWVyOiAyXG4pIHtcbiAgICBAaWYgJHJpZ2h0LXNpZGUtc2tldy1ndXR0ZXIgIT0gMCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkcmlnaHQtc2lkZS1za2V3LWd1dHRlcjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkcmlnaHQtc2lkZS1za2V3LWd1dHRlcjtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgYmFja2dyb3VuZDogJHJpZ2h0LXNpZGUtc2tldy1iYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgICAgICB0cmFuc2Zvcm06ICRyaWdodC1zaWRlLXNrZXctdHJhbnNmb3JtO1xuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogJHJpZ2h0LXNpZGUtc2tldy1iYWNrZ3JvdW5kO1xuXG4gICAgICAgIEBpZiAkcmlnaHQtc2lkZS1za2V3LWd1dHRlciAhPSAwIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHJpZ2h0LXNpZGUtc2tldy1ndXR0ZXItbXVsdGlwbGllciAqXG4gICAgICAgICAgICAgICAgJHJpZ2h0LXNpZGUtc2tldy1ndXR0ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZDpub3QoOm9ubHktY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcmlnaHQtc2lkZS1za2V3LWJhY2tncm91bmQ7XG5cbiAgICAgICAgQGlmICRyaWdodC1zaWRlLXNrZXctZ3V0dGVyICE9IDAge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRyaWdodC1zaWRlLXNrZXctZ3V0dGVyLW11bHRpcGxpZXIgKlxuICAgICAgICAgICAgICAgICRyaWdodC1zaWRlLXNrZXctZ3V0dGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gcmlnaHQtc2lkZS1za2V3LW92ZXJyaWRlKFxuICAgICRyaWdodC1zaWRlLXNrZXctYmFja2dyb3VuZDogc2FtZSxcbiAgICAkcmlnaHQtc2lkZS1za2V3LWd1dHRlcjogc2FtZSxcbiAgICAkcmlnaHQtc2lkZS1za2V3LWd1dHRlci1tdWx0aXBsaWVyOiAyXG4pIHtcbiAgICBAaWYgJHJpZ2h0LXNpZGUtc2tldy1ndXR0ZXIgIT0gc2FtZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkcmlnaHQtc2lkZS1za2V3LWd1dHRlcjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkcmlnaHQtc2lkZS1za2V3LWd1dHRlcjtcbiAgICB9XG5cbiAgICBAaWYgJHJpZ2h0LXNpZGUtc2tldy1iYWNrZ3JvdW5kICE9IHNhbWUge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcmlnaHQtc2lkZS1za2V3LWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgQGlmICRyaWdodC1zaWRlLXNrZXctYmFja2dyb3VuZCAhPSBzYW1lIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRyaWdodC1zaWRlLXNrZXctYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIG1hcmdpbi1yaWdodDogJHJpZ2h0LXNpZGUtc2tldy1ndXR0ZXItbXVsdGlwbGllciAqXG4gICAgICAgICAgICAkcmlnaHQtc2lkZS1za2V3LWd1dHRlcjtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQ6bm90KDpvbmx5LWNoaWxkKSB7XG4gICAgICAgIEBpZiAkcmlnaHQtc2lkZS1za2V3LWJhY2tncm91bmQgIT0gc2FtZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcmlnaHQtc2lkZS1za2V3LWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICBtYXJnaW4tbGVmdDogJHJpZ2h0LXNpZGUtc2tldy1ndXR0ZXItbXVsdGlwbGllciAqXG4gICAgICAgICAgICAkcmlnaHQtc2lkZS1za2V3LWd1dHRlcjtcbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLnVpLWRhdGVwaWNrZXIge1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiA5OTk5OTkgIWltcG9ydGFudDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiBhdXRvO1xuICBtaW4td2lkdGg6IDI1cmVtO1xuICBib3gtc2hhZG93OiAxcHggM3B4IDNyZW0gMCByZ2JhKDMzLCAzMywgMzMsIDAuMjgpO1xuICBiYWNrZ3JvdW5kOiAjZjBmMGYwOyB9XG5cbi51aS1kYXRlcGlja2VyLWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogI2U1ZTVlNTtcbiAgcGFkZGluZzogMS4ycmVtIDJyZW07XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDsgfVxuXG4udWktZGF0ZXBpY2tlci1wcmV2LFxuLnVpLWRhdGVwaWNrZXItbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAycmVtO1xuICB3aWR0aDogMS44ZW07XG4gIGhlaWdodDogMS44ZW07XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAudWktZGF0ZXBpY2tlci1wcmV2IHNwYW4sXG4gIC51aS1kYXRlcGlja2VyLW5leHQgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDAuMnJlbTtcbiAgICBmb250LXNpemU6IDBweDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7IH1cblxuLnVpLWRhdGVwaWNrZXItcHJldiB7XG4gIGxlZnQ6IDEuNXJlbTsgfVxuICAudWktZGF0ZXBpY2tlci1wcmV2IHNwYW4ge1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAudWktZGF0ZXBpY2tlci1wcmV2IHNwYW46YmVmb3JlLCAudWktZGF0ZXBpY2tlci1wcmV2IHNwYW46YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDJyZW07XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDsgfVxuICAgIC51aS1kYXRlcGlja2VyLXByZXYgc3BhbjpiZWZvcmUge1xuICAgICAgbGVmdDogLTEuMnJlbTtcbiAgICAgIGJvcmRlci10b3A6IDAuOHJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b206IDAuOHJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodDogMC44cmVtIHNvbGlkICNGRjQ2MDQ7XG4gICAgICBtYXJnaW4tdG9wOiAtMC44cmVtOyB9XG4gICAgLnVpLWRhdGVwaWNrZXItcHJldiBzcGFuOmFmdGVyIHtcbiAgICAgIGxlZnQ6IC0xcmVtO1xuICAgICAgYm9yZGVyLXRvcDogMC42cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMC42cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwLjZyZW0gc29saWQgI2U1ZTVlNTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjZyZW07IH1cblxuLnVpLWRhdGVwaWNrZXItbmV4dCB7XG4gIHJpZ2h0OiAxLjVyZW07IH1cbiAgLnVpLWRhdGVwaWNrZXItbmV4dCBzcGFuIHtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnVpLWRhdGVwaWNrZXItbmV4dCBzcGFuOmJlZm9yZSwgLnVpLWRhdGVwaWNrZXItbmV4dCBzcGFuOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwOyB9XG4gICAgLnVpLWRhdGVwaWNrZXItbmV4dCBzcGFuOmJlZm9yZSB7XG4gICAgICByaWdodDogLTEuMnJlbTtcbiAgICAgIGJvcmRlci10b3A6IDAuOHJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b206IDAuOHJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwLjhyZW0gc29saWQgI0ZGNDYwNDtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjhyZW07IH1cbiAgICAudWktZGF0ZXBpY2tlci1uZXh0IHNwYW46YWZ0ZXIge1xuICAgICAgcmlnaHQ6IC0xcmVtO1xuICAgICAgYm9yZGVyLXRvcDogMC42cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMC42cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWxlZnQ6IDAuNnJlbSBzb2xpZCAjZTVlNWU1O1xuICAgICAgbWFyZ2luLXRvcDogLTAuNnJlbTsgfVxuXG4udWktZGF0ZXBpY2tlci10aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAwIDEuNXJlbTsgfVxuXG4udWktZGF0ZXBpY2tlci10aXRsZSBzZWxlY3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS40cmVtOyB9XG5cbnNlbGVjdC51aS1kYXRlcGlja2VyLW1vbnRoLXllYXIge1xuICB3aWR0aDogMTAwJTsgfVxuXG4udWktZGF0ZXBpY2tlci1tb250aCB7XG4gIHdpZHRoOiA0NyU7XG4gIG1hcmdpbi1yaWdodDogNiU7IH1cblxuLnVpLWRhdGVwaWNrZXIteWVhciB7XG4gIHdpZHRoOiA0NyU7IH1cblxuLnVpLWRhdGVwaWNrZXItdGFibGUge1xuICBib3JkZXI6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgfVxuXG4udWktZGF0ZXBpY2tlci1jYWxlbmRhciB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIG1hcmdpbjogMXJlbSAxLjVyZW0gMS41cmVtO1xuICBib3JkZXItd2lkdGg6IDA7XG4gIHdpZHRoOiAyM3JlbTsgfVxuICAudWktZGF0ZXBpY2tlci1jYWxlbmRhciB0ZCxcbiAgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGgge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGhlaWdodDogM3JlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAudWktZGF0ZXBpY2tlci1jYWxlbmRhciB0aCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzIxMjEyMTsgfVxuICAudWktZGF0ZXBpY2tlci1jYWxlbmRhciAudWktZGF0ZXBpY2tlci13ZWVrLWNvbCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRkIGEsXG4gIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRoIHNwYW4sXG4gIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRkIHNwYW4ge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGhlaWdodDogM3JlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGQgYSxcbiAgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGQgc3BhbiB7XG4gICAgY29sb3I6ICM2OTY5Njk7IH1cbiAgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgLnVpLXN0YXRlLWhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkY0NjA0O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIC51aS1zdGF0ZS1kaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAudWktZGF0ZXBpY2tlci1jYWxlbmRhciAudWktc3RhdGUtZGlzYWJsZWQgc3BhbiB7XG4gICAgICBjb2xvcjogI2RjZGNkYzsgfVxuICAudWktZGF0ZXBpY2tlci1jYWxlbmRhciAudWktc3RhdGUtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkY0NjA0O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIGEudWktc3RhdGUtZGVmYXVsdDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI0ZGNDYwNDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4udWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy10b3A6IDFyZW07XG4gIGJvcmRlci10b3A6ICNkY2RjZGMgMXB4IHNvbGlkOyB9XG4gIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b24udWktZGF0ZXBpY2tlci1jdXJyZW50IHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4udWktZGF0ZXBpY2tlci1ydGwge1xuICBkaXJlY3Rpb246IHJ0bDsgfVxuXG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItcHJldiB7XG4gIHJpZ2h0OiAycHg7XG4gIGxlZnQ6IGF1dG87IH1cblxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLW5leHQge1xuICBsZWZ0OiAycHg7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1wcmV2OmhvdmVyIHtcbiAgcmlnaHQ6IDFweDtcbiAgbGVmdDogYXV0bzsgfVxuXG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItbmV4dDpob3ZlciB7XG4gIGxlZnQ6IDFweDtcbiAgcmlnaHQ6IGF1dG87IH1cblxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUge1xuICBjbGVhcjogcmlnaHQ7IH1cblxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uLnVpLWRhdGVwaWNrZXItY3VycmVudCB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwLWxhc3QgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4OyB9XG5cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1ncm91cC1taWRkbGUgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4OyB9XG5cbi51aS10aW1lcGlja2VyLWRpdiB7XG4gIHBhZGRpbmc6IDFyZW0gMCAwLjVyZW0gMDsgfVxuICAudWktdGltZXBpY2tlci1kaXYgLnVpLXdpZGdldC1oZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDAuOHJlbTsgfVxuICAudWktdGltZXBpY2tlci1kaXYgZGwge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAudWktdGltZXBpY2tlci1kaXYgZGwgZHQge1xuICAgICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMi4ycmVtOyB9XG4gICAgLnVpLXRpbWVwaWNrZXItZGl2IGRsIC51aV90cGlja2VyX3RpbWVfbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTIuNXJlbTsgfVxuICAgIC51aS10aW1lcGlja2VyLWRpdiBkbCBkZCB7XG4gICAgICBtYXJnaW46IDAgMCAxcmVtIDYuNXJlbTsgfVxuICAudWktdGltZXBpY2tlci1kaXYgdGQge1xuICAgIGZvbnQtc2l6ZTogOTAlOyB9XG5cbi51aS10cGlja2VyLWdyaWQtbGFiZWwge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4udWktc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi51aS1zbGlkZXItaGFuZGxlIHtcbiAgaGVpZ2h0OiAxcmVtO1xuICB3aWR0aDogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgYmFja2dyb3VuZDogI0ZGNDYwNDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi51aS1zbGlkZXItaG9yaXpvbnRhbCB7XG4gIGhlaWdodDogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZjBmMGYwOyB9XG4gIC51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLWhhbmRsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07IH1cblxuLyogSUU2IElGUkFNRSBGSVggKHRha2VuIGZyb20gZGF0ZXBpY2tlciAxLjUuMyAqL1xuLnVpLWRhdGVwaWNrZXItY292ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC8qbXVzdCBoYXZlKi9cbiAgei1pbmRleDogLTE7XG4gIC8qbXVzdCBoYXZlKi9cbiAgZmlsdGVyOiBtYXNrKCk7XG4gIC8qbXVzdCBoYXZlKi9cbiAgdG9wOiAtNHB4O1xuICAvKm11c3QgaGF2ZSovXG4gIGxlZnQ6IC00cHg7XG4gIC8qbXVzdCBoYXZlKi9cbiAgd2lkdGg6IDIwMHB4O1xuICAvKm11c3QgaGF2ZSovXG4gIGhlaWdodDogMjAwcHg7XG4gIC8qbXVzdCBoYXZlKi8gfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG4kY2FsZW5kYXJfYm94LXNoYWRvdzogJGJveC1zaGFkb3dfYmFzZSAhZGVmYXVsdDtcbiRjYWxlbmRhcl9ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJGNhbGVuZGFyX2JvcmRlcjogbm9uZSAhZGVmYXVsdDtcbiRjYWxlbmRhcl9oZWFkZXItYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXJfX2dyZXkgIWRlZmF1bHQ7XG4kY2FsZW5kYXJfaGVhZGVyLWFycm93LWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kY2FsZW5kYXJfYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2JhY2tncm91bmQtNTAwICFkZWZhdWx0O1xuJGNhbGVuZGFyX3dlZWtkYXktY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRjYWxlbmRhcl9kYXRlLWNvbG9yOiAkY29sb3JfdGV4dC01MDAgIWRlZmF1bHQ7XG4kY2FsZW5kYXJfZGF0ZS1kaXNhYmxlZC1jb2xvcjogJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kY2FsZW5kYXJfZGF0ZS1zZWxlY3RlZC1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGNhbGVuZGFyX2RhdGUtc2VsZWN0ZWQtYmFja2dyb3VuZDogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuXG4udWktZGF0ZXBpY2tlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB6LWluZGV4OiA5OTk5OTkgIWltcG9ydGFudDtcbiAgICBib3JkZXI6ICRjYWxlbmRhcl9ib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogJGNhbGVuZGFyX2JvcmRlci1yYWRpdXM7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtaW4td2lkdGg6IDI1cmVtO1xuICAgIGJveC1zaGFkb3c6ICRjYWxlbmRhcl9ib3gtc2hhZG93O1xuICAgIGJhY2tncm91bmQ6ICRjYWxlbmRhcl9iYWNrZ3JvdW5kLWNvbG9yO1xufVxuXG4vLyBIRUFERVJcbi51aS1kYXRlcGlja2VyLWhlYWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICRjYWxlbmRhcl9oZWFkZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgICBwYWRkaW5nOiAxLjJyZW0gMnJlbTtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkY2FsZW5kYXJfYm9yZGVyLXJhZGl1cztcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGNhbGVuZGFyX2JvcmRlci1yYWRpdXM7XG59XG5cbi51aS1kYXRlcGlja2VyLXByZXYsXG4udWktZGF0ZXBpY2tlci1uZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAycmVtO1xuICAgIHdpZHRoOiAxLjhlbTtcbiAgICBoZWlnaHQ6IDEuOGVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogMC4ycmVtO1xuICAgICAgICBmb250LXNpemU6IDBweDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICB9XG59XG5cbi51aS1kYXRlcGlja2VyLXByZXYge1xuICAgIGxlZnQ6IDEuNXJlbTtcblxuICAgIHNwYW4ge1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogMnJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogLTEuMnJlbTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDAuOHJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDAuOHJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMC44cmVtIHNvbGlkICRjYWxlbmRhcl9oZWFkZXItYXJyb3ctY29sb3I7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMC44cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBsZWZ0OiAtMXJlbTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDAuNnJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDAuNnJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMC42cmVtIHNvbGlkICRjYWxlbmRhcl9oZWFkZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0wLjZyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi51aS1kYXRlcGlja2VyLW5leHQge1xuICAgIHJpZ2h0OiAxLjVyZW07XG5cbiAgICBzcGFuIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICByaWdodDogLTEuMnJlbTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDAuOHJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDAuOHJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwLjhyZW0gc29saWQgJGNhbGVuZGFyX2hlYWRlci1hcnJvdy1jb2xvcjtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0wLjhyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHJpZ2h0OiAtMXJlbTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDAuNnJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDAuNnJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwLjZyZW0gc29saWQgJGNhbGVuZGFyX2hlYWRlci1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTAuNnJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnVpLWRhdGVwaWNrZXItdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgMS41cmVtO1xufVxuXG4udWktZGF0ZXBpY2tlci10aXRsZSBzZWxlY3Qge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbn1cblxuc2VsZWN0LnVpLWRhdGVwaWNrZXItbW9udGgteWVhciB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi51aS1kYXRlcGlja2VyLW1vbnRoIHtcbiAgICB3aWR0aDogNDclO1xuICAgIG1hcmdpbi1yaWdodDogNiU7XG59XG5cbi51aS1kYXRlcGlja2VyLXllYXIge1xuICAgIHdpZHRoOiA0NyU7XG59XG5cbi51aS1kYXRlcGlja2VyLXRhYmxlIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG59XG5cbi8vIENhbGVuZGFyXG4udWktZGF0ZXBpY2tlci1jYWxlbmRhciB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBtYXJnaW46IDFyZW0gMS41cmVtIDEuNXJlbTtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgd2lkdGg6IDIzcmVtO1xuXG4gICAgdGQsXG4gICAgdGgge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIHdpZHRoOiAzcmVtO1xuICAgICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICB0aCB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAkY2FsZW5kYXJfd2Vla2RheS1jb2xvcjtcbiAgICB9XG5cbiAgICAudWktZGF0ZXBpY2tlci13ZWVrLWNvbCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICB0ZCBhLFxuICAgIHRoIHNwYW4sXG4gICAgdGQgc3BhbiB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgd2lkdGg6IDNyZW07XG4gICAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgdGQgYSxcbiAgICB0ZCBzcGFuIHtcbiAgICAgICAgY29sb3I6ICRjYWxlbmRhcl9kYXRlLWNvbG9yO1xuICAgIH1cblxuICAgIC51aS1zdGF0ZS1ob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjYWxlbmRhcl9kYXRlLXNlbGVjdGVkLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkY2FsZW5kYXJfZGF0ZS1zZWxlY3RlZC1jb2xvcjtcbiAgICB9XG5cbiAgICAudWktc3RhdGUtZGlzYWJsZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY2FsZW5kYXJfZGF0ZS1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51aS1zdGF0ZS1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY2FsZW5kYXJfZGF0ZS1zZWxlY3RlZC1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGNhbGVuZGFyX2RhdGUtc2VsZWN0ZWQtY29sb3I7XG4gICAgfVxuXG4gICAgYS51aS1zdGF0ZS1kZWZhdWx0IHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRkY0NjA0O1xuICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEJ1dHRvbnNcbi51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgYm9yZGVyLXRvcDogJGNvbG9yX2JvcmRlci01MDAgMXB4IHNvbGlkO1xuXG4gICAgYnV0dG9uIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxuICAgIGJ1dHRvbi51aS1kYXRlcGlja2VyLWN1cnJlbnQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG59XG5cbi8vIFJUTFxuLnVpLWRhdGVwaWNrZXItcnRsIHtcbiAgICBkaXJlY3Rpb246IHJ0bDtcbn1cblxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLXByZXYge1xuICAgIHJpZ2h0OiAycHg7XG4gICAgbGVmdDogYXV0bztcbn1cblxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLW5leHQge1xuICAgIGxlZnQ6IDJweDtcbiAgICByaWdodDogYXV0bztcbn1cblxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLXByZXY6aG92ZXIge1xuICAgIHJpZ2h0OiAxcHg7XG4gICAgbGVmdDogYXV0bztcbn1cblxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLW5leHQ6aG92ZXIge1xuICAgIGxlZnQ6IDFweDtcbiAgICByaWdodDogYXV0bztcbn1cblxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUge1xuICAgIGNsZWFyOiByaWdodDtcbn1cblxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uIHtcbiAgICBmbG9hdDogbGVmdDtcbn1cblxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uLnVpLWRhdGVwaWNrZXItY3VycmVudCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAge1xuICAgIGZsb2F0OiByaWdodDtcbn1cblxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwLWxhc3QgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbn1cblxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwLW1pZGRsZSAudWktZGF0ZXBpY2tlci1oZWFkZXIge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xufVxuXG4vLyBUaW1lcGlja2VyXG4udWktdGltZXBpY2tlci1kaXYge1xuICAgIHBhZGRpbmc6IDFyZW0gMCAwLjVyZW0gMDtcblxuICAgIC51aS13aWRnZXQtaGVhZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuICAgIH1cblxuICAgIGRsIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICBkdCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0yLjJyZW07XG4gICAgICAgIH1cblxuICAgICAgICAudWlfdHBpY2tlcl90aW1lX2xhYmVsIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0yLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICBkZCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxcmVtIDYuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRkIHtcbiAgICAgICAgZm9udC1zaXplOiA5MCU7XG4gICAgfVxufVxuXG4udWktdHBpY2tlci1ncmlkLWxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLy8gU2xpZGVyXG4udWktc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnVpLXNsaWRlci1oYW5kbGUge1xuICAgIGhlaWdodDogMXJlbTtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcl9wcmltYXJ5LTUwMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi51aS1zbGlkZXItaG9yaXpvbnRhbCB7XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICRjYWxlbmRhcl9iYWNrZ3JvdW5kLWNvbG9yO1xuXG4gICAgLnVpLXNsaWRlci1oYW5kbGUge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuNXJlbTtcbiAgICB9XG59XG5cbi8qIElFNiBJRlJBTUUgRklYICh0YWtlbiBmcm9tIGRhdGVwaWNrZXIgMS41LjMgKi9cbi51aS1kYXRlcGlja2VyLWNvdmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IC8qbXVzdCBoYXZlKi9cbiAgICB6LWluZGV4OiAtMTsgLyptdXN0IGhhdmUqL1xuICAgIGZpbHRlcjogbWFzaygpOyAvKm11c3QgaGF2ZSovXG4gICAgdG9wOiAtNHB4OyAvKm11c3QgaGF2ZSovXG4gICAgbGVmdDogLTRweDsgLyptdXN0IGhhdmUqL1xuICAgIHdpZHRoOiAyMDBweDsgLyptdXN0IGhhdmUqL1xuICAgIGhlaWdodDogMjAwcHg7IC8qbXVzdCBoYXZlKi9cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIFJhZGlvIGFuZCBjaGVja2JveCBzdHlsaW5nICovXG4uY3MtY2FwdGNoYV9faW1hZ2UtY29udHJvbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmNzLWNhcHRjaGFfX2ltYWdlLWNvbnRyb2xzIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmQgLmNzLWNhcHRjaGFfX2ltYWdlLWNvbnRyb2xzIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtY2FwdGNoYV9faW1hZ2UtY29udHJvbHMge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cblxuLmNzLWNhcHRjaGFfX2ltYWdlIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG5cbi5jcy1jYXB0Y2hhX19idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gIG1hcmdpbjogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gIHBhZGRpbmc6IDhweCAyNXB4O1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB6LWluZGV4OiA1O1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yOyB9XG4gIC5jcy1jYXB0Y2hhX19idXR0b24ubWVkaXVtIHtcbiAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgLmNzLWNhcHRjaGFfX2J1dHRvbi5sYXJnZSB7XG4gICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gIC5jcy1jYXB0Y2hhX19idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAuY3MtY2FwdGNoYV9fYnV0dG9uLCAuY3MtY2FwdGNoYV9fYnV0dG9uOnZpc2l0ZWQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgfVxuICAgIC5jcy1jYXB0Y2hhX19idXR0b24gKiwgLmNzLWNhcHRjaGFfX2J1dHRvbjp2aXNpdGVkICoge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmaWxsOiAjRkY0NjA0OyB9XG4gIC5jcy1jYXB0Y2hhX19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtY2FwdGNoYV9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLWNhcHRjaGFfX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzRTNFM0U7IH1cbiAgICAuY3MtY2FwdGNoYV9fYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtY2FwdGNoYV9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtY2FwdGNoYV9fYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgLmNzLWNhcHRjaGFfX2J1dHRvbltkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgY3Vyc29yOiBhdXRvOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmNzLWNhcHRjaGFfX2J1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkIC5jcy1jYXB0Y2hhX19idXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cblxuLmNzLWNhcHRjaGFfX2J1dHRvbi1zcGFuIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgei1pbmRleDogMTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB9XG5cbi5jcy1jYXB0Y2hhX19ub3RlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NWVtO1xuICBwYWRkaW5nOiAwLjNlbSAwIDA7XG4gIGNvbG9yOiAjNjk2OTY5OyB9XG5cbi5jcy1kYXNoYm9hcmQgLmNzLWNhcHRjaGFfX3dyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9maWVsZC9taXhpbic7XG5cbiRjYXB0Y2hhX2J1dHRvbi10eXBlOiAnc2Vjb25kYXJ5JyAhZGVmYXVsdDtcbiRjYXB0Y2hhX2J1dHRvbi1pY29uLXBvczogJ25vLWljb24nICFkZWZhdWx0O1xuXG4uI3skbnN9Y2FwdGNoYSB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICAmX19pbWFnZS1jb250cm9scyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG5cbiAgICAgICAgLiN7JG5zfWRhc2hib2FyZCAmIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAkY2FwdGNoYV9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGNhcHRjaGFfYnV0dG9uLWljb24tcG9zXG4gICAgICAgICk7XG5cbiAgICAgICAgLiN7JG5zfWRhc2hib2FyZCAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbi1zcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAkdHlwZTogJGNhcHRjaGFfYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRjYXB0Y2hhX2J1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgICZfX25vdGUge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1ub3RlKCk7XG4gICAgfVxuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAgIC4jeyRuc31kYXNoYm9hcmQgJiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogUmFkaW8gYW5kIGNoZWNrYm94IHN0eWxpbmcgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLWRhc2hib2FyZCB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgLmNzLWRhc2hib2FyZCB7XG4gICAgICBwYWRkaW5nLXRvcDogMTBweCAhaW1wb3J0YW50OyB9IH1cbiAgLmNzLWRhc2hib2FyZF9fY29sdW1ucyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogNHJlbSAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmRfX2NvbHVtbnMge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMnJlbTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmRfX2NvbHVtbnMge1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAuY3MtZGFzaGJvYXJkX19zaWRlYmFyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkX19zaWRlYmFyIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IDIzM3B4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWRhc2hib2FyZF9fc2lkZWJhciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuICAuY3MtZGFzaGJvYXJkX19tYWluIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZmxleDogMTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkX19tYWluIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMi41cmVtOyB9IH1cbiAgICAuY3MtZGFzaGJvYXJkX19tYWluIGEuYWN0aW9uIHtcbiAgICAgIGNvbG9yOiAjRkY3NDQyOyB9XG4gICAgICAuY3MtZGFzaGJvYXJkX19tYWluIGEuYWN0aW9uOnZpc2l0ZWQsIC5jcy1kYXNoYm9hcmRfX21haW4gYS5hY3Rpb246aG92ZXIsIC5jcy1kYXNoYm9hcmRfX21haW4gYS5hY3Rpb246Zm9jdXMge1xuICAgICAgICBjb2xvcjogI0ZGNzQ0MjsgfVxuICAgIC5jcy1kYXNoYm9hcmRfX21haW4gLnRhYmxlOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGJvZHkgdGQge1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgLmNzLWRhc2hib2FyZF9fbWFpbiAudGFibGU6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0aGVhZCB0aCB7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTsgfVxuICAuY3MtZGFzaGJvYXJkX190b3Age1xuICAgIHBhZGRpbmc6IDAgMCAzcmVtOyB9XG4gIC5jcy1kYXNoYm9hcmRfX3BhZ2UtdGl0bGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuaWUxMSAuY3MtZGFzaGJvYXJkX19wYWdlLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtOyB9IH1cbiAgICAuY3MtZGFzaGJvYXJkX19wYWdlLXRpdGxlIC5tZXNzYWdlcyB7XG4gICAgICBvcmRlcjogMTsgfVxuICAgIC5jcy1kYXNoYm9hcmRfX3BhZ2UtdGl0bGUgLnBhZ2UtdGl0bGUtd3JhcHBlciB7XG4gICAgICBvcmRlcjogMjsgfVxuICAuY3MtZGFzaGJvYXJkIC5wYWdlLXRpdGxlIHtcbiAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMy4ycmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjZweDtcbiAgICBwYWRkaW5nOiAwIDAgMXJlbSAwOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmQgLnBhZ2UtdGl0bGUge1xuICAgICAgICBtYXJnaW46IDAgMCAyNXB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgLmNzLWRhc2hib2FyZCAuYWNjb3VudC13ZWxjb21lIHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICBvcmRlcjogMzsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLmFjY291bnQtd2VsY29tZSBzcGFuIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNzLWRhc2hib2FyZCAuY29sdW1ucyAuY29sdW1uLm1haW4ge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNzLWRhc2hib2FyZCAubWVzc2FnZS1lcnJvcixcbiAgLmNzLWRhc2hib2FyZCAubWVzc2FnZS1zdWNjZXNzLFxuICAuY3MtZGFzaGJvYXJkIC5tZXNzYWdlLW5vdGljZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAuY3MtZGFzaGJvYXJkIC5wYWdlLXRpdGxlLXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5jcy1kYXNoYm9hcmRfX2JvdHRvbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZGNkY2RjOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmRfX2JvdHRvbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTsgfSB9XG4gIC5jcy1kYXNoYm9hcmRfX3dpc2hsaXN0LWxpbmUge1xuICAgIG1hcmdpbjogMDsgfVxuICAuY3MtZGFzaGJvYXJkX193aXNobGlzdC1wcm9kdWN0cy1ncmlkIHtcbiAgICBtYXJnaW46IDAgMCAzcmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmRfX3dpc2hsaXN0LXByb2R1Y3RzLWdyaWQge1xuICAgICAgICBtYXJnaW46IDAgMCA0cmVtOyB9IH1cbiAgICAuY3MtZGFzaGJvYXJkX193aXNobGlzdC1wcm9kdWN0cy1ncmlkLS1za2lwLXNwYWNpbmcge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1kYXNoYm9hcmRfX2JvdHRvbS13aXNobGlzdCB7XG4gICAgbWFyZ2luOiAwIDAgM3JlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWRhc2hib2FyZF9fYm90dG9tLXdpc2hsaXN0IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNHJlbTsgfSB9XG4gICAgLmNzLWRhc2hib2FyZF9fYm90dG9tLXdpc2hsaXN0LS1za2lwLXNwYWNpbmcge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLWRhc2hib2FyZF9fYm90dG9tLXdpc2hsaXN0LWl0ZW0ge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jcy1kYXNoYm9hcmRfX2JvdHRvbS13aXNobGlzdC1pdGVtIHtcbiAgICAgICAgICB3aWR0aDogNTAlOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1kYXNoYm9hcmRfX2JvdHRvbS13aXNobGlzdC1pdGVtIHtcbiAgICAgICAgICB3aWR0aDogMzMuMzMlOyB9IH1cbiAgICAgIC5jcy1kYXNoYm9hcmRfX2JvdHRvbS13aXNobGlzdC1pdGVtOm50aC1jaGlsZChuICsgNCkge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1kYXNoYm9hcmRfX2xvZ2luIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWRhc2hib2FyZF9fbG9naW4ge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLmNzLWRhc2hib2FyZF9fbG9naW4gLmJsb2NrLXRpdGxlIHtcbiAgICAgIG1heC13aWR0aDogNTAuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgLmNzLWRhc2hib2FyZF9fbG9naW4tc2VjdGlvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgICAgIC5pZTExIC5jcy1kYXNoYm9hcmRfX2xvZ2luLXNlY3Rpb24gLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLmllMTEgLmNzLWRhc2hib2FyZF9fbG9naW4tc2VjdGlvbiAuc2Vjb25kYXJ5IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5jcy1kYXNoYm9hcmRfX2xvZ2luLXNlY3Rpb24gLmJsb2NrLWNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAgIC5jcy1kYXNoYm9hcmRfX2xvZ2luLXNlY3Rpb24gLmJsb2NrLWNvbnRlbnQgcCwgLmNzLWRhc2hib2FyZF9fbG9naW4tc2VjdGlvbiAuYmxvY2stY29udGVudCBkaXYge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtZGFzaGJvYXJkX19sb2dpbi1zZWN0aW9uIHtcbiAgICAgICAgICB3aWR0aDogNTAlOyB9XG4gICAgICAgICAgLmNzLWRhc2hib2FyZF9fbG9naW4tc2VjdGlvbjpudGgtY2hpbGQoMm4gKyAxKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gICAgICAgICAgLmNzLWRhc2hib2FyZF9fbG9naW4tc2VjdGlvbjpudGgtY2hpbGQoMm4gKyAyKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH0gfVxuICAuY3MtZGFzaGJvYXJkX19jb250YWN0LWZvcm0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAuY3MtZGFzaGJvYXJkIC5maWVsZHNldCxcbiAgLmNzLWRhc2hib2FyZCAuZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAxNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5jcy1kYXNoYm9hcmQgLmZpZWxkc2V0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiA1MC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLmNzLWRhc2hib2FyZCAuZmllbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5maWVsZC5ub3RlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgLmNzLWRhc2hib2FyZCAuZmllbGQuY2hvaWNlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNzLWRhc2hib2FyZCAubGltaXRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY3MtZGFzaGJvYXJkIHNlbGVjdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgcGFkZGluZzogMTFweCAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuM2VtO1xuICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDAuMmVtO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiA5JyBmaWxsPSclMjNkY2RjZGMnJTNlJTNjcGF0aCBkPSdNMCAxLjJDMCAuNS42IDAgMS4yIDBjLjMgMCAuNi4xLjguM2w2IDUuOSA2LTUuOWMuNS0uNCAxLjItLjMgMS43LjEuNC40LjQgMS4xIDAgMS41TDguOSA4LjdjLS41LjQtMS4yLjQtMS43IDBMLjQgMmEuOS45IDAgMCAxLS40LS44eicvJTNlJTNjL3N2ZyUzZVwiKSwgbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0LCByZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMC44ZW0gdG9wIDUyJSwgMCAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMC43ZW0gYXV0bywgMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41czsgfVxuICAgIC5jcy1kYXNoYm9hcmQgc2VsZWN0Oi1tb3otZm9jdXNyaW5nLCAuY3MtZGFzaGJvYXJkIHNlbGVjdDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjMDAwICFpbXBvcnRhbnQ7IH1cbiAgICAuY3MtZGFzaGJvYXJkIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLWRhc2hib2FyZCBzZWxlY3Q6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtZGFzaGJvYXJkIHNlbGVjdDpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0ZGNDYwNDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgOScgZmlsbD0nJTIzRkY0NjA0JyUzZSUzY3BhdGggZD0nTTAgMS4yQzAgLjUuNiAwIDEuMiAwYy4zIDAgLjYuMS44LjNsNiA1LjkgNi01LjljLjUtLjQgMS4yLS4zIDEuNy4xLjQuNC40IDEuMSAwIDEuNUw4LjkgOC43Yy0uNS40LTEuMi40LTEuNyAwTC40IDJhLjkuOSAwIDAgMS0uNC0uOHonLyUzZSUzYy9zdmclM2VcIiksIGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7IH1cbiAgICAgIC5pZTExIC5jcy1kYXNoYm9hcmQgc2VsZWN0OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmllMTEgLmNzLWRhc2hib2FyZCBzZWxlY3Q6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDknIGZpbGw9JyUyM0ZGNDYwNCclM2UlM2NwYXRoIGQ9J00wIDEuMkMwIC41LjYgMCAxLjIgMGMuMyAwIC42LjEuOC4zbDYgNS45IDYtNS45Yy41LS40IDEuMi0uMyAxLjcuMS40LjQuNCAxLjEgMCAxLjVMOC45IDguN2MtLjUuNC0xLjIuNC0xLjcgMEwuNCAyYS45LjkgMCAwIDEtLjQtLjh6Jy8lM2UlM2Mvc3ZnJTNlXCIpOyB9XG4gICAgLmNzLWRhc2hib2FyZCBzZWxlY3RbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7IH1cbiAgICAuY3MtZGFzaGJvYXJkIHNlbGVjdCBvcHRpb24ge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjb2xvcjogaW5pdGlhbDsgfVxuICAgIC5pZTExIC5jcy1kYXNoYm9hcmQgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiA5JyBmaWxsPSclMjNkY2RjZGMnJTNlJTNjcGF0aCBkPSdNMCAxLjJDMCAuNS42IDAgMS4yIDBjLjMgMCAuNi4xLjguM2w2IDUuOSA2LTUuOWMuNS0uNCAxLjItLjMgMS43LjEuNC40LjQgMS4xIDAgMS41TDguOSA4LjdjLS41LjQtMS4yLjQtMS43IDBMLjQgMmEuOS45IDAgMCAxLS40LS44eicvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMC43ZW0gMC43ZW0sIDEwMCU7IH1cbiAgLmNzLWRhc2hib2FyZCAuY2hvaWNlIC5sYWJlbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAuY3MtZGFzaGJvYXJkIC5maWVsZC1uYW1lLXByZWZpeCB7XG4gICAgbWF4LXdpZHRoOiAxMnJlbTsgfVxuICAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIC5pZTExIC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG4gICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSA+IGJ1dHRvbixcbiAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5IC5jcmVhdGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICAgICAgcGFkZGluZzogOHB4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgei1pbmRleDogNTtcbiAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7XG4gICAgICBtaW4td2lkdGg6IDEzcmVtOyB9XG4gICAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5ID4gYnV0dG9uLm1lZGl1bSxcbiAgICAgIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgLmNyZWF0ZS5tZWRpdW0ge1xuICAgICAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5ID4gYnV0dG9uLmxhcmdlLFxuICAgICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSAuY3JlYXRlLmxhcmdlIHtcbiAgICAgICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAgICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSA+IGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAgIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgLmNyZWF0ZTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5ID4gYnV0dG9uLCAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5ID4gYnV0dG9uOnZpc2l0ZWQsXG4gICAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5IC5jcmVhdGUsXG4gICAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5IC5jcmVhdGU6dmlzaXRlZCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAgICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSA+IGJ1dHRvbiAqLCAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5ID4gYnV0dG9uOnZpc2l0ZWQgKixcbiAgICAgICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSAuY3JlYXRlICosXG4gICAgICAgIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgLmNyZWF0ZTp2aXNpdGVkICoge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAgIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgPiBidXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5ID4gYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLWRhc2hib2FyZCAucHJpbWFyeSA+IGJ1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pLFxuICAgICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSAuY3JlYXRlOmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAgIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgLmNyZWF0ZTpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5IC5jcmVhdGU6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY3NDQyOyB9XG4gICAgICAgIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgPiBidXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgPiBidXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgPiBidXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5IC5jcmVhdGU6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAgIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgLmNyZWF0ZTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSAuY3JlYXRlOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSA+IGJ1dHRvbltkaXNhYmxlZF0sXG4gICAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5IC5jcmVhdGVbZGlzYWJsZWRdIHtcbiAgICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgICAud2lzaGxpc3QtaW5kZXgtaW5kZXggLmNzLWRhc2hib2FyZCAucHJpbWFyeSA+IGJ1dHRvbiwgLndpc2hsaXN0LWluZGV4LWluZGV4XG4gICAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5IC5jcmVhdGUge1xuICAgICAgICB6LWluZGV4OiAxOyB9XG4gICAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5ID4gYnV0dG9uIHNwYW4sXG4gICAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5IC5jcmVhdGUgc3BhbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgPiBidXR0b24uYWN0aW9uLnVwZGF0ZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1kYXNoYm9hcmQgLnJlbWluZCxcbiAgLmNzLWRhc2hib2FyZCAuYmFjayB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgbWFyZ2luLXRvcDogMC43cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLnJlbWluZDp2aXNpdGVkLFxuICAgIC5jcy1kYXNoYm9hcmQgLmJhY2s6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuY3MtZGFzaGJvYXJkIC5jb3VudGVyIHtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXJlbSk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmNzLWRhc2hib2FyZCAuY291bnRlcjpiZWZvcmUge1xuICAgICAgY29udGVudDogJygnOyB9XG4gICAgLmNzLWRhc2hib2FyZCAuY291bnRlcjphZnRlciB7XG4gICAgICBjb250ZW50OiAnKSc7IH1cbiAgLmNzLWRhc2hib2FyZCAuYmxvY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMXJlbSAwIDIuNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWRhc2hib2FyZCAuYmxvY2sge1xuICAgICAgICBtYXJnaW46IDEuNXJlbSAwIDRyZW07IH0gfVxuICAuY3MtZGFzaGJvYXJkIC5ibG9jay10aXRsZSxcbiAgLmNzLWRhc2hib2FyZCAubGVnZW5kLFxuICAuY3MtZGFzaGJvYXJkIC5vcmRlci10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGMEYwRjA7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC44cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5ibG9jay10aXRsZSBzdHJvbmcsXG4gICAgLmNzLWRhc2hib2FyZCAubGVnZW5kIHN0cm9uZyxcbiAgICAuY3MtZGFzaGJvYXJkIC5vcmRlci10aXRsZSBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAuY3MtZGFzaGJvYXJkIC50YWJsZS13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY3MtZGFzaGJvYXJkIC5ibG9jay10aXRsZSBhIHtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmJveC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG4gIC5jcy1kYXNoYm9hcmQgLmJsb2NrLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW46IDFyZW0gMCAwO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgIC5zYWxlcy1vcmRlci1oaXN0b3J5IC5jcy1kYXNoYm9hcmQgLmJsb2NrLWNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5ibG9jay1jb250ZW50Lm5vLWRpc3BsYXkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtZGFzaGJvYXJkIC5ibG9jay1uZXctY3VzdG9tZXIgLmJsb2NrLWNvbnRlbnQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5ibG9jay1uZXctY3VzdG9tZXIgLmJsb2NrLWNvbnRlbnQgLmZpZWxkc2V0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAuY3MtZGFzaGJvYXJkIC5ibG9jay1yZXdhcmQtaGlzdG9yeSAuY3MtdG9vbGJhcl9faXRlbS0tYW1vdW50IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAuY3MtZGFzaGJvYXJkIC5ibG9jay1yZXdhcmQtaGlzdG9yeSAuY3MtdG9vbGJhcl9faXRlbS0tYW1vdW50Om50aC1jaGlsZCgxKSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgIC5jcy1kYXNoYm9hcmQgLmJsb2NrLXJld2FyZC1oaXN0b3J5IC5wYWdlcyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbjogMC43cmVtIDAgMnJlbTsgfSB9XG4gIC5jcy1kYXNoYm9hcmQgLmJsb2NrLXJld2FyZC1oaXN0b3J5IC5wYWdlczpudGgtY2hpbGQoMikge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAuY3MtZGFzaGJvYXJkIC5ibG9jay1yZXdhcmQtaGlzdG9yeSAuY3MtdG9vbGJhcl9faXRlbS0tbGltaXRlciB7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIC5jcy1kYXNoYm9hcmQgLmJsb2NrLXJld2FyZC1oaXN0b3J5IC5jcy10b29sYmFyX19pdGVtLS1saW1pdGVyOm50aC1jaGlsZCgzKSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtZGFzaGJvYXJkIC5ib3gtYWN0aW9ucyxcbiAgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5ib3gtYWN0aW9ucyBhICsgYTpiZWZvcmUsXG4gICAgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyBhICsgYTpiZWZvcmUge1xuICAgICAgbWFyZ2luOiAwIDAuN3JlbSAwIDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICd8JztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxcHg7XG4gICAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBsaW5lLWhlaWdodDogNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLmJveC1hY3Rpb25zIGEsXG4gICAgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgLmNzLWRhc2hib2FyZCAudGFibGUtd3JhcHBlcixcbiAgLmNzLWRhc2hib2FyZCAub3JkZXJzLWhpc3RvcnksXG4gIC5jcy1kYXNoYm9hcmQgLmZvcm0td2lzaGxpc3QtaXRlbXMge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgLmNzLWRhc2hib2FyZCAudGFibGUtd3JhcHBlciArIC50b29sYmFyLFxuICAgIC5jcy1kYXNoYm9hcmQgLnRhYmxlLXdyYXBwZXIgKyAuYWN0aW9ucy10b29sYmFyLFxuICAgIC5jcy1kYXNoYm9hcmQgLm9yZGVycy1oaXN0b3J5ICsgLnRvb2xiYXIsXG4gICAgLmNzLWRhc2hib2FyZCAub3JkZXJzLWhpc3RvcnkgKyAuYWN0aW9ucy10b29sYmFyLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0td2lzaGxpc3QtaXRlbXMgKyAudG9vbGJhcixcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLXdpc2hsaXN0LWl0ZW1zICsgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuY3MtZGFzaGJvYXJkIC50YWJsZS13cmFwcGVyLm9yZGVyLWl0ZW1zICsgLmFjdGlvbnMtdG9vbGJhcixcbiAgICAuY3MtZGFzaGJvYXJkIC5vcmRlcnMtaGlzdG9yeS5vcmRlci1pdGVtcyArIC5hY3Rpb25zLXRvb2xiYXIsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS13aXNobGlzdC1pdGVtcy5vcmRlci1pdGVtcyArIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLnRhYmxlLXdyYXBwZXIgKyAudG9vbGJhcixcbiAgICAuY3MtZGFzaGJvYXJkIC5vcmRlcnMtaGlzdG9yeSArIC50b29sYmFyLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0td2lzaGxpc3QtaXRlbXMgKyAudG9vbGJhciB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLnRhYmxlLXdyYXBwZXIgLmFjdGlvbixcbiAgICAuY3MtZGFzaGJvYXJkIC5vcmRlcnMtaGlzdG9yeSAuYWN0aW9uLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0td2lzaGxpc3QtaXRlbXMgLmFjdGlvbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmNzLWRhc2hib2FyZCAuZm9ybS13aXNobGlzdC1pdGVtcyAuYWN0aW9ucy10b29sYmFyIC5wcmltYXJ5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0td2lzaGxpc3QtaXRlbXMgLmFjdGlvbnMtdG9vbGJhciAucHJpbWFyeSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLXdpc2hsaXN0LWl0ZW1zIC5hY3Rpb25zLXRvb2xiYXIgLnByaW1hcnkgLmFjdGlvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtOyB9IH1cbiAgLmNzLWRhc2hib2FyZCAuY3MtdG9vbGJhcl9faXRlbS0tYW1vdW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNzLWRhc2hib2FyZCAudG9vbGJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmQgLnRvb2xiYXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgICAgLmNzLWRhc2hib2FyZCAudG9vbGJhciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgIC5jcy1kYXNoYm9hcmQgLnRvb2xiYXI6OmFmdGVyLCAuY3MtZGFzaGJvYXJkIC50b29sYmFyOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkIC50b29sYmFyIC5jcy10b29sYmFyX19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogYXV0bzsgfVxuICAgICAgICAuY3MtZGFzaGJvYXJkIC50b29sYmFyIC5jcy10b29sYmFyX19pdGVtIHAge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkIC50b29sYmFyIC5jcy10b29sYmFyX19pdGVtLS1hbW91bnQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkIC50b29sYmFyIC5jcy10b29sYmFyX19pdGVtLS1hbW91bnQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG4gICAgLmNzLWRhc2hib2FyZCAudG9vbGJhciAuY3MtdG9vbGJhcl9faXRlbS0tYW1vdW50ICsgLmNzLXRvb2xiYXJfX2l0ZW0tLWxpbWl0ZXIge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkIC50b29sYmFyIC5jcy10b29sYmFyX19pdGVtLS1saW1pdGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMi41cmVtOyB9IH1cbiAgICAuY3MtZGFzaGJvYXJkIC50b29sYmFyIC50b29sYmFyLWFtb3VudCB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkIC50b29sYmFyIC5wYWdlcyB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWRhc2hib2FyZCAudG9vbGJhciAucGFnZXMge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkIC50b29sYmFyIC5saW1pdGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkIC50b29sYmFyIC5saW1pdGVyIC5sYWJlbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAuY3MtZGFzaGJvYXJkIC50b29sYmFyLndpc2hsaXN0LXRvb2xiYXIgYnIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zLXRvb2xiYXIgPiAuc2Vjb25kYXJ5IC5hY3Rpb24uYmFjayxcbiAgLmNzLWRhc2hib2FyZCAuc2Vjb25kYXJ5IC5hY3Rpb24uZWRpdC1lbWFpbC1wcmVmZXJlbmNlcyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtZGFzaGJvYXJkIC5ib3gsXG4gIC5jcy1kYXNoYm9hcmQgLmFkZHJlc3NlcyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkIC5ib3gsXG4gICAgICAuY3MtZGFzaGJvYXJkIC5hZGRyZXNzZXMge1xuICAgICAgICB3aWR0aDogNDklO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9IH1cbiAgLmNzLWRhc2hib2FyZCAuYm94LWNvbnRlbnQsXG4gIC5jcy1kYXNoYm9hcmQgLmFkZHJlc3NlcyAuaXRlbSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzY5Njk2OTtcbiAgICBsaW5lLWhlaWdodDogMi41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNzLWRhc2hib2FyZCAuYm94LWNvbnRlbnQgYWRkcmVzcyBhIHtcbiAgICBjb2xvcjogIzNFM0UzRTsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLmJveC1jb250ZW50IGFkZHJlc3MgYTp2aXNpdGVkLCAuY3MtZGFzaGJvYXJkIC5ib3gtY29udGVudCBhZGRyZXNzIGE6Zm9jdXMge1xuICAgICAgY29sb3I6ICMzRTNFM0U7IH1cbiAgLmNzLWRhc2hib2FyZCAudG9vbHRpcC53cmFwcGVyIHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cbiAgLmNzLWRhc2hib2FyZCAuY2hvaWNlLnBlcnNpc3RlbnQge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAuY3MtZGFzaGJvYXJkIC50YWJsZS1vcmRlci1pdGVtcyAuY3MtdGFibGVfX2NvbDpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG4gICAgLmNzLWRhc2hib2FyZCAudGFibGUtb3JkZXItaXRlbXMgLnByaWNlLWV4Y2x1ZGluZy10YXgsXG4gICAgLmNzLWRhc2hib2FyZCAudGFibGUtb3JkZXItaXRlbXMgLnByaWNlLWluY2x1ZGluZy10YXgsXG4gICAgLmNzLWRhc2hib2FyZCAudGFibGUtb3JkZXItaXRlbXMgLml0ZW1zLXF0eSxcbiAgICAuY3MtZGFzaGJvYXJkIC50YWJsZS1vcmRlci1pdGVtcyAucHJvZHVjdC1pdGVtLW5hbWUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGNvbG9yOiAjNjk2OTY5OyB9XG4gICAgLmNzLWRhc2hib2FyZCAudGFibGUtb3JkZXItaXRlbXMgLmNzLWNhcnQtaXRlbV9fb3B0aW9ucy1sYWJlbCB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gICAgICAuY3MtZGFzaGJvYXJkIC50YWJsZS1vcmRlci1pdGVtcyAuY3MtY2FydC1pdGVtX19vcHRpb25zLWxhYmVsOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJzonOyB9XG4gICAgLmNzLWRhc2hib2FyZCAudGFibGUtb3JkZXItaXRlbXMgLmNzLXRhYmxlX19jb2wuc3VidG90YWwge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLnRhYmxlLW9yZGVyLWl0ZW1zIC5wcmljZS1leGNsdWRpbmctdGF4IC5wcmljZSB7XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9IH1cbiAgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gICAgcGFkZGluZzogOHB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOHJlbTsgfVxuICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyLm1lZGl1bSB7XG4gICAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyLmxhcmdlIHtcbiAgICAgIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gICAgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAub3JkZXI6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyLCAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcjp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0OyB9XG4gICAgICAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlciAqLCAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcjp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAub3JkZXI6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjc0NDI7IH1cbiAgICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAub3JkZXI6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcltkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyIHNwYW4ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB9XG4gIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gICAgcGFkZGluZzogOHB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOHJlbTsgfVxuICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50Lm1lZGl1bSB7XG4gICAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50LmxhcmdlIHtcbiAgICAgIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gICAgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50LCAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludDp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gICAgICAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludCAqLCAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludDp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI0ZGNDYwNDsgfVxuICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludDphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzRTNFM0U7IH1cbiAgICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludDpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludFtkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50OjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50IHNwYW4ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmJsb2NrLXJldmlld3MtZGFzaGJvYXJkIC5wcm9kdWN0LW5hbWUge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgLmNzLWRhc2hib2FyZCAucmF0aW5nLXJlc3VsdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5yYXRpbmctcmVzdWx0OjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtZGFzaGJvYXJkIC5yYXRpbmctc3VtbWFyeS5pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmN1c3RvbWVyLXJldmlldyAucHJvZHVjdC1uYW1lIHtcbiAgICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBVYnVudHUsIENhbnRhcmVsbCwgT3h5Z2VuLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbjogMXJlbSAwIDJyZW07IH1cbiAgLmNzLWRhc2hib2FyZCAuY3VzdG9tZXItcmV2aWV3IC5yZXZpZXctdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBPeHlnZW4sIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBjb2xvcjogIzIxMjEyMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luOiAxcmVtIDAgMnJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAuY3MtZGFzaGJvYXJkIC5mb3JtLWFkZHJlc3MtZWRpdCxcbiAgLmNzLWRhc2hib2FyZCAuZm9ybS1lZGl0LWFjY291bnQsXG4gIC5jcy1kYXNoYm9hcmQgLmZvcm0tbmV3c2xldHRlci1tYW5hZ2UsXG4gIC5jcy1kYXNoYm9hcmQgLnJldmlld3Mge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgLmNzLWRhc2hib2FyZCAuZm9ybS5jcmVhdGUuYWNjb3VudCxcbiAgLmNzLWRhc2hib2FyZCAuZm9ybS1hZGRyZXNzLWVkaXQsXG4gIC5jcy1kYXNoYm9hcmQgLmZvcm0tZWRpdC1hY2NvdW50LFxuICAuY3MtZGFzaGJvYXJkIC5mb3JtLnBhc3N3b3JkLnJlc2V0LFxuICAuY3MtZGFzaGJvYXJkIC5mb3JtLnNlbmQuY29uZmlybWF0aW9uLFxuICAuY3MtZGFzaGJvYXJkIC5mb3JtLnBhc3N3b3JkLmZvcmdldCxcbiAgLmNzLWRhc2hib2FyZCAjYXdfZ2lmdGNhcmRfX2NoZWNrX2NvZGVfZm9ybSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLmNyZWF0ZS5hY2NvdW50LFxuICAgICAgLmNzLWRhc2hib2FyZCAuZm9ybS1hZGRyZXNzLWVkaXQsXG4gICAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLWVkaXQtYWNjb3VudCxcbiAgICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0ucGFzc3dvcmQucmVzZXQsXG4gICAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnNlbmQuY29uZmlybWF0aW9uLFxuICAgICAgLmNzLWRhc2hib2FyZCAuZm9ybS5wYXNzd29yZC5mb3JnZXQsXG4gICAgICAuY3MtZGFzaGJvYXJkICNhd19naWZ0Y2FyZF9fY2hlY2tfY29kZV9mb3JtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0uY3JlYXRlLmFjY291bnQgYnIsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS1hZGRyZXNzLWVkaXQgYnIsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS1lZGl0LWFjY291bnQgYnIsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5wYXNzd29yZC5yZXNldCBicixcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnNlbmQuY29uZmlybWF0aW9uIGJyLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0ucGFzc3dvcmQuZm9yZ2V0IGJyLFxuICAgIC5jcy1kYXNoYm9hcmQgI2F3X2dpZnRjYXJkX19jaGVja19jb2RlX2Zvcm0gYnIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0uY3JlYXRlLmFjY291bnQgLmZ1bGxuYW1lIC5sYWJlbCxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLWFkZHJlc3MtZWRpdCAuZnVsbG5hbWUgLmxhYmVsLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0tZWRpdC1hY2NvdW50IC5mdWxsbmFtZSAubGFiZWwsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5wYXNzd29yZC5yZXNldCAuZnVsbG5hbWUgLmxhYmVsLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0uc2VuZC5jb25maXJtYXRpb24gLmZ1bGxuYW1lIC5sYWJlbCxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnBhc3N3b3JkLmZvcmdldCAuZnVsbG5hbWUgLmxhYmVsLFxuICAgIC5jcy1kYXNoYm9hcmQgI2F3X2dpZnRjYXJkX19jaGVja19jb2RlX2Zvcm0gLmZ1bGxuYW1lIC5sYWJlbCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLmNyZWF0ZS5hY2NvdW50IC5mdWxsbmFtZSAuY29udHJvbCxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLWFkZHJlc3MtZWRpdCAuZnVsbG5hbWUgLmNvbnRyb2wsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS1lZGl0LWFjY291bnQgLmZ1bGxuYW1lIC5jb250cm9sLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0ucGFzc3dvcmQucmVzZXQgLmZ1bGxuYW1lIC5jb250cm9sLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0uc2VuZC5jb25maXJtYXRpb24gLmZ1bGxuYW1lIC5jb250cm9sLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0ucGFzc3dvcmQuZm9yZ2V0IC5mdWxsbmFtZSAuY29udHJvbCxcbiAgICAuY3MtZGFzaGJvYXJkICNhd19naWZ0Y2FyZF9fY2hlY2tfY29kZV9mb3JtIC5mdWxsbmFtZSAuY29udHJvbCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0uY3JlYXRlLmFjY291bnQgLmFjdGlvbi5wcmltYXJ5LFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0tYWRkcmVzcy1lZGl0IC5hY3Rpb24ucHJpbWFyeSxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLWVkaXQtYWNjb3VudCAuYWN0aW9uLnByaW1hcnksXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5wYXNzd29yZC5yZXNldCAuYWN0aW9uLnByaW1hcnksXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5zZW5kLmNvbmZpcm1hdGlvbiAuYWN0aW9uLnByaW1hcnksXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5wYXNzd29yZC5mb3JnZXQgLmFjdGlvbi5wcmltYXJ5LFxuICAgIC5jcy1kYXNoYm9hcmQgI2F3X2dpZnRjYXJkX19jaGVja19jb2RlX2Zvcm0gLmFjdGlvbi5wcmltYXJ5IHtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5jcmVhdGUuYWNjb3VudCAuYmFjayxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLWFkZHJlc3MtZWRpdCAuYmFjayxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLWVkaXQtYWNjb3VudCAuYmFjayxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnBhc3N3b3JkLnJlc2V0IC5iYWNrLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0uc2VuZC5jb25maXJtYXRpb24gLmJhY2ssXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5wYXNzd29yZC5mb3JnZXQgLmJhY2ssXG4gICAgLmNzLWRhc2hib2FyZCAjYXdfZ2lmdGNhcmRfX2NoZWNrX2NvZGVfZm9ybSAuYmFjayB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5jcmVhdGUuYWNjb3VudCAuZmllbGRzZXQsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS1hZGRyZXNzLWVkaXQgLmZpZWxkc2V0LFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0tZWRpdC1hY2NvdW50IC5maWVsZHNldCxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnBhc3N3b3JkLnJlc2V0IC5maWVsZHNldCxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnNlbmQuY29uZmlybWF0aW9uIC5maWVsZHNldCxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnBhc3N3b3JkLmZvcmdldCAuZmllbGRzZXQsXG4gICAgLmNzLWRhc2hib2FyZCAjYXdfZ2lmdGNhcmRfX2NoZWNrX2NvZGVfZm9ybSAuZmllbGRzZXQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0uY3JlYXRlLmFjY291bnQgLmZpZWxkc2V0LWZ1bGxuYW1lLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0tYWRkcmVzcy1lZGl0IC5maWVsZHNldC1mdWxsbmFtZSxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLWVkaXQtYWNjb3VudCAuZmllbGRzZXQtZnVsbG5hbWUsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5wYXNzd29yZC5yZXNldCAuZmllbGRzZXQtZnVsbG5hbWUsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5zZW5kLmNvbmZpcm1hdGlvbiAuZmllbGRzZXQtZnVsbG5hbWUsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5wYXNzd29yZC5mb3JnZXQgLmZpZWxkc2V0LWZ1bGxuYW1lLFxuICAgIC5jcy1kYXNoYm9hcmQgI2F3X2dpZnRjYXJkX19jaGVja19jb2RlX2Zvcm0gLmZpZWxkc2V0LWZ1bGxuYW1lIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNzLWRhc2hib2FyZCAuYWRkcmVzc2VzIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY3MtZGFzaGJvYXJkIC5ibG9jay1hZGRyZXNzZXMtbGlzdCArIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgLmNzLWRhc2hib2FyZCAuYm94LWJpbGxpbmctYWRkcmVzcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9IH1cbiAgLmNzLWRhc2hib2FyZCAuZm9ybS1uZXdzbGV0dGVyLW1hbmFnZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLW5ld3NsZXR0ZXItbWFuYWdlIC5maWVsZHNldCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5jcy1kYXNoYm9hcmRfX2J1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICAgIHBhZGRpbmc6IDhweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yOyB9XG4gICAgLmNzLWRhc2hib2FyZF9fYnV0dG9uLm1lZGl1bSB7XG4gICAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5jcy1kYXNoYm9hcmRfX2J1dHRvbi5sYXJnZSB7XG4gICAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAgIC5jcy1kYXNoYm9hcmRfX2J1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLWRhc2hib2FyZF9fYnV0dG9uLCAuY3MtZGFzaGJvYXJkX19idXR0b246dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDsgfVxuICAgICAgLmNzLWRhc2hib2FyZF9fYnV0dG9uICosIC5jcy1kYXNoYm9hcmRfX2J1dHRvbjp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5jcy1kYXNoYm9hcmRfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1kYXNoYm9hcmRfX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1kYXNoYm9hcmRfX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjc0NDI7IH1cbiAgICAgIC5jcy1kYXNoYm9hcmRfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWRhc2hib2FyZF9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtZGFzaGJvYXJkX19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAuY3MtZGFzaGJvYXJkX19idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IGF1dG87IH1cbiAgLmNzLWRhc2hib2FyZF9fYnV0dG9uLXNwYW4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuICAuY3MtZGFzaGJvYXJkX19idXR0b24taWNvbiB7XG4gICAgbWF4LXdpZHRoOiAxZW07XG4gICAgbWF4LWhlaWdodDogMS40cmVtO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcbkBpbXBvcnQgJ3BhZ2VzL2xheW91dC8yY29sdW1ucy1sZWZ0L21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmllbGQvbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy90eXBvZ3JhcGh5L21peGluJztcbkBpbXBvcnQgJ3V0aWxzL2NvbXBvbmVudC1zcGFjaW5nJztcblxuJGRhc2hib2FyZC1idXR0b25fdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUgIWRlZmF1bHQ7XG4kZGFzaGJvYXJkLWJ1dHRvbl9zZWNvbmRhcnktdHlwZTogJ3NlY29uZGFyeScgIWRlZmF1bHQ7XG4kZGFzaGJvYXJkLWJ1dHRvbl9pY29uLXBvczogJ25vLWljb24nICFkZWZhdWx0O1xuJGRhc2hib2FyZF9idXR0b25fZm9ybXMtZm9udC1zaXplOiAxLjRyZW0gIWRlZmF1bHQ7XG4kZGFzaGJvYXJkLWJ1dHRvbl9zbWFsbC1mb250LXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcblxuJGRhc2hib2FyZF9tYWluLXNlcGFyYXRvci1hcHBseTogZmFsc2UgIWRlZmF1bHQ7XG4kZGFzaGJvYXJkX3NpZGViYXItbWFpbi1zcGFjZTogMi41cmVtICFkZWZhdWx0O1xuJGRhc2hib2FyZF9ib3R0b20tYm9yZGVyLXRvcDogMnB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJGRhc2hib2FyZF9oZWFkbGluZS1saW5rcy1zZXBhcmF0b3I6IDJweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRkYXNoYm9hcmRfbG9naW4tc2VjdGlvbnMtc2VwYXJhdG9yOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG5cbiRkYXNoYm9hcmRfaGVhZGxpbmUtYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci1saWdodCAhZGVmYXVsdDtcbiRkYXNoYm9hcmRfaGVhZGxpbmUtbWFyZ2luLWJvdHRvbTogMnJlbSAhZGVmYXVsdDtcbiRkYXNoYm9hcmRfaGVhZGxpbmUtcGFkZGluZy1ib3R0b206IDAuOHJlbSAhZGVmYXVsdDtcbiRkYXNoYm9hcmRfaGVhZGxpbmUtZm9udC1zaXplOiAkZm9udC1zaXplX2hlYWRsaW5lLTMgIWRlZmF1bHQ7XG4kZGFzaGJvYXJkX2hlYWRsaW5lLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XG4kZGFzaGJvYXJkX2hlYWRsaW5lLWxpbmstZm9udC1zaXplOiAxLjRyZW0gIWRlZmF1bHQ7XG5cbiRkYXNoYm9hcmRfYm94LXRpdGxlLWZvbnQtc2l6ZTogMS40cmVtICFkZWZhdWx0O1xuJGRhc2hib2FyZF9ib3gtdGl0bGUtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcbiRkYXNoYm9hcmRfYm94LXRpdGxlLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xuXG4kZGFzaGJvYXJkX3RleHQtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcbiRkYXNoYm9hcmRfdGV4dC1jb2xvcjogJGNvbG9yX3RleHQtNTAwICFkZWZhdWx0O1xuJGRhc2hib2FyZF90ZXh0LWxpbmUtaGVpZ2h0OiAyLjVyZW0gIWRlZmF1bHQ7XG5cbiRkYXNoYm9hcmRfbGlua3MtZm9udC1zaXplOiAxLjRyZW0gIWRlZmF1bHQ7XG4kZGFzaGJvYXJkX2xpbmtzLWZvbnQtd2VpZ2h0OiAzMDAgIWRlZmF1bHQ7XG5cbi8vIEZvciBzaG9wcyB3aXRoIGRhcmtlciBiYWNrZ3JvdW5kIGVsZW1lbnRzIGluIHVzZXIgYXJlYSBhcmUgcGxhY2VkIGluIHNlcGFyYXRlIGJveGVzXG5cbi8vIFZhbHVlcyBzcGVjaWZpYyBmb3Igc2hvcHMgd2l0aCBiYWNrZ3JvdW5kXG4kZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZDogZmFsc2UgIWRlZmF1bHQ7XG4kZGFzaGJvYXJkX2JveGVzLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGRhc2hib2FyZF9oaWRlLXNlY3Rpb25zLXNlcGFyYXRvcnM6IGZhbHNlICFkZWZhdWx0O1xuJGRhc2hib2FyZF9oaWRlLXRpdGxlcy1zZXBhcmF0b3JzOiBmYWxzZSAhZGVmYXVsdDtcbi8vIFNldCB2YWx1ZSBpZiAkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCBpcyBzZXQgdG8gdHJ1ZVxuJGRhc2hib2FyZF9ib3hlcy1pbm5lci1wYWRkaW5nOiAwICFkZWZhdWx0O1xuLy8gRm9yIHNob3BzIHdoaXRlIHdoaXRlIGJhY2tncm91bmQgaXQgaXMgYWxzbyBuZWVkZWQgYXMgaXQgaXMgcGFydCBvZiBzcGFjaW5nIHN5c3RlbS5cbi8vIEZvciBzaG9wcyB3aXRoIGRhcmtlciBiYWNrZ3JvdW5kIHZhbHVlIGhlcmUgY2FuIGJlIHNtYWxsZXIgb2YgaGlnaGVyXG4kZGFzaGJvYXJkX3NwYWNlLWJldHdlZW4tYm94ZXM6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vIE9yZGVyIHRhYmxlXG4kZGFzaGJvYXJkX3ByaWNlLWZvbnQtY29sb3I6ICRjb2xvcl90ZXh0LTUwMCAhZGVmYXVsdDtcblxuLiN7JG5zfWRhc2hib2FyZCB7XG4gICAgJHJvb3Q6ICY7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmX19jb2x1bW5zIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDRyZW0gMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2lkZWJhciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB3aWR0aDogMjMzcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21haW4ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBmbGV4OiAxO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwICRkYXNoYm9hcmRfc2lkZWJhci1tYWluLXNwYWNlO1xuXG4gICAgICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGFzLWRhcmtlci1iYWNrZ3JvdW5kID09IHRydWUpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAkZGFzaGJvYXJkX3NwYWNlLWJldHdlZW4tYm94ZXM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhLmFjdGlvbiB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX3ByaW1hcnktb3JhbmdlO1xuXG4gICAgICAgICAgICAmOnZpc2l0ZWQsXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9wcmltYXJ5LW9yYW5nZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRib2R5IHRkIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgfVxuICAgICAgICAudGFibGU6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0aGVhZCB0aCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RvcCB7XG4gICAgICAgIEBpZiAoJGRhc2hib2FyZF9oYXMtZGFya2VyLWJhY2tncm91bmQgPT0gZmFsc2UpIHtcbiAgICAgICAgICAgIEBpZiAoJGRhc2hib2FyZF9oaWRlLXNlY3Rpb25zLXNlcGFyYXRvcnMgPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgM3JlbTtcbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hpZGUtc2VjdGlvbnMtc2VwYXJhdG9ycyA9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxcmVtO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3BhZ2UtdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIEBpZiAoJGRhc2hib2FyZF9oYXMtZGFya2VyLWJhY2tncm91bmQgPT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1lc3NhZ2VzIHtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2UtdGl0bGUtd3JhcHBlciB7XG4gICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9ibGFjaztcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplX2hlYWRsaW5lLTE7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC42cHg7XG5cbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSBmYWxzZSkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDFyZW0gMDtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjY291bnQtd2VsY29tZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb2x1bW5zIC5jb2x1bW4ubWFpbiB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLm1lc3NhZ2UtZXJyb3IsXG4gICAgLm1lc3NhZ2Utc3VjY2VzcyxcbiAgICAubWVzc2FnZS1ub3RpY2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH1cblxuICAgIC5wYWdlLXRpdGxlLXdyYXBwZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZGFzaGJvYXJkX2JveGVzLWJhY2tncm91bmQ7XG5cbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSB0cnVlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZGFzaGJvYXJkX3NwYWNlLWJldHdlZW4tYm94ZXM7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZGFzaGJvYXJkX3NwYWNlLWJldHdlZW4tYm94ZXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ib3R0b20ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hpZGUtc2VjdGlvbnMtc2VwYXJhdG9ycyA9PSBmYWxzZSkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICAgICAgICBib3JkZXItdG9wOiAkZGFzaGJvYXJkX2JvdHRvbS1ib3JkZXItdG9wO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hpZGUtc2VjdGlvbnMtc2VwYXJhdG9ycyA9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX193aXNobGlzdCB7XG4gICAgICAgICYtbGluZSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX193aXNobGlzdC1wcm9kdWN0cy1ncmlkIHtcbiAgICAgICAgQGluY2x1ZGUgY29tcG9uZW50LXNwYWNpbmcoKTtcbiAgICB9XG5cbiAgICAmX19ib3R0b20td2lzaGxpc3Qge1xuICAgICAgICBAaW5jbHVkZSBjb21wb25lbnQtc3BhY2luZygpO1xuXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJi1pdGVtIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZUxnJykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzMuMzMlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZChuICsgNCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sb2dpbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ibG9jay10aXRsZSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDUwLjVyZW0gIWltcG9ydGFudFxuICAgICAgICB9XG5cbiAgICAgICAgJi1zZWN0aW9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhc2hib2FyZF9ib3hlcy1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgICAgICAgICAgIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICAgICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYmxvY2stY29udGVudCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgICAgICAgICAgIHAsIGRpdiB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuICsgMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGRhc2hib2FyZF9zcGFjZS1iZXR3ZWVuLWJveGVzO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAoI3skZGFzaGJvYXJkX3NwYWNlLWJldHdlZW4tYm94ZXN9IC8gMikpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuICsgMSkge1xuICAgICAgICAgICAgICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGFzLWRhcmtlci1iYWNrZ3JvdW5kID09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZGFzaGJvYXJkX3NwYWNlLWJldHdlZW4tYm94ZXM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgybiArIDIpIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkZGFzaGJvYXJkX3NwYWNlLWJldHdlZW4tYm94ZXM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1jb250YWN0LXBhZ2Uge1xuICAgICAgICAucGFnZS10aXRsZS13cmFwcGVyIHtcbiAgICAgICAgICAgIEBpZiAoJGRhc2hib2FyZF9oYXMtZGFya2VyLWJhY2tncm91bmQgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRkYXNoYm9hcmRfc3BhY2UtYmV0d2Vlbi1ib3hlcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRhY3QtZm9ybSB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZGFzaGJvYXJkX2JveGVzLWJhY2tncm91bmQ7XG5cbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSB0cnVlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZGFzaGJvYXJkX3NwYWNlLWJldHdlZW4tYm94ZXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBHZW5lcmFsIFVzZXIgQXJlYSBzdHlsZXNcblxuICAgIC5maWVsZHNldCxcbiAgICAuZm9ybSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDE1cmVtICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmZpZWxkc2V0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDUwLjVyZW0gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZmllbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgICAgICYubm90ZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZpZWxkLmNob2ljZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmxpbWl0ZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIHNlbGVjdCB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLXNlbGVjdCgpO1xuICAgIH1cblxuICAgIC5jaG9pY2Uge1xuICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGRhc2hib2FyZF9saW5rcy1mb250LXdlaWdodDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRhc2hib2FyZF9saW5rcy1mb250LXNpemU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmllbGQtbmFtZS1wcmVmaXgge1xuICAgICAgICBtYXgtd2lkdGg6IDEycmVtO1xuICAgIH1cblxuICAgIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByaW1hcnkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG5cbiAgICAgICAgPiBidXR0b24sXG4gICAgICAgIC5jcmVhdGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkZGFzaGJvYXJkLWJ1dHRvbl90eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJGRhc2hib2FyZC1idXR0b25faWNvbi1wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEzcmVtO1xuXG4gICAgICAgICAgICAud2lzaGxpc3QtaW5kZXgtaW5kZXggJiB7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkZGFzaGJvYXJkLWJ1dHRvbl90eXBlLFxuICAgICAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRkYXNoYm9hcmQtYnV0dG9uX2ljb24tcG9zXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gYnV0dG9uLmFjdGlvbi51cGRhdGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZW1pbmQsXG4gICAgLmJhY2sge1xuICAgICAgICBmb250LXNpemU6ICRkYXNoYm9hcmRfbGlua3MtZm9udC1zaXplO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjdyZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY29sb3I6ICRjb2xvcl9ibGFjaztcblxuICAgICAgICAmOnZpc2l0ZWR7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX2JsYWNrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvdW50ZXIge1xuICAgICAgICBmb250LXdlaWdodDogJGRhc2hib2FyZF9saW5rcy1mb250LXdlaWdodDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcmVtKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcoJztcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyknO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJsb2NrIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMXJlbSAwIDIuNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogJGRhc2hib2FyZF9ib3hlcy1iYWNrZ3JvdW5kO1xuICAgICAgICBwYWRkaW5nOiAkZGFzaGJvYXJkX2JveGVzLWlubmVyLXBhZGRpbmc7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSB0cnVlKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAkZGFzaGJvYXJkX3NwYWNlLWJldHdlZW4tYm94ZXM7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBtYXJnaW46IDEuNXJlbSAwIDRyZW07XG5cbiAgICAgICAgICAgIEBpZiAoJGRhc2hib2FyZF9oYXMtZGFya2VyLWJhY2tncm91bmQgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwICRkYXNoYm9hcmRfc3BhY2UtYmV0d2Vlbi1ib3hlcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ibG9jay10aXRsZSxcbiAgICAubGVnZW5kLFxuICAgIC5vcmRlci10aXRsZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRkYXNoYm9hcmRfaGVhZGxpbmUtYm9yZGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZGFzaGJvYXJkX2hlYWRsaW5lLW1hcmdpbi1ib3R0b207XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkZGFzaGJvYXJkX2hlYWRsaW5lLXBhZGRpbmctYm90dG9tO1xuICAgICAgICBmb250LXdlaWdodDogJGRhc2hib2FyZF9oZWFkbGluZS1mb250LXdlaWdodDtcbiAgICAgICAgZm9udC1zaXplOiAkZGFzaGJvYXJkX2hlYWRsaW5lLWZvbnQtc2l6ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hpZGUtdGl0bGVzLXNlcGFyYXRvcnMgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGRhc2hib2FyZF9oZWFkbGluZS1mb250LXdlaWdodDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS13cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmJsb2NrLXRpdGxlIGEge1xuICAgICAgICBmb250LXdlaWdodDogJGRhc2hib2FyZF9saW5rcy1mb250LXdlaWdodDtcbiAgICAgICAgZm9udC1zaXplOiAkZGFzaGJvYXJkX2hlYWRsaW5lLWxpbmstZm9udC1zaXplO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmJveC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRhc2hib2FyZF9ib3gtdGl0bGUtZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJGRhc2hib2FyZF9ib3gtdGl0bGUtZm9udC13ZWlnaHQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZGFzaGJvYXJkX2JveC10aXRsZS10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9ibGFjaztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgfVxuXG4gICAgLmJsb2NrLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luOiAxcmVtIDAgMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG5cbiAgICAgICAgLnNhbGVzLW9yZGVyLWhpc3RvcnkgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5uby1kaXNwbGF5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxvY2stbmV3LWN1c3RvbWVyIC5ibG9jay1jb250ZW50IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAuZmllbGRzZXQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ibG9jay1yZXdhcmQtaGlzdG9yeSB7XG4gICAgICAgIC4jeyRuc310b29sYmFyX19pdGVtLS1hbW91bnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFRoZXJlIGlzIG5vIG90aGVyIHdheSB0byByZW1vdmUgdG9wIHRvb2xiYXIgZWxlbWVudHNcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2VzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwLjdyZW0gMCAycmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC4jeyRuc310b29sYmFyX19pdGVtLS1saW1pdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ib3gtYWN0aW9ucyxcbiAgICAuYWN0aW9ucyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuXG4gICAgICAgIGEgKyBhIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMC43cmVtIDAgMC41cmVtO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICd8JztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA2cHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRkYXNoYm9hcmRfbGlua3MtZm9udC13ZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUYWJsZXMgbm90IHBsYWNlZCBpbnNpZGUgYm94IGluIG1hcmt1cFxuICAgIC50YWJsZS13cmFwcGVyLFxuICAgIC5vcmRlcnMtaGlzdG9yeSxcbiAgICAuZm9ybS13aXNobGlzdC1pdGVtcyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRkYXNoYm9hcmRfYm94ZXMtYmFja2dyb3VuZDtcblxuICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGFzLWRhcmtlci1iYWNrZ3JvdW5kID09IHRydWUpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmICsgLnRvb2xiYXIsXG4gICAgICAgICYgKyAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYXNoYm9hcmRfYm94ZXMtYmFja2dyb3VuZDtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRkYXNoYm9hcmRfYm94ZXMtaW5uZXItcGFkZGluZztcbiAgICAgICAgfVxuXG4gICAgICAgICYub3JkZXItaXRlbXMgKyAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmICsgLnRvb2xiYXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcmRlcnMtaGlzdG9yeSxcbiAgICAuZm9ybS13aXNobGlzdC1pdGVtcyxcbiAgICAucmV2aWV3cyxcbiAgICAudHJhbnNhY3Rpb25zIHtcbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSB0cnVlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZGFzaGJvYXJkX2JveGVzLWlubmVyLXBhZGRpbmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybS13aXNobGlzdC1pdGVtcyB7XG4gICAgICAgIC5hY3Rpb25zLXRvb2xiYXIgLnByaW1hcnkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgICAgICAuYWN0aW9uOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC4jeyRuc310b29sYmFyX19pdGVtLS1hbW91bnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC50b29sYmFyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIsXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLiN7JG5zfXRvb2xiYXJfX2l0ZW0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG5cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWFtb3VudCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgKyAuI3skbnN9dG9vbGJhcl9faXRlbS0tbGltaXRlciB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1saW1pdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMi41cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50b29sYmFyLWFtb3VudCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdlcyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5saW1pdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYud2lzaGxpc3QtdG9vbGJhciB7XG4gICAgICAgICAgICBiciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoJGRhc2hib2FyZF9oYXMtZGFya2VyLWJhY2tncm91bmQgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRkYXNoYm9hcmRfYm94ZXMtaW5uZXItcGFkZGluZztcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYXNoYm9hcmRfYm94ZXMtYmFja2dyb3VuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY3Rpb25zLXRvb2xiYXIgPiAuc2Vjb25kYXJ5IC5hY3Rpb24uYmFjayxcbiAgICAuc2Vjb25kYXJ5IC5hY3Rpb24uZWRpdC1lbWFpbC1wcmVmZXJlbmNlcyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmJveCxcbiAgICAuYWRkcmVzc2VzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmVMZycpIHtcbiAgICAgICAgICAgIHdpZHRoOiA0OSU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJveC1jb250ZW50LFxuICAgIC5hZGRyZXNzZXMgLml0ZW0ge1xuICAgICAgICBmb250LXdlaWdodDogJGRhc2hib2FyZF90ZXh0LWZvbnQtd2VpZ2h0O1xuICAgICAgICBjb2xvcjogJGRhc2hib2FyZF90ZXh0LWNvbG9yO1xuICAgICAgICBsaW5lLWhlaWdodDogJGRhc2hib2FyZF90ZXh0LWxpbmUtaGVpZ2h0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5ib3gtY29udGVudCB7XG4gICAgICAgIGFkZHJlc3Mge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9ib2R5LXRleHQ7XG5cbiAgICAgICAgICAgICAgICAmOnZpc2l0ZWQsXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfYm9keS10ZXh0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50b29sdGlwLndyYXBwZXIge1xuICAgICAgICBmb250LXNpemU6ICRkYXNoYm9hcmRfbGlua3MtZm9udC1zaXplO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICAgIH1cblxuICAgIC5jaG9pY2UucGVyc2lzdGVudCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gICAgfVxuXG4gICAgLy8gT3JkZXIgc2N0aW9uIGFuZCBwYWdlXG4gICAgLnRhYmxlLW9yZGVyLWl0ZW1zIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICAuI3skbnN9dGFibGVfX2NvbDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByaWNlLWV4Y2x1ZGluZy10YXgsXG4gICAgICAgICAgICAucHJpY2UtaW5jbHVkaW5nLXRheCxcbiAgICAgICAgICAgIC5pdGVtcy1xdHksXG4gICAgICAgICAgICAucHJvZHVjdC1pdGVtLW5hbWUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRhc2hib2FyZF9wcmljZS1mb250LWNvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuI3skbnN9Y2FydC1pdGVtX19vcHRpb25zLWxhYmVsIHtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJzonO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLiN7JG5zfXRhYmxlX19jb2wuc3VidG90YWwge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcmljZS1leGNsdWRpbmctdGF4IC5wcmljZSB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY3Rpb25zIHtcbiAgICAgICAgLnNhbGVzLW9yZGVyLXZpZXcgJiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm9yZGVyIHtcbiAgICAgICAgICAgIC5zYWxlcy1vcmRlci12aWV3ICYge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRkYXNoYm9hcmQtYnV0dG9uX3R5cGUsXG4gICAgICAgICAgICAgICAgICAgICRpY29uX3BvczogJGRhc2hib2FyZC1idXR0b25faWNvbi1wb3NcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRhc2hib2FyZC1idXR0b25fc21hbGwtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICAgICAgICAgICAgICR0eXBlOiAkZGFzaGJvYXJkLWJ1dHRvbl90eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkZGFzaGJvYXJkLWJ1dHRvbl9pY29uLXBvc1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmludCB7XG4gICAgICAgICAgICAuc2FsZXMtb3JkZXItdmlldyAmIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkZGFzaGJvYXJkLWJ1dHRvbl9zZWNvbmRhcnktdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkZGFzaGJvYXJkLWJ1dHRvbl9pY29uLXBvc1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZGFzaGJvYXJkLWJ1dHRvbl9zbWFsbC1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRkYXNoYm9hcmQtYnV0dG9uX3NlY29uZGFyeS10eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkZGFzaGJvYXJkLWJ1dHRvbl9pY29uLXBvc1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJldmlld3Mgc2VjdGlvbiBhbmQgcGFnZVxuICAgIC5ibG9jay1yZXZpZXdzLWRhc2hib2FyZCB7XG4gICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRkYXNoYm9hcmRfbGlua3MtZm9udC13ZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmF0aW5nLXJlc3VsdCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yYXRpbmctc3VtbWFyeS5pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLmN1c3RvbWVyLXJldmlldyB7XG4gICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgQGluY2x1ZGUgaGVhZGxpbmUoJGZvbnQtc2l6ZV9oZWFkbGluZS00KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZXZpZXctdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgaGVhZGxpbmUoJGZvbnQtc2l6ZV9oZWFkbGluZS00KTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tYWRkcmVzcy1lZGl0LFxuICAgIC5mb3JtLWVkaXQtYWNjb3VudCxcbiAgICAuZm9ybS1uZXdzbGV0dGVyLW1hbmFnZSxcbiAgICAucmV2aWV3cyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuICAgIC8vIEFkZHJlc3MgZm9ybXMgc2VjdGlvbnNcbiAgICAuZm9ybS5jcmVhdGUuYWNjb3VudCxcbiAgICAuZm9ybS1hZGRyZXNzLWVkaXQsXG4gICAgLmZvcm0tZWRpdC1hY2NvdW50LFxuICAgIC5mb3JtLnBhc3N3b3JkLnJlc2V0LFxuICAgIC5mb3JtLnNlbmQuY29uZmlybWF0aW9uLFxuICAgIC5mb3JtLnBhc3N3b3JkLmZvcmdldCxcbiAgICAjYXdfZ2lmdGNhcmRfX2NoZWNrX2NvZGVfZm9ybSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRkYXNoYm9hcmRfYm94ZXMtYmFja2dyb3VuZDtcbiAgICAgICAgcGFkZGluZzogJGRhc2hib2FyZF9ib3hlcy1pbm5lci1wYWRkaW5nO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgYnIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mdWxsbmFtZSB7XG4gICAgICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb250cm9sIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb24ucHJpbWFyeSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRkYXNoYm9hcmRfYnV0dG9uX2Zvcm1zLWZvbnQtc2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5iYWNrIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGRzZXQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZHNldC1mdWxsbmFtZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tZWRpdC1hY2NvdW50LFxuICAgIC5mb3JtLWFkZHJlc3MtZWRpdCB7XG4gICAgICAgIEBpZiAoJGRhc2hib2FyZF9oYXMtZGFya2VyLWJhY2tncm91bmQgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGRhc2hib2FyZF9zcGFjZS1iZXR3ZWVuLWJveGVzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFkZHJlc3NlcyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5ibG9jay1hZGRyZXNzZXMtbGlzdCB7XG4gICAgICAgIEBpZiAoJGRhc2hib2FyZF9oYXMtZGFya2VyLWJhY2tncm91bmQgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ibG9jay1hZGRyZXNzZXMtbGlzdCArIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZGFzaGJvYXJkX2JveGVzLWJhY2tncm91bmQ7XG5cbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSB0cnVlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwXG4gICAgICAgICAgICAgICAgJGRhc2hib2FyZF9ib3hlcy1pbm5lci1wYWRkaW5nXG4gICAgICAgICAgICAgICAgJGRhc2hib2FyZF9ib3hlcy1pbm5lci1wYWRkaW5nO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGRhc2hib2FyZF9zcGFjZS1iZXR3ZWVuLWJveGVzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJveC1iaWxsaW5nLWFkZHJlc3Mge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXdzbGV0dGVyIHNlY3Rpb25cbiAgICAuZm9ybS1uZXdzbGV0dGVyLW1hbmFnZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRkYXNoYm9hcmRfYm94ZXMtYmFja2dyb3VuZDtcblxuICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGFzLWRhcmtlci1iYWNrZ3JvdW5kID09IHRydWUpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRkYXNoYm9hcmRfYm94ZXMtaW5uZXItcGFkZGluZztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRkYXNoYm9hcmRfc3BhY2UtYmV0d2Vlbi1ib3hlcztcbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZHNldCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgJHR5cGU6ICRkYXNoYm9hcmQtYnV0dG9uX3R5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRkYXNoYm9hcmQtYnV0dG9uLWljb24tcG9zXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLXNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICR0eXBlOiAkZGFzaGJvYXJkLWJ1dHRvbl90eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkZGFzaGJvYXJkLWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgICZfX2J1dHRvbi1pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2ljb24oXG4gICAgICAgICAgICAkdHlwZTogJGRhc2hib2FyZC1idXR0b25fdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGRhc2hib2FyZC1idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAub3JkZXItZGV0YWlscy1pdGVtcy5vcmRlcmVkIHtcbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSB0cnVlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZGFzaGJvYXJkX2JveGVzLWlubmVyLXBhZGRpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhc2hib2FyZF9ib3hlcy1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hpZGUtc2VjdGlvbnMtc2VwYXJhdG9ycyA9PSB0cnVlKSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9yZGVyLWxpbmtzIHtcbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSB0cnVlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZGFzaGJvYXJkX2JveGVzLWlubmVyLXBhZGRpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICRkYXNoYm9hcmRfc3BhY2UtYmV0d2Vlbi1ib3hlcztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYXNoYm9hcmRfYm94ZXMtYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGRhc2hib2FyZF9oaWRlLXNlY3Rpb25zLXNlcGFyYXRvcnMgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLmNzLWZvcm0sIC5jcy1mb3JtX19maWVsZHNldCB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwOyB9XG5cbi5jcy1mb3JtX19maWVsZCArIC5jcy1mb3JtX19maWVsZCB7XG4gIG1hcmdpbi10b3A6IDFlbTsgfVxuXG4uY3MtZm9ybS0tZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjY7IH1cblxuLmNzLWZvcm1fX2J1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIjtcbiAgcGFkZGluZzogOHB4IDI1cHg7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHotaW5kZXg6IDU7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7IH1cbiAgLmNzLWZvcm1fX2J1dHRvbi5tZWRpdW0ge1xuICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAuY3MtZm9ybV9fYnV0dG9uLmxhcmdlIHtcbiAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgLmNzLWZvcm1fX2J1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1mb3JtX19idXR0b24sIC5jcy1mb3JtX19idXR0b246dmlzaXRlZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0OyB9XG4gICAgLmNzLWZvcm1fX2J1dHRvbiAqLCAuY3MtZm9ybV9fYnV0dG9uOnZpc2l0ZWQgKiB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgLmNzLWZvcm1fX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1mb3JtX19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtZm9ybV9fYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNzQ0MjsgfVxuICAgIC5jcy1mb3JtX19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1mb3JtX19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1mb3JtX19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAuY3MtZm9ybV9fYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC42NTtcbiAgICBjdXJzb3I6IGF1dG87IH1cblxuLmNzLWZvcm1fX2J1dHRvbi1zcGFuIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgei1pbmRleDogMTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICBwYWRkaW5nLXJpZ2h0OiA0ZW07IH1cblxuLmNzLWZvcm1fX2J1dHRvbi1pY29uIHtcbiAgbWF4LXdpZHRoOiAxZW07XG4gIG1heC1oZWlnaHQ6IDEuNHJlbTtcbiAgei1pbmRleDogMjtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICByaWdodDogMWVtOyB9XG5cbi5mb3JtLFxuLmZvcm0gLmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cblxuLmZvcm0gLmZpZWxkICsgLmZpZWxkIHtcbiAgbWFyZ2luLXRvcDogMWVtOyB9XG5cbi5jb250YWN0IC5maWVsZCAuY29udHJvbCA+IHRleHRhcmVhIHtcbiAgbWF4LWhlaWdodDogODBweDsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9taXhpbic7XG5cbiRmb3JtX2J1dHRvbi10eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSAhZGVmYXVsdDtcbiRmb3JtX2J1dHRvbi1pY29uLXBvczogJGJ1dHRvbl9kZWZhdWx0LWljb24tcG9zICFkZWZhdWx0O1xuXG4uI3skbnN9Zm9ybSB7XG4gICAgJixcbiAgICAmX19maWVsZHNldCB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgICZfX2ZpZWxkIHtcbiAgICAgICAgJiArICYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tZGlzYWJsZWQge1xuICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgJHR5cGU6ICRmb3JtX2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkZm9ybV9idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAmX19idXR0b24tc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgJHR5cGU6ICRmb3JtX2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkZm9ybV9idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAmX19idXR0b24taWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9pY29uKFxuICAgICAgICAgICAgJHR5cGU6ICRmb3JtX2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkZm9ybV9idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICB9XG59XG5cbi5mb3JtIHtcbiAgICAmLFxuICAgIC5maWVsZHNldCB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5maWVsZCB7XG4gICAgICAgICsgLmZpZWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNvbnRhY3Qge1xuICAgIC5maWVsZCAuY29udHJvbCA+IHRleHRhcmVhIHtcbiAgICAgICAgbWF4LWhlaWdodDogODBweDtcbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLnBhc3N3b3JkLXN0cmVuZ3RoLW1ldGVyIHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgYmFja2dyb3VuZC1zaXplOiAycmVtIDAuN3JlbTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiA1MCU7XG4gIGJhY2tncm91bmQtcG9zaXRpb24teDogY2FsYygxMDAlIC0gMXJlbSksIGNhbGMoMTAwJSAtICgyLjVyZW0gKyAxcmVtKSksIGNhbGMoMTAwJSAtICgyLjVyZW0gKiAyICsgMXJlbSkpLCBjYWxjKDEwMCUgLSAoMi41cmVtICogMyArIDFyZW0pKSwgY2FsYygxMDAlIC0gKDIuNXJlbSAqIDQgKyAxcmVtKSksIGNhbGMoMTAwJSAtICgyLjVyZW0gKiA1ICsgMXJlbSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvZm9ybXMvaWNvbi1wYXNzd29yZC1zdHJlbmd0aC1tZXRlci5zdmdcIiksIHVybChcIi4uL2ltYWdlcy9pY29ucy9mb3Jtcy9pY29uLXBhc3N3b3JkLXN0cmVuZ3RoLW1ldGVyLnN2Z1wiKSwgdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2Zvcm1zL2ljb24tcGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXIuc3ZnXCIpLCB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvZm9ybXMvaWNvbi1wYXNzd29yZC1zdHJlbmd0aC1tZXRlci5zdmdcIiksIHVybChcIi4uL2ltYWdlcy9pY29ucy9mb3Jtcy9pY29uLXBhc3N3b3JkLXN0cmVuZ3RoLW1ldGVyLnN2Z1wiKSwgdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2Zvcm1zL2ljb24tcGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXIuc3ZnXCIpOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAzOS45OWVtKSB7XG4gICAgLnBhc3N3b3JkLXN0cmVuZ3RoLW1ldGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIHBhZGRpbmc6IDAgMC41cmVtOyB9IH1cbiAgLnBhc3N3b3JkLXN0cmVuZ3RoLW1ldGVyOmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAucGFzc3dvcmQtd2VhayAucGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9mb3Jtcy9pY29uLXBhc3N3b3JkLXN0cmVuZ3RoLW1ldGVyLnN2Z1wiKSwgdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2Zvcm1zL2ljb24tcGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXIuc3ZnXCIpLCB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvZm9ybXMvaWNvbi1wYXNzd29yZC1zdHJlbmd0aC1tZXRlci5zdmdcIiksIHVybChcIi4uL2ltYWdlcy9pY29ucy9mb3Jtcy9pY29uLXBhc3N3b3JkLXN0cmVuZ3RoLW1ldGVyLnN2Z1wiKSwgdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2Zvcm1zL2ljb24tcGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXItd2Vhay5zdmdcIiksIHVybChcIi4uL2ltYWdlcy9pY29ucy9mb3Jtcy9pY29uLXBhc3N3b3JkLXN0cmVuZ3RoLW1ldGVyLXdlYWsuc3ZnXCIpOyB9XG4gIC5wYXNzd29yZC1tZWRpdW0gLnBhc3N3b3JkLXN0cmVuZ3RoLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvZm9ybXMvaWNvbi1wYXNzd29yZC1zdHJlbmd0aC1tZXRlci5zdmdcIiksIHVybChcIi4uL2ltYWdlcy9pY29ucy9mb3Jtcy9pY29uLXBhc3N3b3JkLXN0cmVuZ3RoLW1ldGVyLnN2Z1wiKSwgdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2Zvcm1zL2ljb24tcGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXIuc3ZnXCIpLCB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvZm9ybXMvaWNvbi1wYXNzd29yZC1zdHJlbmd0aC1tZXRlci1tZWRpdW0uc3ZnXCIpLCB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvZm9ybXMvaWNvbi1wYXNzd29yZC1zdHJlbmd0aC1tZXRlci1tZWRpdW0uc3ZnXCIpLCB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvZm9ybXMvaWNvbi1wYXNzd29yZC1zdHJlbmd0aC1tZXRlci1tZWRpdW0uc3ZnXCIpOyB9XG4gIC5wYXNzd29yZC1zdHJvbmcgLnBhc3N3b3JkLXN0cmVuZ3RoLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvZm9ybXMvaWNvbi1wYXNzd29yZC1zdHJlbmd0aC1tZXRlci5zdmdcIiksIHVybChcIi4uL2ltYWdlcy9pY29ucy9mb3Jtcy9pY29uLXBhc3N3b3JkLXN0cmVuZ3RoLW1ldGVyLXN0cm9uZy5zdmdcIiksIHVybChcIi4uL2ltYWdlcy9pY29ucy9mb3Jtcy9pY29uLXBhc3N3b3JkLXN0cmVuZ3RoLW1ldGVyLXN0cm9uZy5zdmdcIiksIHVybChcIi4uL2ltYWdlcy9pY29ucy9mb3Jtcy9pY29uLXBhc3N3b3JkLXN0cmVuZ3RoLW1ldGVyLXN0cm9uZy5zdmdcIiksIHVybChcIi4uL2ltYWdlcy9pY29ucy9mb3Jtcy9pY29uLXBhc3N3b3JkLXN0cmVuZ3RoLW1ldGVyLXN0cm9uZy5zdmdcIiksIHVybChcIi4uL2ltYWdlcy9pY29ucy9mb3Jtcy9pY29uLXBhc3N3b3JkLXN0cmVuZ3RoLW1ldGVyLXN0cm9uZy5zdmdcIik7IH1cbiAgLnBhc3N3b3JkLXZlcnktc3Ryb25nIC5wYXNzd29yZC1zdHJlbmd0aC1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2Zvcm1zL2ljb24tcGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXItdmVyeS1zdHJvbmcuc3ZnXCIpLCB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvZm9ybXMvaWNvbi1wYXNzd29yZC1zdHJlbmd0aC1tZXRlci12ZXJ5LXN0cm9uZy5zdmdcIiksIHVybChcIi4uL2ltYWdlcy9pY29ucy9mb3Jtcy9pY29uLXBhc3N3b3JkLXN0cmVuZ3RoLW1ldGVyLXZlcnktc3Ryb25nLnN2Z1wiKSwgdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2Zvcm1zL2ljb24tcGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXItdmVyeS1zdHJvbmcuc3ZnXCIpLCB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvZm9ybXMvaWNvbi1wYXNzd29yZC1zdHJlbmd0aC1tZXRlci12ZXJ5LXN0cm9uZy5zdmdcIiksIHVybChcIi4uL2ltYWdlcy9pY29ucy9mb3Jtcy9pY29uLXBhc3N3b3JkLXN0cmVuZ3RoLW1ldGVyLXZlcnktc3Ryb25nLnN2Z1wiKTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMzkuOTllbSkge1xuICAgIC5wYXNzd29yZC1zdHJlbmd0aC1tZXRlciB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEuNXJlbSAwLjVyZW07XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoMTAwJSAtIDFyZW0pLCBjYWxjKCAxMDAlIC0gKCAxLjdyZW0gKyAxcmVtICkpLCBjYWxjKCAxMDAlIC0gKCAxLjdyZW0gKiAyICsgMXJlbSApKSwgY2FsYyggMTAwJSAtICggMS43cmVtICogMyArIDFyZW0gKSksIGNhbGMoIDEwMCUgLSAoIDEuN3JlbSAqIDQgKyAxcmVtICkpLCBjYWxjKCAxMDAlIC0gKCAxLjdyZW0gKiA1ICsgMXJlbSApKTsgfSB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbiRwYXNzd29yZC1zdHJlbmd0aF9pY29uLXdpZHRoOiAycmVtICFkZWZhdWx0O1xuJHBhc3N3b3JkLXN0cmVuZ3RoX2ljb24taGVpZ2h0OiAwLjdyZW0gIWRlZmF1bHQ7XG4kcGFzc3dvcmQtc3RyZW5ndGhfaWNvbnMtc3BhY2U6IDAuNXJlbSAhZGVmYXVsdDtcblxuJHBhc3N3b3JkLXN0cmVuZ3RoX2ljb24td2lkdGgtc21hbGwtbW9iaWxlOiAxLjVyZW0gIWRlZmF1bHQ7XG4kcGFzc3dvcmQtc3RyZW5ndGhfaWNvbi1oZWlnaHQtc21hbGwtbW9iaWxlOiAwLjVyZW0gIWRlZmF1bHQ7XG4kcGFzc3dvcmQtc3RyZW5ndGhfaWNvbnMtc3BhY2Utc21hbGwtbW9iaWxlOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbiRwYXNzd29yZC1zdHJlbmd0aF9iYWNrZ3JvdW5kLWNvbG9yOiBpbml0aWFsICFkZWZhdWx0O1xuJHBhc3N3b3JkLXN0cmVuZ3RoX2JvcmRlcjogbm9uZSAhZGVmYXVsdDtcblxuJHBhc3N3b3JkLXN0cmVuZ3RoX2NvbWJpbmVkLWljb24td2lkdGg6ICRwYXNzd29yZC1zdHJlbmd0aF9pY29uLXdpZHRoICtcbiAgICAkcGFzc3dvcmQtc3RyZW5ndGhfaWNvbnMtc3BhY2U7XG4kcGFzc3dvcmQtc3RyZW5ndGhfY29tYmluZWQtaWNvbi13aWR0aC1zbWFsbC1tb2JpbGU6ICRwYXNzd29yZC1zdHJlbmd0aF9pY29uLXdpZHRoLXNtYWxsLW1vYmlsZSArXG4gICAgJHBhc3N3b3JkLXN0cmVuZ3RoX2ljb25zLXNwYWNlLXNtYWxsLW1vYmlsZTtcblxuLy8gT3JpZ2luYWwgTWFnZW50byBjbGFzcyBpcyBsZWZ0IGZvciB0aGlzIGNvbXBvbmVudFxuLy9cbi5wYXNzd29yZC1zdHJlbmd0aC1tZXRlciB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhc3N3b3JkLXN0cmVuZ3RoX2JhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyOiAkcGFzc3dvcmQtc3RyZW5ndGhfYm9yZGVyO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lTGcnKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgcGFkZGluZzogMCAwLjVyZW07XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQtc2l6ZTogJHBhc3N3b3JkLXN0cmVuZ3RoX2ljb24td2lkdGhcbiAgICAgICAgJHBhc3N3b3JkLXN0cmVuZ3RoX2ljb24taGVpZ2h0O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiA1MCU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKDEwMCUgLSAxcmVtKSxcbiAgICAgICAgY2FsYygxMDAlIC0gKCN7JHBhc3N3b3JkLXN0cmVuZ3RoX2NvbWJpbmVkLWljb24td2lkdGh9ICsgMXJlbSkpLFxuICAgICAgICBjYWxjKDEwMCUgLSAoI3skcGFzc3dvcmQtc3RyZW5ndGhfY29tYmluZWQtaWNvbi13aWR0aH0gKiAyICsgMXJlbSkpLFxuICAgICAgICBjYWxjKDEwMCUgLSAoI3skcGFzc3dvcmQtc3RyZW5ndGhfY29tYmluZWQtaWNvbi13aWR0aH0gKiAzICsgMXJlbSkpLFxuICAgICAgICBjYWxjKDEwMCUgLSAoI3skcGFzc3dvcmQtc3RyZW5ndGhfY29tYmluZWQtaWNvbi13aWR0aH0gKiA0ICsgMXJlbSkpLFxuICAgICAgICBjYWxjKDEwMCUgLSAoI3skcGFzc3dvcmQtc3RyZW5ndGhfY29tYmluZWQtaWNvbi13aWR0aH0gKiA1ICsgMXJlbSkpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb25zL2Zvcm1zL2ljb24tcGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXIuc3ZnJyksXG4gICAgICAgIHVybCgnLi4vaW1hZ2VzL2ljb25zL2Zvcm1zL2ljb24tcGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXIuc3ZnJyksXG4gICAgICAgIHVybCgnLi4vaW1hZ2VzL2ljb25zL2Zvcm1zL2ljb24tcGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXIuc3ZnJyksXG4gICAgICAgIHVybCgnLi4vaW1hZ2VzL2ljb25zL2Zvcm1zL2ljb24tcGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXIuc3ZnJyksXG4gICAgICAgIHVybCgnLi4vaW1hZ2VzL2ljb25zL2Zvcm1zL2ljb24tcGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXIuc3ZnJyksXG4gICAgICAgIHVybCgnLi4vaW1hZ2VzL2ljb25zL2Zvcm1zL2ljb24tcGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXIuc3ZnJyk7XG5cbiAgICAucGFzc3dvcmQtd2VhayAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbnMvZm9ybXMvaWNvbi1wYXNzd29yZC1zdHJlbmd0aC1tZXRlci5zdmcnKSxcbiAgICAgICAgICAgIHVybCgnLi4vaW1hZ2VzL2ljb25zL2Zvcm1zL2ljb24tcGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXIuc3ZnJyksXG4gICAgICAgICAgICB1cmwoJy4uL2ltYWdlcy9pY29ucy9mb3Jtcy9pY29uLXBhc3N3b3JkLXN0cmVuZ3RoLW1ldGVyLnN2ZycpLFxuICAgICAgICAgICAgdXJsKCcuLi9pbWFnZXMvaWNvbnMvZm9ybXMvaWNvbi1wYXNzd29yZC1zdHJlbmd0aC1tZXRlci5zdmcnKSxcbiAgICAgICAgICAgIHVybCgnLi4vaW1hZ2VzL2ljb25zL2Zvcm1zL2ljb24tcGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXItd2Vhay5zdmcnKSxcbiAgICAgICAgICAgIHVybCgnLi4vaW1hZ2VzL2ljb25zL2Zvcm1zL2ljb24tcGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXItd2Vhay5zdmcnKTtcbiAgICB9XG5cbiAgICAucGFzc3dvcmQtbWVkaXVtICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy9mb3Jtcy9pY29uLXBhc3N3b3JkLXN0cmVuZ3RoLW1ldGVyLnN2ZycpLFxuICAgICAgICAgICAgdXJsKCcuLi9pbWFnZXMvaWNvbnMvZm9ybXMvaWNvbi1wYXNzd29yZC1zdHJlbmd0aC1tZXRlci5zdmcnKSxcbiAgICAgICAgICAgIHVybCgnLi4vaW1hZ2VzL2ljb25zL2Zvcm1zL2ljb24tcGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXIuc3ZnJyksXG4gICAgICAgICAgICB1cmwoJy4uL2ltYWdlcy9pY29ucy9mb3Jtcy9pY29uLXBhc3N3b3JkLXN0cmVuZ3RoLW1ldGVyLW1lZGl1bS5zdmcnKSxcbiAgICAgICAgICAgIHVybCgnLi4vaW1hZ2VzL2ljb25zL2Zvcm1zL2ljb24tcGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXItbWVkaXVtLnN2ZycpLFxuICAgICAgICAgICAgdXJsKCcuLi9pbWFnZXMvaWNvbnMvZm9ybXMvaWNvbi1wYXNzd29yZC1zdHJlbmd0aC1tZXRlci1tZWRpdW0uc3ZnJyk7XG4gICAgfVxuXG4gICAgLnBhc3N3b3JkLXN0cm9uZyAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbnMvZm9ybXMvaWNvbi1wYXNzd29yZC1zdHJlbmd0aC1tZXRlci5zdmcnKSxcbiAgICAgICAgICAgIHVybCgnLi4vaW1hZ2VzL2ljb25zL2Zvcm1zL2ljb24tcGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXItc3Ryb25nLnN2ZycpLFxuICAgICAgICAgICAgdXJsKCcuLi9pbWFnZXMvaWNvbnMvZm9ybXMvaWNvbi1wYXNzd29yZC1zdHJlbmd0aC1tZXRlci1zdHJvbmcuc3ZnJyksXG4gICAgICAgICAgICB1cmwoJy4uL2ltYWdlcy9pY29ucy9mb3Jtcy9pY29uLXBhc3N3b3JkLXN0cmVuZ3RoLW1ldGVyLXN0cm9uZy5zdmcnKSxcbiAgICAgICAgICAgIHVybCgnLi4vaW1hZ2VzL2ljb25zL2Zvcm1zL2ljb24tcGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXItc3Ryb25nLnN2ZycpLFxuICAgICAgICAgICAgdXJsKCcuLi9pbWFnZXMvaWNvbnMvZm9ybXMvaWNvbi1wYXNzd29yZC1zdHJlbmd0aC1tZXRlci1zdHJvbmcuc3ZnJyk7XG4gICAgfVxuXG4gICAgLnBhc3N3b3JkLXZlcnktc3Ryb25nICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy9mb3Jtcy9pY29uLXBhc3N3b3JkLXN0cmVuZ3RoLW1ldGVyLXZlcnktc3Ryb25nLnN2ZycpLFxuICAgICAgICAgICAgdXJsKCcuLi9pbWFnZXMvaWNvbnMvZm9ybXMvaWNvbi1wYXNzd29yZC1zdHJlbmd0aC1tZXRlci12ZXJ5LXN0cm9uZy5zdmcnKSxcbiAgICAgICAgICAgIHVybCgnLi4vaW1hZ2VzL2ljb25zL2Zvcm1zL2ljb24tcGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXItdmVyeS1zdHJvbmcuc3ZnJyksXG4gICAgICAgICAgICB1cmwoJy4uL2ltYWdlcy9pY29ucy9mb3Jtcy9pY29uLXBhc3N3b3JkLXN0cmVuZ3RoLW1ldGVyLXZlcnktc3Ryb25nLnN2ZycpLFxuICAgICAgICAgICAgdXJsKCcuLi9pbWFnZXMvaWNvbnMvZm9ybXMvaWNvbi1wYXNzd29yZC1zdHJlbmd0aC1tZXRlci12ZXJ5LXN0cm9uZy5zdmcnKSxcbiAgICAgICAgICAgIHVybCgnLi4vaW1hZ2VzL2ljb25zL2Zvcm1zL2ljb24tcGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXItdmVyeS1zdHJvbmcuc3ZnJyk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZUxnJykge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRwYXNzd29yZC1zdHJlbmd0aF9pY29uLXdpZHRoLXNtYWxsLW1vYmlsZVxuICAgICAgICAgICAgJHBhc3N3b3JkLXN0cmVuZ3RoX2ljb24taGVpZ2h0LXNtYWxsLW1vYmlsZTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKDEwMCUgLSAxcmVtKSxcbiAgICAgICAgICAgIGNhbGMoXG4gICAgICAgICAgICAgICAgMTAwJSAtXG4gICAgICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgICAgICN7JHBhc3N3b3JkLXN0cmVuZ3RoX2NvbWJpbmVkLWljb24td2lkdGgtc21hbGwtbW9iaWxlfSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgMXJlbVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgY2FsYyhcbiAgICAgICAgICAgICAgICAxMDAlIC1cbiAgICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgI3skcGFzc3dvcmQtc3RyZW5ndGhfY29tYmluZWQtaWNvbi13aWR0aC1zbWFsbC1tb2JpbGV9ICpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAyICsgMXJlbVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgY2FsYyhcbiAgICAgICAgICAgICAgICAxMDAlIC1cbiAgICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgI3skcGFzc3dvcmQtc3RyZW5ndGhfY29tYmluZWQtaWNvbi13aWR0aC1zbWFsbC1tb2JpbGV9ICpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAzICsgMXJlbVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgY2FsYyhcbiAgICAgICAgICAgICAgICAxMDAlIC1cbiAgICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgI3skcGFzc3dvcmQtc3RyZW5ndGhfY29tYmluZWQtaWNvbi13aWR0aC1zbWFsbC1tb2JpbGV9ICpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA0ICsgMXJlbVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgY2FsYyhcbiAgICAgICAgICAgICAgICAxMDAlIC1cbiAgICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgI3skcGFzc3dvcmQtc3RyZW5ndGhfY29tYmluZWQtaWNvbi13aWR0aC1zbWFsbC1tb2JpbGV9ICpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA1ICsgMXJlbVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLXJldmlldyB7XG4gIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gIC5jcy1yZXZpZXdfX3RpdGxlIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbjogMCAwIDAuN3JlbTtcbiAgICBjb2xvcjogIzIxMjEyMTsgfVxuICAuY3MtcmV2aWV3X19yYXRpbmcsIC5jcy1yZXZpZXdfX3JhdGluZ3Mge1xuICAgIG1hcmdpbjogMCAwIDJyZW07XG4gICAgcGFkZGluZzogMDsgfVxuICAuY3MtcmV2aWV3X19jb21wb3VuZC1yYXRpbmcge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXgtd2lkdGg6IDIwcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuM2VtOyB9XG4gICAgLmNzLXJldmlld19fY29tcG91bmQtcmF0aW5nOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY3MtcmV2aWV3X19tZXRhIHtcbiAgICBtYXJnaW46IDAgMCAycmVtO1xuICAgIGZvbnQtc2l6ZTogMC45ZW07IH1cbiAgLmNzLXJldmlld19fbWV0YS1pdGVtIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkY2RjZGM7IH1cbiAgICAuY3MtcmV2aWV3X19tZXRhLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgLmNzLXJldmlld19fbWV0YS1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9XG4gIC5jcy1yZXZpZXdfX2F1dGhvciB7XG4gICAgY29sb3I6ICMyMTIxMjE7IH1cbiAgLmNzLXJldmlld19fZGF0ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC00cHg7XG4gICAgY29sb3I6ICMzRTNFM0U7IH1cbiAgLmNzLXJldmlld19fY29udGVudCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjM0UzRTNFOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcblxuJHJldmlld19mb250LXNpemU6IDEuNHJlbSAhZGVmYXVsdDtcbiRyZXZpZXdfdGl0bGUtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcbiRyZXZpZXdfdGl0bGUtY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRyZXZpZXdfYXV0aG9yLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kcmV2aWV3X2NvbnRlbnQtY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcbiRyZXZpZXdfZGF0ZS1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJHJldmlld19tZXRhLWl0ZW0tZm9udC1zaXplOiAwLjllbSAhZGVmYXVsdDtcbiRyZXZpZXdfbWV0YS1pdGVtLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJHJldmlld19oaWRlLWNvbXBvdW5kLXJhdGluZ3M6IGZhbHNlICFkZWZhdWx0O1xuXG4uI3skbnN9cmV2aWV3IHtcbiAgICBmb250LXNpemU6ICRyZXZpZXdfZm9udC1zaXplO1xuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBmb250LXdlaWdodDogJHJldmlld190aXRsZS1mb250LXdlaWdodDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC43cmVtO1xuICAgICAgICBjb2xvcjogJHJldmlld190aXRsZS1jb2xvcjtcbiAgICB9XG5cbiAgICAmX19yYXRpbmcsXG4gICAgJl9fcmF0aW5ncyB7XG4gICAgICAgIG1hcmdpbjogMCAwIDJyZW07XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgJl9fY29tcG91bmQtcmF0aW5nIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1heC13aWR0aDogMjByZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuM2VtO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICgkcmV2aWV3X2hpZGUtY29tcG91bmQtcmF0aW5ncykge1xuICAgICAgICAmX19jb21wb3VuZC1yYXRpbmcge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgJiAuY3Mtc3Rhci1yYXRpbmdfX2xhYmVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fb3ZlcmFsbC1yYXRpbmcge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21ldGEge1xuICAgICAgICBtYXJnaW46IDAgMCAycmVtO1xuICAgICAgICBmb250LXNpemU6ICRyZXZpZXdfbWV0YS1pdGVtLWZvbnQtc2l6ZTtcbiAgICB9XG5cbiAgICAmX19tZXRhLWl0ZW0ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgIGJvcmRlci1yaWdodDogJHJldmlld19tZXRhLWl0ZW0tYm9yZGVyO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2F1dGhvciB7XG4gICAgICAgIGNvbG9yOiAkcmV2aWV3X2F1dGhvci1jb2xvcjtcbiAgICB9XG5cbiAgICAmX19kYXRlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC00cHg7XG4gICAgICAgIGNvbG9yOiAkcmV2aWV3X2RhdGUtY29sb3I7XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgY29sb3I6ICRyZXZpZXdfY29udGVudC1jb2xvcjtcbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBSYWRpbyBhbmQgY2hlY2tib3ggc3R5bGluZyAqL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLXJldmlld3Mge1xuICBmbGV4OiAxIDEgMDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgIC5pZTExIC5jcy1yZXZpZXdzIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgIC5jcy1yZXZpZXdzIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjOyB9IH1cbiAgLmNzLXJldmlld3NfX3RpdGxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1yZXZpZXdzX190aXRsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuY3MtcmV2aWV3c19fbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAuY3MtcmV2aWV3c19fbGFiZWwge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGxpbmUtaGVpZ2h0OiA0cmVtOyB9XG4gIC5jcy1yZXZpZXdzX19pdGVtIHtcbiAgICBwYWRkaW5nOiAwIDAgMi41cmVtO1xuICAgIG1hcmdpbjogMCAwIDIuNXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLmNzLXJldmlld3NfX2l0ZW06bGFzdC1vZi10eXBlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jcy1yZXZpZXdzX19mb3JtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWFyZ2luOiAyLjVyZW0gMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtcmV2aWV3c19fZm9ybSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmMGYwZjA7XG4gICAgICAgIHBhZGRpbmc6IDNyZW07IH0gfVxuICAuY3MtcmV2aWV3c19faGVhZGxpbmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDEuNGVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1zaXplOiAxLjhyZW07IH1cbiAgLmNzLXJldmlld3NfX3Byb2R1Y3QtbmFtZSB7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDsgfVxuICAuY3MtcmV2aWV3c19fcmF0aW5nLWl0ZW06bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgbWFyZ2luLXRvcDogMWVtOyB9XG4gIC5jcy1yZXZpZXdzX19yYXRpbmdzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1yZXZpZXdzX19yYXRpbmdzIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RjZGNkYzsgfSB9XG4gIC5jcy1yZXZpZXdzX19maWVsZHNldCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1yZXZpZXdzX19maWVsZHNldCB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfSB9XG4gIC5jcy1yZXZpZXdzX19zdWJtaXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1yZXZpZXdzX19zdWJtaXQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gIC5jcy1yZXZpZXdzX19zdWJtaXQtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gICAgcGFkZGluZzogOHB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7IH1cbiAgICAuY3MtcmV2aWV3c19fc3VibWl0LWJ1dHRvbi5tZWRpdW0ge1xuICAgICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICAuY3MtcmV2aWV3c19fc3VibWl0LWJ1dHRvbi5sYXJnZSB7XG4gICAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAgIC5jcy1yZXZpZXdzX19zdWJtaXQtYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtcmV2aWV3c19fc3VibWl0LWJ1dHRvbiwgLmNzLXJldmlld3NfX3N1Ym1pdC1idXR0b246dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDsgfVxuICAgICAgLmNzLXJldmlld3NfX3N1Ym1pdC1idXR0b24gKiwgLmNzLXJldmlld3NfX3N1Ym1pdC1idXR0b246dmlzaXRlZCAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAuY3MtcmV2aWV3c19fc3VibWl0LWJ1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1yZXZpZXdzX19zdWJtaXQtYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLXJldmlld3NfX3N1Ym1pdC1idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY3NDQyOyB9XG4gICAgICAuY3MtcmV2aWV3c19fc3VibWl0LWJ1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLXJldmlld3NfX3N1Ym1pdC1idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1yZXZpZXdzX19zdWJtaXQtYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICAgLmNzLXJldmlld3NfX3N1Ym1pdC1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IGF1dG87IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgLmNzLXJldmlld3NfX3N1Ym1pdC1idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5jcy1yZXZpZXdzX19yYXRpbmctY29udHJvbCB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgcGFkZGluZzogMTFweCAxMHB4O1xuICAgIGhlaWdodDogMS4yNzVlbTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBtYXJnaW46IDAgMCAwLjJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNzLXJldmlld3NfX3JhdGUtc3RhcnMge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgb3JkZXI6IDA7IH1cbiAgLmNzLXJldmlld3NfX3JhdGUtZmVlZGJhY2sge1xuICAgIG9yZGVyOiAxO1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjllbTtcbiAgICBjb2xvcjogIzNFM0UzRTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jcy1yZXZpZXdzX19yZXZpZXctZmllbGQge1xuICAgIG1pbi1oZWlnaHQ6IDEwcmVtO1xuICAgIHJlc2l6ZTogdmVydGljYWw7IH1cbiAgLmNzLXJldmlld3MgLmNzLXBhZ2luYXRpb25fX2NvbnRlbnQge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMi41cmVtIDA7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9maWVsZC9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9taXhpbic7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG4kcmV2aWV3cy1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRyZXZpZXdzLXNwYWNpbmc6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8gUmV2aWV3cyBmb3JtIHN0eWxpbmdcbiRyZXZpZXdzX2Zvcm0tcGFkZGluZy1kZXNrdG9wOiAzcmVtICFkZWZhdWx0O1xuJHJldmlld3NfZm9ybS10d28tY29sdW1ucy1kZXNrdG9wOiB0cnVlICFkZWZhdWx0O1xuJHJldmlld3NfZm9ybS10d28tY29sdW1ucy1zcGFjaW5nOiAkcmV2aWV3c19mb3JtLXBhZGRpbmctZGVza3RvcCAhZGVmYXVsdDtcbiRyZXZpZXdzX2Zvcm0tYmFja2dyb3VuZC1kZXNrdG9wOiAkY29sb3JfYmFja2dyb3VuZC01MDAgIWRlZmF1bHQ7XG5cbiRyZXZpZXdzX2Zvcm0tYnV0dG9uLWFsaWduOiBmbGV4LXN0YXJ0ICFkZWZhdWx0O1xuJHJldmlld3NfZm9ybS1idXR0b24tYWxpZ24tZGVza3RvcDogY2VudGVyICFkZWZhdWx0O1xuJHJldmlld3NfZm9ybS1oZWFkbGluZS1mb250LXNpemU6ICRmb250LXNpemVfaGVhZGxpbmUtMyAhZGVmYXVsdDtcbiRyZXZpZXdzX2Zvcm0tcHJvZHVjdC1uYW1lLWZvbnQtd2VpZ2h0OiAyMDAgIWRlZmF1bHQ7XG4kcmV2aWV3c19mb3JtLXJhdGluZy1jb250cm9sLXBhZGRpbmc6ICRmaWVsZF9pbnB1dC1wYWRkaW5nICFkZWZhdWx0O1xuJHJldmlld3NfZm9ybS1yYXRpbmctY29udHJvbC1jb250ZW50LWhlaWdodDogJGZpZWxkX2lucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJHJldmlld3NfZm9ybS1yYXRpbmctY29udHJvbC1ib3JkZXI6ICRmaWVsZF9pbnB1dC1ib3JkZXIgIWRlZmF1bHQ7XG4kcmV2aWV3c19mb3JtLXJhdGluZy1jb250cm9sLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHJldmlld3NfZm9ybS1mZWRiYWNrLXRleHQtY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcbiRyZXZpZXdzX2Zvcm0tZmVkYmFjay1mb250LXNpemU6IDAuODVlbSAhZGVmYXVsdDtcblxuJHJldmlld3NfZm9ybS1zdWJtaXQtYnV0dG9uLXR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJHJldmlld3NfZm9ybS1zdWJtaXQtYnV0dG9uLWljb24tcG9zOiAnbm8taWNvbicgIWRlZmF1bHQ7XG5cbi4jeyRuc31yZXZpZXdzIHtcbiAgICBmbGV4OiAxIDEgMDtcblxuICAgIC5pZTExICYge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJHJldmlld3MtYm9yZGVyO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2dhbGxlcnk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgICZfX2xhYmVsIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0cmVtO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBwYWRkaW5nOiAwIDAgJHJldmlld3Mtc3BhY2luZztcbiAgICAgICAgbWFyZ2luOiAwIDAgJHJldmlld3Mtc3BhY2luZztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJHJldmlld3MtYm9yZGVyO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZm9ybSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBtYXJnaW46ICRyZXZpZXdzLXNwYWNpbmcgMDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcmV2aWV3c19mb3JtLWJhY2tncm91bmQtZGVza3RvcDtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRyZXZpZXdzX2Zvcm0tcGFkZGluZy1kZXNrdG9wO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVhZGxpbmUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS40ZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJHJldmlld3NfZm9ybS1oZWFkbGluZS1mb250LXNpemU7XG4gICAgfVxuXG4gICAgJl9fcHJvZHVjdC1uYW1lIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRyZXZpZXdzX2Zvcm0tcHJvZHVjdC1uYW1lLWZvbnQtd2VpZ2h0O1xuICAgIH1cblxuICAgICZfX3JhdGluZy1pdGVtOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgfVxuXG4gICAgJl9fcmF0aW5ncyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgICAgICAgZm9udC1zaXplOiAkZmllbGRfZm9udC1zaXplO1xuXG4gICAgICAgIEBpZiAoJHJldmlld3NfZm9ybS10d28tY29sdW1ucy1kZXNrdG9wKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcmV2aWV3c19mb3JtLXR3by1jb2x1bW5zLXNwYWNpbmc7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAkcmV2aWV3cy1ib3JkZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19maWVsZHNldCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgICBAaWYgKCRyZXZpZXdzX2Zvcm0tdHdvLWNvbHVtbnMtZGVza3RvcCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkcmV2aWV3c19mb3JtLXR3by1jb2x1bW5zLXNwYWNpbmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdWJtaXQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiAkcmV2aWV3c19mb3JtLWJ1dHRvbi1hbGlnbjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRyZXZpZXdzX2Zvcm0tYnV0dG9uLWFsaWduLWRlc2t0b3A7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdWJtaXQtYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgJHR5cGU6ICRyZXZpZXdzX2Zvcm0tc3VibWl0LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkcmV2aWV3c19mb3JtLXN1Ym1pdC1idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19yYXRpbmctY29udHJvbCB7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBib3JkZXI6ICRyZXZpZXdzX2Zvcm0tcmF0aW5nLWNvbnRyb2wtYm9yZGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlO1xuICAgICAgICBwYWRkaW5nOiAkcmV2aWV3c19mb3JtLXJhdGluZy1jb250cm9sLXBhZGRpbmc7XG4gICAgICAgIGhlaWdodDogJHJldmlld3NfZm9ybS1yYXRpbmctY29udHJvbC1jb250ZW50LWhlaWdodDtcbiAgICAgICAgYmFja2dyb3VuZDogJHJldmlld3NfZm9ybS1yYXRpbmctY29udHJvbC1iYWNrZ3JvdW5kO1xuICAgICAgICBtYXJnaW46IDAgMCAwLjJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19yYXRlLXN0YXJzIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3JkZXI6IDA7XG4gICAgfVxuXG4gICAgJl9fcmF0ZS1mZWVkYmFjayB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBmb250LXNpemU6ICRyZXZpZXdzX2Zvcm0tZmVkYmFjay1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwLjllbTtcbiAgICAgICAgY29sb3I6ICRyZXZpZXdzX2Zvcm0tZmVkYmFjay10ZXh0LWNvbG9yO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMS41cmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgICZfX3Jldmlldy1maWVsZCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwcmVtO1xuICAgICAgICByZXNpemU6IHZlcnRpY2FsO1xuICAgIH1cblxuICAgIC5jcy1wYWdpbmF0aW9uX19jb250ZW50IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogJHJldmlld3Mtc3BhY2luZyAwO1xuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLXJldmlld3Mtc3VtbWFyeSB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXg6IDEgMCAxMDAlO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1yZXZpZXdzLXN1bW1hcnkge1xuICAgICAgZmxleDogMCAwIDM1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMi41cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMi41cmVtO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RjZGNkYztcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cbiAgLmNzLXJldmlld3Mtc3VtbWFyeV9fbm90ZSB7XG4gICAgZm9udC1zaXplOiA0cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gIC5jcy1yZXZpZXdzLXN1bW1hcnlfX25vdGUtcmlnaHQge1xuICAgIGNvbG9yOiAjNjk2OTY5OyB9XG4gIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2J1dHRvbi13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAyLjVyZW07XG4gICAgcGFkZGluZzogMi41cmVtIDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkY2RjZGM7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2J1dHRvbi13cmFwcGVyIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGJvcmRlci10b3A6IDA7IH0gfVxuICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIjtcbiAgICBwYWRkaW5nOiA4cHggMjVweDtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjtcbiAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2J1dHRvbi5tZWRpdW0ge1xuICAgICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19idXR0b24ubGFyZ2Uge1xuICAgICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2J1dHRvbiwgLmNzLXJldmlld3Mtc3VtbWFyeV9fYnV0dG9uOnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAgIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2J1dHRvbiAqLCAuY3MtcmV2aWV3cy1zdW1tYXJ5X19idXR0b246dmlzaXRlZCAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtcmV2aWV3cy1zdW1tYXJ5X19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtcmV2aWV3cy1zdW1tYXJ5X19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY3NDQyOyB9XG4gICAgICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLXJldmlld3Mtc3VtbWFyeV9fYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICAgLmNzLXJldmlld3Mtc3VtbWFyeV9fYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDM5Ljk5ZW0pIHtcbiAgICAgIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2J1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmNzLXJldmlld3Mtc3VtbWFyeV9fYnV0dG9uLXNwYW4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07IH1cbiAgLmNzLXJldmlld3Mtc3VtbWFyeV9fYnV0dG9uLWljb24ge1xuICAgIG1heC13aWR0aDogMWVtO1xuICAgIG1heC1oZWlnaHQ6IDEuNHJlbTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcmlnaHQ6IDFlbTsgfVxuICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19zdGFycyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC5jcy1yZXZpZXdzLXN1bW1hcnlfX3N0YXJzIHtcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogNHJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1yZXZpZXdzLXN1bW1hcnlfX3N0YXJzIHtcbiAgICAgICAgZmxleDogMCAxIDEwMCU7IH0gfVxuICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19iYXJzIHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBsaXN0LXN0eWxlOiBub25lIGluc2lkZSBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAyLjVyZW0gMCAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBjb2xvcjogIzY5Njk2OTtcbiAgICBtYXgtd2lkdGg6IDQwcmVtO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2JhcnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2JhcnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAyLjVyZW07IH0gfVxuICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19iYXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgMCAxcmVtIDA7IH1cbiAgICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19iYXI6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmNzLXJldmlld3Mtc3VtbWFyeV9fYmFyLWxhYmVsIHtcbiAgICAgIGZsZXg6IDAgMSAzLjVlbTsgfVxuICAgIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2Jhci1jb3VudCB7XG4gICAgICB3aWR0aDogMS41ZW07XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2Jhci1wcm9ncmVzcyB7XG4gICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1pbi13aWR0aDogOXJlbTtcbiAgICAgIGhlaWdodDogMC45ZW07XG4gICAgICBtYXJnaW46IDAgMC44cmVtIDAgMC43cmVtO1xuICAgICAgYmFja2dyb3VuZDogI2YwZjBmMDsgfVxuICAgICAgLmNzLXJldmlld3Mtc3VtbWFyeV9fYmFyLXByb2dyZXNzLWlubmVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZlZGZhNDsgfVxuICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19yYXRpbmdzLWF2ZXJhZ2VzIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAyLjVyZW0gMCAwO1xuICAgIHBhZGRpbmc6IDIuNXJlbSAwIDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDM7IH1cbiAgICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19yYXRpbmdzLWF2ZXJhZ2VzLWl0ZW0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4zZW07IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAgIC5jcy1yZXZpZXdzLXN1bW1hcnlfX3JhdGluZ3MtYXZlcmFnZXMtaXRlbSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAyNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19yYXRpbmdzLWF2ZXJhZ2VzLWl0ZW0ge1xuICAgICAgICAgIG1heC13aWR0aDogNDByZW07IH0gfVxuICAgICAgLmNzLXJldmlld3Mtc3VtbWFyeV9fcmF0aW5ncy1hdmVyYWdlcy1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbiRyZXZpZXdzLXN1bW1hcnlfYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kcmV2aWV3cy1zdW1tYXJ5X3NwYWNpbmc6IDIuNXJlbSAhZGVmYXVsdDtcbiRyZXZpZXdzLXN1bW1hcnlfZGVza3RvcC13aWR0aDogMzVyZW0gIWRlZmF1bHQ7XG5cbiRyZXZpZXdzLXN1bW1hcnlfYnV0dG9uLWZvbnQtc2l6ZTogMS40cmVtICFkZWZhdWx0O1xuJHJldmlld3Mtc3VtbWFyeV9idXR0b24tdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUgIWRlZmF1bHQ7XG4kcmV2aWV3cy1zdW1tYXJ5X2J1dHRvbi1pY29uLXBvczogJGJ1dHRvbl9kZWZhdWx0LWljb24tcG9zICFkZWZhdWx0O1xuXG4kcmV2aWV3cy1zdW1tYXJ5X2JhcnMtZmxleC1ncm93OiAxICFkZWZhdWx0O1xuJHJldmlld3Mtc3VtbWFyeV9iYXJzLWZvbnQtc2l6ZTogMS40cmVtICFkZWZhdWx0O1xuJHJldmlld3Mtc3VtbWFyeV9iYXJzLWNvbG9yOiAkY29sb3JfdGV4dC01MDAgIWRlZmF1bHQ7XG4kcmV2aWV3cy1zdW1tYXJ5X2Jhci1tYXgtd2lkdGg6IDQwcmVtICFkZWZhdWx0O1xuJHJldmlld3Mtc3VtbWFyeV9iYXItaGVpZ2h0OiAxLjJyZW0gIWRlZmF1bHQ7XG4kcmV2aWV3cy1zdW1tYXJ5X2Jhci1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuJHJldmlld3Mtc3VtbWFyeV9wcm9ncmVzcy1iYXItbWluLXdpZHRoOiA5cmVtICFkZWZhdWx0O1xuJHJldmlld3Mtc3VtbWFyeV9wcm9ncmVzcy1iYXItaGVpZ2h0OiAwLjllbSAhZGVmYXVsdDtcbiRyZXZpZXdzLXN1bW1hcnlfcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTUwMCAhZGVmYXVsdDtcbiRyZXZpZXdzLXN1bW1hcnlfcHJvZ3Jlc3MtYmFyLWZpbGwtYmFja2dyb3VuZDogJGNvbG9yX3Jldmlldy1iYXItYWN0aXZlICFkZWZhdWx0O1xuXG4kcmV2aWV3cy1zdW1tYXJ5X25vdGUtZm9udC1zaXplOiA0cmVtICFkZWZhdWx0O1xuJHJldmlld3Mtc3VtbWFyeV9ub3RlLWxlZnQtY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRyZXZpZXdzLXN1bW1hcnlfbm90ZS1yaWdodC1jb2xvcjogJGNvbG9yX3RleHQtNTAwICFkZWZhdWx0O1xuXG4kcmV2aWV3cy1yYXRpbmdzLWF2ZXJhZ2VzX2hpZGU6IGZhbHNlICFkZWZhdWx0O1xuJHJldmlld3Mtc3VtbWFyeV9hdmVyYWdlc19tYXgtd2lkdGg6IDQwcmVtICFkZWZhdWx0O1xuJHJldmlld3Mtc3VtbWFyeV9hdmVyYWdlc19tYXgtd2lkdGgtbW9iaWxlOiAyNXJlbSAhZGVmYXVsdDtcblxuLiN7JG5zfXJldmlld3Mtc3VtbWFyeSB7XG4gICAgJHJvb3Q6ICY7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4OiAxIDAgMTAwJTtcbiAgICBib3JkZXItYm90dG9tOiAkcmV2aWV3cy1zdW1tYXJ5X2JvcmRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgZmxleDogMCAwICRyZXZpZXdzLXN1bW1hcnlfZGVza3RvcC13aWR0aDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkcmV2aWV3cy1zdW1tYXJ5X3NwYWNpbmc7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRyZXZpZXdzLXN1bW1hcnlfc3BhY2luZztcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkcmV2aWV3cy1zdW1tYXJ5X2JvcmRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAmX19ub3RlIHtcbiAgICAgICAgZm9udC1zaXplOiAkcmV2aWV3cy1zdW1tYXJ5X25vdGUtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogMTAwJTtcbiAgICAgICAgY29sb3I6ICRyZXZpZXdzLXN1bW1hcnlfbm90ZS1sZWZ0LWNvbG9yO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgfVxuXG4gICAgJl9fbm90ZS1yaWdodCB7XG4gICAgICAgIGNvbG9yOiAkcmV2aWV3cy1zdW1tYXJ5X25vdGUtcmlnaHQtY29sb3I7XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogJHJldmlld3Mtc3VtbWFyeV9zcGFjaW5nO1xuICAgICAgICBwYWRkaW5nOiAkcmV2aWV3cy1zdW1tYXJ5X3NwYWNpbmcgMDtcbiAgICAgICAgYm9yZGVyLXRvcDogJHJldmlld3Mtc3VtbWFyeV9ib3JkZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAkcmV2aWV3cy1zdW1tYXJ5X2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkcmV2aWV3cy1zdW1tYXJ5X2J1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogJHJldmlld3Mtc3VtbWFyeV9idXR0b24tZm9udC1zaXplO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmVMZycpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLXNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICR0eXBlOiAkcmV2aWV3cy1zdW1tYXJ5X2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkcmV2aWV3cy1zdW1tYXJ5X2J1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgICZfX2J1dHRvbi1pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2ljb24oXG4gICAgICAgICAgICAkdHlwZTogJHJldmlld3Mtc3VtbWFyeV9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJHJldmlld3Mtc3VtbWFyeV9idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAmX19zdGFycyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgZmxleDogMSAwIGF1dG87XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmUnKSB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYmFycyB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHJldmlld3Mtc3VtbWFyeV9iYXJzLWZvbnQtc2l6ZTtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZSBpbnNpZGUgbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAkcmV2aWV3cy1zdW1tYXJ5X3NwYWNpbmcgMCAwO1xuICAgICAgICBmbGV4LWdyb3c6ICRyZXZpZXdzLXN1bW1hcnlfYmFycy1mbGV4LWdyb3c7XG4gICAgICAgIGNvbG9yOiAkcmV2aWV3cy1zdW1tYXJ5X2JhcnMtY29sb3I7XG4gICAgICAgIG1heC13aWR0aDogJHJldmlld3Mtc3VtbWFyeV9iYXItbWF4LXdpZHRoO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZScpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRyZXZpZXdzLXN1bW1hcnlfc3BhY2luZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwIDAgJHJldmlld3Mtc3VtbWFyeV9iYXItbWFyZ2luLWJvdHRvbSAwO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1sYWJlbCB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgMy41ZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLWNvdW50IHtcbiAgICAgICAgICAgIHdpZHRoOiAxLjVlbTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi1wcm9ncmVzcyB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1pbi13aWR0aDogJHJldmlld3Mtc3VtbWFyeV9wcm9ncmVzcy1iYXItbWluLXdpZHRoO1xuICAgICAgICAgICAgaGVpZ2h0OiAkcmV2aWV3cy1zdW1tYXJ5X3Byb2dyZXNzLWJhci1oZWlnaHQ7XG4gICAgICAgICAgICBtYXJnaW46IDAgMC44cmVtIDAgMC43cmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHJldmlld3Mtc3VtbWFyeV9wcm9ncmVzcy1iYXItYmFja2dyb3VuZDtcblxuICAgICAgICAgICAgJi1pbm5lciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcmV2aWV3cy1zdW1tYXJ5X3Byb2dyZXNzLWJhci1maWxsLWJhY2tncm91bmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19yYXRpbmdzLWF2ZXJhZ2VzIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAkcmV2aWV3cy1zdW1tYXJ5X3NwYWNpbmcgMCAwO1xuICAgICAgICBwYWRkaW5nOiAkcmV2aWV3cy1zdW1tYXJ5X3NwYWNpbmcgMCAwO1xuICAgICAgICBib3JkZXItdG9wOiAkcmV2aWV3cy1zdW1tYXJ5X2JvcmRlcjtcbiAgICAgICAgQGlmICgkcmV2aWV3cy1yYXRpbmdzLWF2ZXJhZ2VzX2hpZGUpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDM7XG5cbiAgICAgICAgJi1pdGVtIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuM2VtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZScpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRyZXZpZXdzLXN1bW1hcnlfYXZlcmFnZXNfbWF4LXdpZHRoLW1vYmlsZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogJHJldmlld3Mtc3VtbWFyeV9hdmVyYWdlc19tYXgtd2lkdGg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBSZW1vdmUgYnJvd3NlcidzIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBsaXN0IHN0eWxlIHJ1bGVzXG4gKi9cbi5jcy1zdGFjay1uYXZfX3RyaWdnZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDFyZW0gMS41cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBmb250LXdlaWdodDogNzAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLXN0YWNrLW5hdl9fdHJpZ2dlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmNzLXN0YWNrLW5hdl9fdHJpZ2dlci1pY29uIHtcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtO1xuICAgIHdpZHRoOiA2cHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGZpbGw6ICM4ODg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzOyB9XG4gIC5jcy1zdGFjay1uYXZfX3RyaWdnZXJbYXJpYS1leHBhbmRlZD0ndHJ1ZSddIC5jcy1zdGFjay1uYXZfX3RyaWdnZXItaWNvbiB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsgfVxuXG4uY3Mtc3RhY2stbmF2X19jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1zdGFjay1uYXZfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZzogMXJlbSAwOyB9IH1cblxuLmNzLXN0YWNrLW5hdl9fbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuY3Mtc3RhY2stbmF2X19saXN0ID4gc3ZnLFxuICAuY3Mtc3RhY2stbmF2X19saXN0ID4gaW1nIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gIC5jcy1zdGFjay1uYXZfX25hdiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1zdGFjay1uYXZfX25hdlthcmlhLWhpZGRlbj1cImZhbHNlXCJdIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLmNzLXN0YWNrLW5hdl9fbmF2IC5jcy1zdGFjay1uYXZfX2xpc3QgbGkge1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmNzLXN0YWNrLW5hdl9fbmF2IC5jcy1zdGFjay1uYXZfX2xpc3QgbGkgYSxcbi5jcy1zdGFjay1uYXZfX25hdiAuY3Mtc3RhY2stbmF2X19saXN0IGxpIHN0cm9uZyB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwMDtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMS41cmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMC4xcmVtO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1zdGFjay1uYXZfX25hdiAuY3Mtc3RhY2stbmF2X19saXN0IGxpIGEsXG4gICAgLmNzLXN0YWNrLW5hdl9fbmF2IC5jcy1zdGFjay1uYXZfX2xpc3QgbGkgc3Ryb25nIHtcbiAgICAgIHBhZGRpbmc6IDdweCAxLjhyZW0gN3B4IDEuOHJlbTsgfSB9XG4gIC5jcy1zdGFjay1uYXZfX25hdiAuY3Mtc3RhY2stbmF2X19saXN0IGxpIGEgc3ZnLFxuICAuY3Mtc3RhY2stbmF2X19uYXYgLmNzLXN0YWNrLW5hdl9fbGlzdCBsaSBhIGltZyxcbiAgLmNzLXN0YWNrLW5hdl9fbmF2IC5jcy1zdGFjay1uYXZfX2xpc3QgbGkgc3Ryb25nIHN2ZyxcbiAgLmNzLXN0YWNrLW5hdl9fbmF2IC5jcy1zdGFjay1uYXZfX2xpc3QgbGkgc3Ryb25nIGltZyB7XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAxLjRyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuM3JlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMC4xcmVtKTsgfVxuXG4uY3Mtc3RhY2stbmF2X19uYXYgLmNzLXN0YWNrLW5hdl9fbGlzdCBsaSBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjZGNkYztcbiAgY29sb3I6ICMwMDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3Mtc3RhY2stbmF2X19uYXYgLmNzLXN0YWNrLW5hdl9fbGlzdCBsaSBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH0gfVxuXG4uY3Mtc3RhY2stbmF2X19uYXYgLmNzLXN0YWNrLW5hdl9fbGlzdCBsaS5jdXJyZW50IHN0cm9uZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjMDAwOyB9XG4gIC5jcy1zdGFjay1uYXZfX25hdiAuY3Mtc3RhY2stbmF2X19saXN0IGxpLmN1cnJlbnQgc3Ryb25nOmhvdmVyIHtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAuY3Mtc3RhY2stbmF2X19uYXYgLmNzLXN0YWNrLW5hdl9fbGlzdCBsaS5jdXJyZW50IHN0cm9uZzpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogNXB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwLjRyZW07XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgIGJhY2tncm91bmQ6ICNGRjc0NDI7IH1cblxuLmNzLXN0YWNrLW5hdl9fbmF2IC5pdGVtIC5kZWxpbWl0ZXIge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmNzLXN0YWNrLW5hdl9fbmF2IC5jcy1zdGFjay1uYXZfX2xpc3QgbGkuY3VycmVudCBhIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY3Mtc3RhY2stbmF2X19uYXYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy9yZXNldC1saXN0LXN0eWxlJztcblxuJHN0YWNrLW5hdl9ib3gtc2hhZG93OiBub25lICFkZWZhdWx0O1xuJHN0YWNrLW5hdl9ib3gtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZSAhZGVmYXVsdDtcblxuJHN0YWNrLW5hdl9tb2JpbGUtdHJpZ2dlci1iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbGlnaHQtZ3JheSAhZGVmYXVsdDtcbiRzdGFjay1uYXZfbW9iaWxlLXRyaWdnZXItZm9udC1zaXplOiAxLjZyZW0gIWRlZmF1bHQ7XG4kc3RhY2stbmF2X21vYmlsZS1jb250ZW50LWJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9saWdodC1ncmF5ICFkZWZhdWx0O1xuXG4kc3RhY2stbmF2X2l0ZW0tZm9udC1zaXplOiAxLjRyZW0gIWRlZmF1bHQ7XG4kc3RhY2stbmF2X2l0ZW0tY29sb3I6ICRjb2xvcl9ibGFjayAhZGVmYXVsdDtcbiRzdGFjay1uYXZfaXRlbS1ob3Zlci1jb2xvcjogJGNvbG9yX2JsYWNrICFkZWZhdWx0O1xuJHN0YWNrLW5hdl9pdGVtLWN1cnJlbnQtY29sb3I6ICRjb2xvcl9ibGFjayAhZGVmYXVsdDtcbiRzdGFjay1uYXZfaXRlbS1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xuJHN0YWNrLW5hdl9pdGVtLWN1cnJlbnQtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcbiRzdGFjay1uYXZfaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC01MDAgIWRlZmF1bHQ7XG4kc3RhY2stbmF2X2l0ZW0tbW9iaWxlLWhvdmVyLWJhY2tncm91bmQ6ICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuXG4kc3RhY2stbmF2X2N1cnJlbnQtaW5kaWNhdG9yLWJhY2tncm91bmQ6ICRjb2xvcl9wcmltYXJ5LW9yYW5nZSAhZGVmYXVsdDtcbiRzdGFjay1uYXZfY3VycmVudC1pbmRpY2F0b3Itd2lkdGg6IDAuNHJlbSAhZGVmYXVsdDtcbiRzdGFjay1uYXZfc2tld2VkLWluZGljYXRvci1lbmFibGVkOiBmYWxzZSAhZGVmYXVsdDtcbiRzdGFjay1uYXZfaW5kaWNhdG9yLWVuYWJsZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbiRzdGFjay1uYXZfZGVsaW1pdGVyLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJHN0YWNrLW5hdl9kZWxpbWl0ZXItZGlzYWJsZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi4jeyRuc31zdGFjay1uYXYge1xuICAgICRyb290OiAmO1xuXG4gICAgJl9fdHJpZ2dlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxLjVyZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzdGFjay1uYXZfbW9iaWxlLXRyaWdnZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LXNpemU6ICRzdGFjay1uYXZfbW9iaWxlLXRyaWdnZXItZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiA2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBmaWxsOiAjODg4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG4gICAgICAgIH1cblxuICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9J3RydWUnXSAjeyRyb290fV9fdHJpZ2dlci1pY29uIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHN0YWNrLW5hdl9tb2JpbGUtY29udGVudC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAkc3RhY2stbmF2X2JveC1zaGFkb3c7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Qtc3R5bGUoKTtcblxuICAgICAgICA+IHN2ZyxcbiAgICAgICAgPiBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX25hdiB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgJlthcmlhLWhpZGRlbj1cImZhbHNlXCJdIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAjeyRyb290fV9fbGlzdCBsaSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19saXN0IGxpIGEsXG4gICAgICAgICN7JHJvb3R9X19saXN0IGxpIHN0cm9uZyB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRzdGFjay1uYXZfaXRlbS1mb250LXNpemU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJHN0YWNrLW5hdl9pdGVtLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgY29sb3I6ICRzdGFjay1uYXZfaXRlbS1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMC43NXJlbSAxLjVyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuMXJlbTtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA3cHggMS44cmVtIDdweCAxLjhyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN2ZyxcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDJyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjRyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuM3JlbTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMC4xcmVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19saXN0IGxpIGE6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHN0YWNrLW5hdl9pdGVtLW1vYmlsZS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgY29sb3I6ICRzdGFjay1uYXZfaXRlbS1ob3Zlci1jb2xvcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzdGFjay1uYXZfaXRlbS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX2xpc3QgbGkuY3VycmVudCBzdHJvbmcge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRzdGFjay1uYXZfaXRlbS1jdXJyZW50LWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgY29sb3I6ICRzdGFjay1uYXZfaXRlbS1jdXJyZW50LWNvbG9yO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHN0YWNrLW5hdl9pdGVtLWN1cnJlbnQtY29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAkc3RhY2stbmF2X2luZGljYXRvci1lbmFibGVkIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRzdGFjay1uYXZfY3VycmVudC1pbmRpY2F0b3Itd2lkdGg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjZweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHN0YWNrLW5hdl9jdXJyZW50LWluZGljYXRvci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpZiAkc3RhY2stbmF2X3NrZXdlZC1pbmRpY2F0b3ItZW5hYmxlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaWYgJHN0YWNrLW5hdl9za2V3ZWQtaW5kaWNhdG9yLWVuYWJsZWQge1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0wLjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDM1cHhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb2xpZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzdGFjay1uYXZfY3VycmVudC1pbmRpY2F0b3ItYmFja2dyb3VuZDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDI4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaXRlbSAuZGVsaW1pdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJlc2V0IHN0eWxlIGZvciBsaW5rIGlmIGl0IGlzIGEgY2hpbGQgb2YgY3VycmVudCBpdGVtXG4gICAgICAgICN7JHJvb3R9X19saXN0IGxpLmN1cnJlbnQgYSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jcy1zdGlja3ktYmxvY2sge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLXN0aWNreS1ibG9jayB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICB0b3A6IDFlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLXN0aWNreS1ibG9jay0tcGRwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMTVweCAtIDAuNXJlbSk7IH1cbiAgICAgIC5wYWdlLXByb2R1Y3QtYnVuZGxlIC5jcy1zdGlja3ktYmxvY2stLXBkcCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLXN0aWNreS1ibG9jay0tcGRwIHtcbiAgICAgIHRvcDogM3JlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDsgfVxuICAgICAgLnBhZ2UtcHJvZHVjdC1idW5kbGUgLmNzLXN0aWNreS1ibG9jay0tcGRwIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIzMHB4KSB7XG4gICAgLmNzLXN0aWNreS1ibG9jay0tcGRwIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLXN0aWNreS1ibG9jay0tbm8tbW9iaWxlIHtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICB0b3A6IDguNXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLXN0aWNreS1ibG9jay0tbm8tbW9iaWxlIHtcbiAgICAgIHRvcDogMS41cmVtOyB9IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5LWJsb2NrL21peGluJztcblxuLiN7JG5zfXN0aWNreS1ibG9jayB7XG4gICAgQGluY2x1ZGUgc3RpY2t5QmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICYtLXBkcCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMTVweCAtIDAuNXJlbSk7XG5cbiAgICAgICAgICAgIC5wYWdlLXByb2R1Y3QtYnVuZGxlICYge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHRvcDogM3JlbTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcblxuICAgICAgICAgICAgLnBhZ2UtcHJvZHVjdC1idW5kbGUgJiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIzMHB4KSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1uby1tb2JpbGUge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgICAgdG9wOiA4LjVyZW07XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgdG9wOiAxLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAbWl4aW4gc3RpY2t5QmxvY2soKSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgdG9wOiAxZW07XG4gICAgfVxufVxuIiwiLyoqIFN0eWxlcyBmb3JtIF90YWJsZXMubGVzcyBvZiB0aGVtZSBibGFuayBhcmUgbW92ZWQgaGVyZS5cbiAgICogRm9yIHNvbWUgdGFibGVzIHRoZXJlIGlzIG1vYmlsZSBsYXlvdXQgYXBwbGllZCBhbHNvIGZvciB0YWJsZXQgcmVzb2x1dGlvbnNcbiAgICogVmFyaWFibGVzIGZvciB0eXBvZ3JhcHksIGNvbG9ycywgYm9yZGVyIGV0Yy4gYXJlIGFkZGVkXG4qL1xuXG5AaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy92aXN1YWxseS1oaWRkZW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy90eXBvZ3JhcGh5L21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUvbWl4aW4nO1xuXG4kdGFibGVfYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdGFibGVfYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuXG4kdGFibGVfcm93LWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJHRhYmxlX2NvbHVtbi1ib3JkZXI6IG5vbmUgIWRlZmF1bHQ7XG4kdGFibGVfZXZlbi1yb3ctYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbiR0YWJsZV9oZWFkLWJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiR0YWJsZV9oZWFkLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kdGFibGVfaGVhZC1mb250LXNpemU6IDE1cHggIWRlZmF1bHQ7XG4kdGFibGVfaGVhZC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJHRhYmxlX2hlYWRfZm9udC1zaXplLS1tb2JpbGU6IDEuNHJlbSAhZGVmYXVsdDtcbiR0YWJsZV9oZWFkX21vdmUtb24tbW9iaWxlOiB0cnVlICFkZWZhdWx0O1xuXG4kdGFibGVfaXRlbS1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJHRhYmxlX2l0ZW0tZm9udC1zaXplOiAkZm9udC1zaXplX3BhcmFncmFwaCAhZGVmYXVsdDtcbiR0YWJsZV9pdGVtLWZvbnQtd2VpZ2h0OiAzMDAgIWRlZmF1bHQ7XG4kdGFibGVfaXRlbS1saW5lLWhlaWdodDogMTU1JTtcbiR0YWJsZV9pdGVtLXBhZGRpbmc6IDAuOHJlbSAxcmVtICFkZWZhdWx0O1xuJHRhYmxlX2FjdGlvbnMtbGlua3Mtc2VwYXJhdG9yOiAycHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHkgKi9cblxuLnRhYmxlLXdyYXBwZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLmNhcnQge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAudGFibGUtd3JhcHBlci5jYXJ0ICYge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmdyb3VwZWQge1xuICAgICAgICB0Ym9keTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4udGFibGUge1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZV9ib3JkZXItYm90dG9tO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGVfYmFja2dyb3VuZDtcblxuICAgICYgPiBjYXB0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG4gICAgfVxuXG4gICAgJjpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICR0YWJsZV9pdGVtLXBhZGRpbmc7XG4gICAgICAgIH1cblxuICAgICAgICB0aGVhZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkdGFibGVfaGVhZC1ib3JkZXItYm90dG9tO1xuXG4gICAgICAgICAgICB0aCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkdGFibGVfaGVhZC1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICR0YWJsZV9oZWFkLXRleHQtdHJhbnNmb3JtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGFibGVfaGVhZC1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRib2R5IHtcbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICR0YWJsZV9pdGVtLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRhYmxlX2l0ZW0tY29sb3I7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0YWJsZV9pdGVtLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICR0YWJsZV9yb3ctYm9yZGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAkdGFibGVfY29sdW1uLWJvcmRlcjtcblxuICAgICAgICAgICAgICAgICYuYWN0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJHRhYmxlX3Jvdy1ib3JkZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBhICsgYTpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAuN3JlbSAwIDAuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJHRhYmxlX2l0ZW0tZm9udC1zaXplO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAkdGFibGVfYWN0aW9ucy1saW5rcy1zZXBhcmF0b3I7XG4gICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdHI6Zmlyc3QtY2hpbGQgdGQge1xuICAgICAgICAgICAgICAgIC5hY2NvdW50ICYge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0ciB7XG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdGFibGVfZXZlbi1yb3ctYmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0Zm9vdCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICR0YWJsZV9pdGVtLWZvbnQtc2l6ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2dhbGxlcnk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tYXJrIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgLmFtb3VudCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcmljZS1leGNsdWRpbmctdGF4LFxuICAgIC5wcmljZS1pbmNsdWRpbmctdGF4LFxuICAgIC5pdGVtcy1xdHksXG4gICAgLnByb2R1Y3QtaXRlbS1uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiAkdGFibGVfaXRlbS1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkdGFibGVfaXRlbS1saW5lLWhlaWdodDtcbiAgICB9XG59XG5cbi8vICBNb2JpbGUgbGF5b3V0XG5AaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAudGFibGUtd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIHRhYmxlLXdyYXBwZXItbW9iaWxlLWxheW91dCgpO1xuXG4gICAgICAgIC50YWJsZSB7XG4gICAgICAgICAgICAmOm5vdCguY29tcGFyaXNvbikge1xuICAgICAgICAgICAgICAgICY6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRhYmxlLW1vYmlsZS1sYXlvdXQoXG4gICAgICAgICAgICAgICAgICAgICAgICAkaGVhZF9jb2xvcjogJHRhYmxlX2hlYWQtY29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAkaGVhZF9tb3ZlLW9uLW1vYmlsZTogJHRhYmxlX2hlYWRfbW92ZS1vbi1tb2JpbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAkaGVhZF9mb250LXNpemUtLW1vYmlsZTogJHRhYmxlX2hlYWRfZm9udC1zaXplLS1tb2JpbGVcbiAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaWYgKCR0YWJsZV9oZWFkX21vdmUtb24tbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmLmFkZGl0aW9uYWwtYXR0cmlidXRlcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGJvZHkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kYXRhLXRhYmxlLWRlZmluaXRpb24tbGlzdCB7XG4gICAgICAgIHRoZWFkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICB0Ym9keSB0aCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRib2R5IHRoLFxuICAgICAgICB0Ym9keSB0ZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFNvbWUgdGFibGVzIGRpc3BsYXkgbW9iaWxlIGxheW91dCBhbHNvIG9uIHRhYmxldCByZXNvbHV0aW9uXG4udGFibGUtd3JhcHBlci5jYXJ0LFxuLmFjY291bnQgLnRhYmxlLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLXdyYXBwZXItbW9iaWxlLWxheW91dCgpO1xuXG4gICAgLnRhYmxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0YWJsZS1tb2JpbGUtbGF5b3V0KCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbiIsIi8qKiBTdHlsZXMgZm9ybSBfdGFibGVzLmxlc3Mgb2YgdGhlbWUgYmxhbmsgYXJlIG1vdmVkIGhlcmUuXG4gICAqIEZvciBzb21lIHRhYmxlcyB0aGVyZSBpcyBtb2JpbGUgbGF5b3V0IGFwcGxpZWQgYWxzbyBmb3IgdGFibGV0IHJlc29sdXRpb25zXG4gICAqIFZhcmlhYmxlcyBmb3IgdHlwb2dyYXB5LCBjb2xvcnMsIGJvcmRlciBldGMuIGFyZSBhZGRlZFxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDEzMFxuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyczpcbiAqIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKlxuICogMS4gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAqICAgIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICogICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyNMMTMwXG4gKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHkgKi9cbi50YWJsZS13cmFwcGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgIC50YWJsZS13cmFwcGVyIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudGFibGUtd3JhcHBlci5jYXJ0IC50YWJsZS13cmFwcGVyLmNhcnQge1xuICAgICAgYm9yZGVyLXRvcDogbm9uZTsgfSB9XG4gIC50YWJsZS13cmFwcGVyLmdyb3VwZWQgdGJvZHk6bGFzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuXG4udGFibGUge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLnRhYmxlID4gY2FwdGlvbiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC8qIDEgKi8gfVxuICAudGFibGU6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gICAgLnRhYmxlOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGQge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgcGFkZGluZzogMC44cmVtIDFyZW07IH1cbiAgICAudGFibGU6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0aGVhZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYzsgfVxuICAgICAgLnRhYmxlOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGhlYWQgdGgge1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAjMjEyMTIxOyB9XG4gICAgLnRhYmxlOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGJvZHkgdGQge1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICBjb2xvcjogIzIxMjEyMTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYztcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgICAudGFibGU6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0Ym9keSB0ZC5hY3Rpb25zIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYzsgfSB9XG4gICAgICAudGFibGU6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0Ym9keSB0ZC5hY3Rpb25zIGEgKyBhOmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbjogMCAwLjdyZW0gMCAwLjVyZW07XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGhlaWdodDogMS42cmVtO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjZGNkY2RjO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgICAudGFibGU6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgIC5hY2NvdW50IC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICAgIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRmb290IHtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgICAudGFibGU6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0Zm9vdCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2YwZjBmMDsgfSB9XG4gICAgICAudGFibGU6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0Zm9vdCAubWFyayB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgICAudGFibGU6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0Zm9vdCAuYW1vdW50IHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gIC50YWJsZSAucHJpY2UtZXhjbHVkaW5nLXRheCxcbiAgLnRhYmxlIC5wcmljZS1pbmNsdWRpbmctdGF4LFxuICAudGFibGUgLml0ZW1zLXF0eSxcbiAgLnRhYmxlIC5wcm9kdWN0LWl0ZW0tbmFtZSB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE1NSU7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgLnRhYmxlLXdyYXBwZXIge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLmNvbXBhcmlzb24pOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAudGFibGUtd3JhcHBlciAudGFibGU6bm90KC5jb21wYXJpc29uKTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS4ycmVtOyB9XG4gICAgICAudGFibGUtd3JhcHBlciAudGFibGU6bm90KC5jb21wYXJpc29uKTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLnRhYmxlLXdyYXBwZXIgLnRhYmxlOm5vdCguY29tcGFyaXNvbik6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0Ym9keSB0ZCB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjJyZW07IH1cbiAgICAgICAgLnRhYmxlLXdyYXBwZXIgLnRhYmxlOm5vdCguY29tcGFyaXNvbik6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDJyZW07IH1cbiAgICAgICAgLnRhYmxlLXdyYXBwZXIgLnRhYmxlOm5vdCguY29tcGFyaXNvbik6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0Ym9keSB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkgYW5kIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLnRhYmxlLXdyYXBwZXIgLnRhYmxlOm5vdCguY29tcGFyaXNvbik6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0Ym9keSB0ZDpiZWZvcmUge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgY29udGVudDogYXR0cihkYXRhLXRoKSBcIjogXCI7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlBUIFNhbnMgTmFycm93XCI7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLmNvbXBhcmlzb24pOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGJvZHkgdGQuYWN0aW9ucyB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLmNvbXBhcmlzb24pOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGJvZHkgdGQuYWN0aW9uczpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAvKiAxICovIH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLnRhYmxlLXdyYXBwZXIgLnRhYmxlOm5vdCguY29tcGFyaXNvbik6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0Zm9vdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLmNvbXBhcmlzb24pOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGZvb3QgdGgge1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICB3aWR0aDogNzAlOyB9XG4gICAgICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLmNvbXBhcmlzb24pOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGZvb3QgdGQge1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgd2lkdGg6IDMwJTsgfVxuICAgICAgICAudGFibGUtd3JhcHBlciAudGFibGU6bm90KC5jb21wYXJpc29uKTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRmb290IHRyIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLmNvbXBhcmlzb24pOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGZvb3QgdHI6Zmlyc3QtY2hpbGQgdGgsXG4gICAgICAgICAgLnRhYmxlLXdyYXBwZXIgLnRhYmxlOm5vdCguY29tcGFyaXNvbik6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0Zm9vdCB0cjpmaXJzdC1jaGlsZCB0ZCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTsgfVxuICAgICAgLnRhYmxlLXdyYXBwZXIgLnRhYmxlOm5vdCguY29tcGFyaXNvbik6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKS5hZGRpdGlvbmFsLWF0dHJpYnV0ZXMgdGJvZHkgdGgge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAudGFibGUtd3JhcHBlciAudGFibGU6bm90KC5jb21wYXJpc29uKTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpLmFkZGl0aW9uYWwtYXR0cmlidXRlcyB0Ym9keSB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMC41cmVtOyB9XG4gIC5kYXRhLXRhYmxlLWRlZmluaXRpb24tbGlzdCB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZGF0YS10YWJsZS1kZWZpbml0aW9uLWxpc3QgdGJvZHkgdGgge1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5kYXRhLXRhYmxlLWRlZmluaXRpb24tbGlzdCB0Ym9keSB0aCxcbiAgLmRhdGEtdGFibGUtZGVmaW5pdGlvbi1saXN0IHRib2R5IHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbi50YWJsZS13cmFwcGVyLmNhcnQsXG4uYWNjb3VudCAudGFibGUtd3JhcHBlciB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgLnRhYmxlLXdyYXBwZXIuY2FydCAudGFibGUsXG4gIC5hY2NvdW50IC50YWJsZS13cmFwcGVyIC50YWJsZSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAudGFibGUtd3JhcHBlci5jYXJ0IC50YWJsZTpsYXN0LWNoaWxkLFxuICAgIC5hY2NvdW50IC50YWJsZS13cmFwcGVyIC50YWJsZTpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjJyZW07IH1cbiAgICAudGFibGUtd3JhcHBlci5jYXJ0IC50YWJsZSB0aGVhZCxcbiAgICAuYWNjb3VudCAudGFibGUtd3JhcHBlciAudGFibGUgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC50YWJsZS13cmFwcGVyLmNhcnQgLnRhYmxlIHRib2R5IHRkLFxuICAgIC5hY2NvdW50IC50YWJsZS13cmFwcGVyIC50YWJsZSB0Ym9keSB0ZCB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgcGFkZGluZzogMC4ycmVtOyB9XG4gICAgICAudGFibGUtd3JhcHBlci5jYXJ0IC50YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCxcbiAgICAgIC5hY2NvdW50IC50YWJsZS13cmFwcGVyIC50YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAycmVtOyB9XG4gICAgICAudGFibGUtd3JhcHBlci5jYXJ0IC50YWJsZSB0Ym9keSB0ZDpsYXN0LWNoaWxkLFxuICAgICAgLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLnRhYmxlIHRib2R5IHRkOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSBhbmQgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgLnRhYmxlLXdyYXBwZXIuY2FydCAudGFibGUgdGJvZHkgdGQ6YmVmb3JlLFxuICAgICAgLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLnRhYmxlIHRib2R5IHRkOmJlZm9yZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS10aCkgXCI6IFwiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjVweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiUFQgU2FucyBOYXJyb3dcIjsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgICAgLnRhYmxlLXdyYXBwZXIuY2FydCAudGFibGUgdGJvZHkgdGQuYWN0aW9ucyxcbiAgICAgIC5hY2NvdW50IC50YWJsZS13cmFwcGVyIC50YWJsZSB0Ym9keSB0ZC5hY3Rpb25zIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgIC50YWJsZS13cmFwcGVyLmNhcnQgLnRhYmxlIHRib2R5IHRkLmFjdGlvbnM6YmVmb3JlLFxuICAgICAgLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLnRhYmxlIHRib2R5IHRkLmFjdGlvbnM6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIC8qIDEgKi8gfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgIC50YWJsZS13cmFwcGVyLmNhcnQgLnRhYmxlIHRmb290LFxuICAgIC5hY2NvdW50IC50YWJsZS13cmFwcGVyIC50YWJsZSB0Zm9vdCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLnRhYmxlLXdyYXBwZXIuY2FydCAudGFibGUgdGZvb3QgdGgsXG4gICAgICAuYWNjb3VudCAudGFibGUtd3JhcHBlciAudGFibGUgdGZvb3QgdGgge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB3aWR0aDogNzAlOyB9XG4gICAgICAudGFibGUtd3JhcHBlci5jYXJ0IC50YWJsZSB0Zm9vdCB0ZCxcbiAgICAgIC5hY2NvdW50IC50YWJsZS13cmFwcGVyIC50YWJsZSB0Zm9vdCB0ZCB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB3aWR0aDogMzAlOyB9XG4gICAgICAudGFibGUtd3JhcHBlci5jYXJ0IC50YWJsZSB0Zm9vdCB0cixcbiAgICAgIC5hY2NvdW50IC50YWJsZS13cmFwcGVyIC50YWJsZSB0Zm9vdCB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIC50YWJsZS13cmFwcGVyLmNhcnQgLnRhYmxlIHRmb290IHRyOmZpcnN0LWNoaWxkIHRoLFxuICAgICAgICAudGFibGUtd3JhcHBlci5jYXJ0IC50YWJsZSB0Zm9vdCB0cjpmaXJzdC1jaGlsZCB0ZCxcbiAgICAgICAgLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLnRhYmxlIHRmb290IHRyOmZpcnN0LWNoaWxkIHRoLFxuICAgICAgICAuYWNjb3VudCAudGFibGUtd3JhcHBlciAudGFibGUgdGZvb3QgdHI6Zmlyc3QtY2hpbGQgdGQge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAycmVtOyB9IH1cblxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbkBtaXhpbiB0YWJsZS1tb2JpbGUtbGF5b3V0LWhvb2soKSB7XG59XG5cbkBtaXhpbiB0YWJsZS13cmFwcGVyLW1vYmlsZS1sYXlvdXQtaG9vaygpIHtcbn1cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbiIsIkBpbXBvcnQgJ3V0aWxzL3Zpc3VhbGx5LWhpZGRlbic7XG5AaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUvaG9vayc7XG5cbiRoZWFkX2NvbG9yOiAkY29sb3JfbWluZXNoYWZ0ICFkZWZhdWx0O1xuJGhlYWRfbW92ZS1vbi1tb2JpbGU6IHRydWUgIWRlZmF1bHQ7XG4kaGVhZF9mb250LXNpemUtLW1vYmlsZTogMS40cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gdGFibGUtbW9iaWxlLWxheW91dChcbiAgICAkaGVhZF9jb2xvcjogJGhlYWRfY29sb3IsXG4gICAgJGhlYWRfbW92ZS1vbi1tb2JpbGU6ICRoZWFkX21vdmUtb24tbW9iaWxlLFxuICAgICRoZWFkX2ZvbnQtc2l6ZS0tbW9iaWxlOiAkaGVhZF9mb250LXNpemUtLW1vYmlsZVxuKSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS4ycmVtO1xuICAgIH1cblxuICAgIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICB0Ym9keSB0ZCB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogJGhlYWRfZm9udC1zaXplLS1tb2JpbGU7XG4gICAgICAgIHBhZGRpbmc6IDAuMnJlbTtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkaGVhZF9tb3ZlLW9uLW1vYmlsZSkge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLXRoKSAnOiAnO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaGVhZF9jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udF9mYW1pbHktc2Vjb25kYXJ5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aW9ucyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yX2FsdG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRmb290IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgdGgge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICB9XG4gICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHlcbiAgICAgICAgdGQge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgfVxuICAgICAgICAvLyBzdHlsZWxpbnQtZW5hYmxlXG4gICAgICAgIHRyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICB0aCxcbiAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHRhYmxlLW1vYmlsZS1sYXlvdXQtaG9vaygpO1xufVxuXG5AbWl4aW4gdGFibGUtd3JhcHBlci1tb2JpbGUtbGF5b3V0KCkge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gVG8gaGlkZSB1bm5lY2Vzc2FyeSBob3Jpem9udGFsIHNjcm9sbGJhciBpbiBTYWZhcmlcblxuICAgIEBpbmNsdWRlIHRhYmxlLXdyYXBwZXItbW9iaWxlLWxheW91dC1ob29rKCk7XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3MtdG9vbGJhciB7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtdG9vbGJhciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAuY3MtdG9vbGJhciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAuY3MtdG9vbGJhciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG4gIC5jcy10b29sYmFyIC5yZWZpbmUtdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiA2cHggMTFweDtcbiAgICB3aWR0aDogNDglO1xuICAgIG9yZGVyOiAxO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCNkJFQzU7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jcy10b29sYmFyIC5yZWZpbmUtdG9nZ2xlOmJlZm9yZSwgLmNzLXRvb2xiYXIgLnJlZmluZS10b2dnbGU6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHdpZHRoOiAwLjZyZW07XG4gICAgICBoZWlnaHQ6IDAuMXJlbTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjZCRUM1O1xuICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgLmNzLXRvb2xiYXIgLnJlZmluZS10b2dnbGVbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YmVmb3JlLCAuY3MtdG9vbGJhciAucmVmaW5lLXRvZ2dsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkU2RTZFOyB9XG4gICAgLmNzLXRvb2xiYXIgLnJlZmluZS10b2dnbGU6YmVmb3JlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZykgdHJhbnNsYXRlM2QoNTAlLCAwLCAwKTtcbiAgICAgIHJpZ2h0OiAxNXB4OyB9XG4gICAgLmNzLXRvb2xiYXIgLnJlZmluZS10b2dnbGU6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIDAsIDApOyB9XG4gICAgLmNzLXRvb2xiYXIgLnJlZmluZS10b2dnbGVbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YmVmb3JlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDIyNWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICByaWdodDogMDsgfVxuICAgIC5jcy10b29sYmFyIC5yZWZpbmUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICByaWdodDogMTVweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtdG9vbGJhciAucmVmaW5lLXRvZ2dsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuY3MtdG9vbGJhcl9faXRlbSB7XG4gICAgbWFyZ2luOiAwIDAgMS41cmVtOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAuY3MtdG9vbGJhcl9faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgZmxleDogMTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy10b29sYmFyX19pdGVtIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMDsgfVxuICAgICAgICAuY3MtdG9vbGJhcl9faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICAgIC5jcy10b29sYmFyX19pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgICAuY3MtdG9vbGJhcl9faXRlbS0tbGltaXRlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5jcy10b29sYmFyX19pdGVtLS1zb3J0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDQ1cHg7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAgIC5jcy10b29sYmFyX19pdGVtLS1zb3J0ZXIgLmNzLWh0bWwtc2VsZWN0IHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtdG9vbGJhcl9faXRlbS0tc29ydGVyIC5jcy1odG1sLXNlbGVjdCB7XG4gICAgICAgICAgbWluLXdpZHRoOiAxOXJlbTsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgICAuY3MtdG9vbGJhcl9faXRlbS0tc29ydGVyIHtcbiAgICAgICAgICB3aWR0aDogNDglO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICBtYXgtd2lkdGg6IDIwMHB4OyB9XG4gICAgICAgICAgLmNzLXRvb2xiYXJfX2l0ZW0tLXNvcnRlciAuc29ydGVyLWxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtdG9vbGJhcl9faXRlbS0tdmlld21vZGUtc3dpdGNoZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBvcmRlcjogMzsgfSB9XG4gIC5jcy10b29sYmFyIC5maWVsZCAubGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIHdpZHRoOiBhdXRvOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAuY3MtdG9vbGJhciAuY3MtaHRtbC1zZWxlY3Qge1xuICAgIG1heC13aWR0aDogMjByZW07IH0gfVxuICAuY3MtdG9vbGJhciAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXIge1xuICAgIG1pbi1oZWlnaHQ6IDRyZW07IH1cblxuLnRvb2xiYXItYW1vdW50IHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5jcy1zb3J0ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jcy1zb3J0ZXJfX2xhYmVsIHtcbiAgICBwYWRkaW5nOiAwIDEuNHJlbSAwIDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC40cHg7IH1cbiAgLmNzLXNvcnRlcl9fc2VsZWN0IHtcbiAgICB3aWR0aDogMHB4OyB9XG4gIC5jcy1zb3J0ZXIgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQjZCRUM1O1xuICAgIG1heC13aWR0aDogMTg4cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLXNvcnRlciAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAuY3Mtc29ydGVyIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlcjpiZWZvcmUsIC5jcy1zb3J0ZXIgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgd2lkdGg6IDAuN3JlbTtcbiAgICAgICAgICBoZWlnaHQ6IDAuMXJlbTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNCNkJFQzU7XG4gICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgICAgIC5jcy1zb3J0ZXIgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmJlZm9yZSwgLmNzLXNvcnRlciAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXJbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2RTZFNkU7IH1cbiAgICAgICAgLmNzLXNvcnRlciAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXI6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgcmlnaHQ6IGNhbGMoIDEuNXJlbSArIDEuMnJlbSAtIDAuNHJlbSk7IH1cbiAgICAgICAgLmNzLXNvcnRlciAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXI6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgcmlnaHQ6IDEuNXJlbTsgfVxuICAgICAgICAuY3Mtc29ydGVyIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlcjpiZWZvcmUge1xuICAgICAgICAgIHJpZ2h0OiBjYWxjKCAxLjJyZW0gKyAxLjJyZW0gLSAwLjRyZW0pOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3Mtc29ydGVyIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlci1jYXJldCB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgd2lkdGg6IDQuMnJlbTtcbiAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZDogIzAwMDsgfSB9XG4gIC5jcy1zb3J0ZXIgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLWNhcmV0IC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlci1jYXJldC1hcnJvdyB7XG4gICAgei1pbmRleDogMjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLXNvcnRlciAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXItY2FyZXQgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLWNhcmV0LWFycm93IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmNzLXNvcnRlciAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXItY2FyZXQgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLWNhcmV0LWFycm93OmFmdGVyLCAuY3Mtc29ydGVyIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlci1jYXJldCAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXItY2FyZXQtYXJyb3c6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAxLjFyZW07XG4gICAgICBoZWlnaHQ6IDJweDsgfVxuICAgIC5jcy1zb3J0ZXIgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLWNhcmV0IC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlci1jYXJldC1hcnJvdzphZnRlciB7XG4gICAgICByaWdodDogMS4ycmVtOyB9XG4gICAgLmNzLXNvcnRlciAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXItY2FyZXQgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLWNhcmV0LWFycm93OmJlZm9yZSB7XG4gICAgICByaWdodDogMS45cmVtOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5jcy1saW1pdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMXJlbSAwIDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5jcy1saW1pdGVyX19sYWJlbCxcbiAgLmZpZWxkIC5jcy1saW1pdGVyX19sYWJlbCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgIC5jcy1saW1pdGVyX19sYWJlbC0tcHJlZml4LFxuICAgIC5maWVsZCAuY3MtbGltaXRlcl9fbGFiZWwtLXByZWZpeCB7XG4gICAgICBwYWRkaW5nOiAwIDFyZW0gMCAxcmVtOyB9XG4gICAgLmNzLWxpbWl0ZXJfX2xhYmVsLS1zdWZmaXgsXG4gICAgLmZpZWxkIC5jcy1saW1pdGVyX19sYWJlbC0tc3VmZml4IHtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDFyZW07IH1cbiAgLmNzLWxpbWl0ZXJfX3BhZ2luYXRpb24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuY3MtbGltaXRlcl9fcGFnaW5hdGlvbi1pdGVtIHtcbiAgICBtYXJnaW46IDAgNnB4IDAgMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNFRkVGRjA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG4gIC5jcy1saW1pdGVyX19wYWdpbmF0aW9uLW51bWJlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1pbi13aWR0aDogMy41cmVtO1xuICAgIG1pbi1oZWlnaHQ6IDMuMXJlbTtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMC4zZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBsaW5lYXI7IH1cbiAgICAuY3MtbGltaXRlcl9fcGFnaW5hdGlvbi1udW1iZXIsIC5jcy1saW1pdGVyX19wYWdpbmF0aW9uLW51bWJlcjp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmNzLWxpbWl0ZXJfX3BhZ2luYXRpb24tbnVtYmVyOmhvdmVyLCAuY3MtbGltaXRlcl9fcGFnaW5hdGlvbi1udW1iZXI6Zm9jdXMsIC5jcy1saW1pdGVyX19wYWdpbmF0aW9uLW51bWJlcjphY3RpdmUge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY29sb3I6ICMyMTIxMjE7XG4gICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0OyB9XG4gICAgLmNzLWxpbWl0ZXJfX3BhZ2luYXRpb24tbnVtYmVyIC5sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmllMTEgLmNzLWxpbWl0ZXJfX3BhZ2luYXRpb24tbnVtYmVyIHtcbiAgICAgIGhlaWdodDogMXB4OyB9XG4gICAgLmNzLWxpbWl0ZXJfX3BhZ2luYXRpb24taXRlbS0tY3VycmVudCAuY3MtbGltaXRlcl9fcGFnaW5hdGlvbi1udW1iZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1pbi13aWR0aDogMy41cmVtO1xuICAgICAgbWluLWhlaWdodDogMy4xcmVtO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCAwLjNlbTtcbiAgICAgIGJhY2tncm91bmQ6ICNGRjc0NDI7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgbGluZWFyOyB9XG4gICAgICAuY3MtbGltaXRlcl9fcGFnaW5hdGlvbi1pdGVtLS1jdXJyZW50IC5jcy1saW1pdGVyX19wYWdpbmF0aW9uLW51bWJlciAubGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuY3MtbGltaXRlcl9fcGFnaW5hdGlvbi1pdGVtLS1jdXJyZW50IC5jcy1saW1pdGVyX19wYWdpbmF0aW9uLW51bWJlciwgLmNzLWxpbWl0ZXJfX3BhZ2luYXRpb24taXRlbS0tY3VycmVudCAuY3MtbGltaXRlcl9fcGFnaW5hdGlvbi1udW1iZXI6aG92ZXIsIC5jcy1saW1pdGVyX19wYWdpbmF0aW9uLWl0ZW0tLWN1cnJlbnQgLmNzLWxpbWl0ZXJfX3BhZ2luYXRpb24tbnVtYmVyOmZvY3VzLCAuY3MtbGltaXRlcl9fcGFnaW5hdGlvbi1pdGVtLS1jdXJyZW50IC5jcy1saW1pdGVyX19wYWdpbmF0aW9uLW51bWJlcjphY3RpdmUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZDogI0ZGNzQ0MjtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5jcy1saW1pdGVyIC5jcy1odG1sLXNlbGVjdCxcbiAgLmNzLWxpbWl0ZXIgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLFxuICAuY3MtbGltaXRlciBzZWxlY3Qge1xuICAgIG1pbi13aWR0aDogM3JlbTtcbiAgICBtaW4taGVpZ2h0OiA0cmVtOyB9XG5cbi5jcy1kYXNoYm9hcmQgLmxpbWl0ZXItbGFiZWwsXG4uY3MtZGFzaGJvYXJkIC5saW1pdGVyLXRleHQge1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cblxuLmNzLWRhc2hib2FyZCAubGltaXRlci10ZXh0IHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uY3MtZGFzaGJvYXJkIC5saW1pdGVyLW9wdGlvbnMge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogUmFkaW8gYW5kIGNoZWNrYm94IHN0eWxpbmcgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uIHtcbiAgbWFyZ2luLXRvcDogLTRweDtcbiAgLyoqXG4gICAgICogSW5wdXQgbW9kZVxuICAgICAqLyB9XG4gIC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uIC5wYWdlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uIC52aWV3LWFsbC1saW5rIHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDIuMnJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG4gICAgbWFyZ2luLWxlZnQ6IDJ2dzsgfVxuICAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbiAucGFnZXMtaXRlbXMge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb24gLnBhZ2VzLWl0ZW1zIC5pdGVtIHtcbiAgICAgIG1hcmdpbjogMCA2cHggMCAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNFRkVGRjA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG4gICAgICAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbiAucGFnZXMtaXRlbXMgLml0ZW0gYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtaW4td2lkdGg6IDMuNXJlbTtcbiAgICAgICAgbWluLWhlaWdodDogMy4xcmVtO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMCAwLjNlbTtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGxpbmVhcjsgfVxuICAgICAgICAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbiAucGFnZXMtaXRlbXMgLml0ZW0gYSwgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb24gLnBhZ2VzLWl0ZW1zIC5pdGVtIGE6dmlzaXRlZCB7XG4gICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAgIC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uIC5wYWdlcy1pdGVtcyAuaXRlbSBhOmhvdmVyLCAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbiAucGFnZXMtaXRlbXMgLml0ZW0gYTpmb2N1cywgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb24gLnBhZ2VzLWl0ZW1zIC5pdGVtIGE6YWN0aXZlIHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgY29sb3I6ICMyMTIxMjE7XG4gICAgICAgICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7IH1cbiAgICAgICAgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb24gLnBhZ2VzLWl0ZW1zIC5pdGVtIGEgLmxhYmVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC5pZTExIC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uIC5wYWdlcy1pdGVtcyAuaXRlbSBhIHtcbiAgICAgICAgICBoZWlnaHQ6IDFweDsgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uIC5wYWdlcy1pdGVtcyAuaXRlbSBhLnByZXZpb3VzLCAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbiAucGFnZXMtaXRlbXMgLml0ZW0gYS5uZXh0IHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAgIC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uIC5wYWdlcy1pdGVtcyAuaXRlbS5jdXJyZW50IHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgI0ZGNzQ0MjsgfVxuICAgICAgICAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbiAucGFnZXMtaXRlbXMgLml0ZW0uY3VycmVudCBzdHJvbmcge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBtaW4td2lkdGg6IDMuNXJlbTtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAzLjFyZW07XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAuM2VtO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNGRjc0NDI7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgbGluZWFyOyB9XG4gICAgICAgICAgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb24gLnBhZ2VzLWl0ZW1zIC5pdGVtLmN1cnJlbnQgc3Ryb25nIC5sYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb24gLnBhZ2VzLWl0ZW1zIC5pdGVtLmN1cnJlbnQgc3Ryb25nLCAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbiAucGFnZXMtaXRlbXMgLml0ZW0uY3VycmVudCBzdHJvbmc6aG92ZXIsIC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uIC5wYWdlcy1pdGVtcyAuaXRlbS5jdXJyZW50IHN0cm9uZzpmb2N1cywgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb24gLnBhZ2VzLWl0ZW1zIC5pdGVtLmN1cnJlbnQgc3Ryb25nOmFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGRjc0NDI7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgICAgIC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uIC5wYWdlcy1pdGVtcyAuaXRlbS5wYWdlcy1pdGVtLXByZXZpb3VzLCAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbiAucGFnZXMtaXRlbXMgLml0ZW0ucGFnZXMtaXRlbS1uZXh0IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG4gICAgICAgIC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uIC5wYWdlcy1pdGVtcyAuaXRlbS5wYWdlcy1pdGVtLXByZXZpb3VzIHNwYW4sIC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uIC5wYWdlcy1pdGVtcyAuaXRlbS5wYWdlcy1pdGVtLW5leHQgc3BhbiB7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbiAucGFnZXMtaXRlbXMgLml0ZW0ucGFnZXMtaXRlbS1wcmV2aW91cywgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb24gLnBhZ2VzLWl0ZW1zIC5pdGVtLnBhZ2VzLWl0ZW0tbmV4dCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE2cHg7IH1cbiAgICAgICAgICAgIC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uIC5wYWdlcy1pdGVtcyAuaXRlbS5wYWdlcy1pdGVtLXByZXZpb3VzIHNwYW4sIC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uIC5wYWdlcy1pdGVtcyAuaXRlbS5wYWdlcy1pdGVtLW5leHQgc3BhbiB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMDsgfSB9XG4gICAgICAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbiAucGFnZXMtaXRlbXMgLml0ZW0ucGFnZXMtaXRlbS1wcmV2aW91cyBzcGFuIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cbiAgICAgICAgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb24gLnBhZ2VzLWl0ZW1zIC5pdGVtLnBhZ2VzLWl0ZW0tcHJldmlvdXMgc3BhbiBzdmcge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAwOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgICAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbiAucGFnZXMtaXRlbXMgLml0ZW0ucGFnZXMtaXRlbS1wcmV2aW91cyBzdmcge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgICAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbiAucGFnZXMtaXRlbXMgLml0ZW0ucGFnZXMtaXRlbS1uZXh0IHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgICAgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb24gLnBhZ2VzLWl0ZW1zIC5pdGVtLnBhZ2VzLWl0ZW0tbmV4dCBzdmcge1xuICAgICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb24gLnBhZ2VzLWl0ZW1zIC5pdGVtLnBhZ2VzLWl0ZW0tbmV4dCBzdmcge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbl9fcGFnZS1wcm92aWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb25fX3BhZ2UtcHJvdmlkZXItaW5wdXQuaW5wdXQtdGV4dCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC1oZWlnaHQ6IDRyZW07XG4gICAgd2lkdGg6IDQuNWVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDAuODVlbTsgfVxuICAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbl9fcGFnZS1wcm92aWRlci1sYWJlbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb25fX2FjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtaW4td2lkdGg6IDMuNXJlbTtcbiAgICBtaW4taGVpZ2h0OiAzLjFyZW07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5pZTExIC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uX19hY3Rpb24ge1xuICAgICAgaGVpZ2h0OiAxcHg7IH1cbiAgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb25fX2FjdGlvbi1pY29uIHtcbiAgICB3aWR0aDogMC41cmVtO1xuICAgIGhlaWdodDogMi40cmVtO1xuICAgIGZpbGw6ICNGRjQ2MDQ7XG4gICAgdHJhbnNpdGlvbjogZmlsbCAwLjE1cyBsaW5lYXI7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb25fX2FjdGlvbi1pY29uIHtcbiAgICAgICAgd2lkdGg6IDAuNnJlbTsgfSB9XG4gICAgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb25fX2FjdGlvbi1pY29uIGcge1xuICAgICAgZmlsbDogIzAwMDsgfVxuICAgIC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uX19hY3Rpb24tLWRpc2FibGVkIC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uX19hY3Rpb24taWNvbiB7XG4gICAgICBmaWxsOiAjZGNkY2RjOyB9XG4gICAgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb25fX2FjdGlvbjpub3QoLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb25fX2FjdGlvbi0tZGlzYWJsZWQpOmhvdmVyIC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uX19hY3Rpb24taWNvbixcbiAgICAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbl9fYWN0aW9uOm5vdCguY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbl9fYWN0aW9uLS1kaXNhYmxlZCk6Zm9jdXMgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb25fX2FjdGlvbi1pY29uLFxuICAgIC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uX19hY3Rpb246bm90KC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uX19hY3Rpb24tLWRpc2FibGVkKTphY3RpdmUgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb25fX2FjdGlvbi1pY29uIHtcbiAgICAgIGZpbGw6ICMxNDJiOWU7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogUmVtb3ZlIGJyb3dzZXIncyBtYXJnaW5zLCBwYWRkaW5ncyBhbmQgbGlzdCBzdHlsZSBydWxlc1xuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLmNzLXZpZXdtb2RlLXN3aXRjaGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY3Mtdmlld21vZGUtc3dpdGNoZXJfX2xhYmVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCA0cHggMCAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjRweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3Mtdmlld21vZGUtc3dpdGNoZXJfX2xhYmVsIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9IH1cbiAgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlcyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAuY3Mtdmlld21vZGUtc3dpdGNoZXJfX21vZGVzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH0gfVxuICAuY3Mtdmlld21vZGUtc3dpdGNoZXJfX21vZGUge1xuICAgIG1hcmdpbjogMCAycHggMCAwOyB9XG4gIC5jcy12aWV3bW9kZS1zd2l0Y2hlcl9fbW9kZS1hY3Rpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtaW4td2lkdGg6IDMuNXJlbTtcbiAgICBtaW4taGVpZ2h0OiAzLjFyZW07XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDAuM2VtO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgbGluZWFyO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLWFjdGlvbiwgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLWFjdGlvbjp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLWFjdGlvbjpob3ZlciwgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLWFjdGlvbjpmb2N1cywgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLWFjdGlvbjphY3RpdmUge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY29sb3I6ICMyMTIxMjE7XG4gICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0OyB9XG4gICAgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLWFjdGlvbiAubGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3Mtdmlld21vZGUtc3dpdGNoZXJfX21vZGUtaWNvbiBnIHtcbiAgICBmaWxsOiAjRkY3NDQyOyB9XG4gIC5jcy12aWV3bW9kZS1zd2l0Y2hlcl9fbW9kZS1pY29uLS1ncmlkIHtcbiAgICB3aWR0aDogMi41cmVtO1xuICAgIGhlaWdodDogMi4xcmVtOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy12aWV3bW9kZS1zd2l0Y2hlcl9fbW9kZS1pY29uLS1ncmlkIHtcbiAgICAgICAgd2lkdGg6IDIuOXJlbTtcbiAgICAgICAgaGVpZ2h0OiAyLjZyZW07IH0gfVxuICAuY3Mtdmlld21vZGUtc3dpdGNoZXJfX21vZGUtaWNvbi0tbGlzdCB7XG4gICAgd2lkdGg6IDIuNXJlbTtcbiAgICBoZWlnaHQ6IDIuMXJlbTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3Mtdmlld21vZGUtc3dpdGNoZXJfX21vZGUtaWNvbi0tbGlzdCB7XG4gICAgICAgIHdpZHRoOiAyLjlyZW07XG4gICAgICAgIGhlaWdodDogMi42cmVtOyB9IH1cbiAgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLS1jdXJyZW50IC5jcy12aWV3bW9kZS1zd2l0Y2hlcl9fbW9kZS1pY29uIGcge1xuICAgIGZpbGw6ICMwMDA7IH1cbiAgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLWljb24gKyAuY3Mtdmlld21vZGUtc3dpdGNoZXJfX21vZGUtbGFiZWwge1xuICAgIHBhZGRpbmctbGVmdDogMC43cmVtOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbmZpZy9icmVha3BvaW50cyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wc2V1ZG9pY29uL21peGluJztcblxuJHRvb2xiYXJfZGlzcGxheTogZmxleCAhZGVmYXVsdDtcbiR0b29sYmFyX2ZsZXgtYWxpZ24taXRlbXM6IGNlbnRlciAhZGVmYXVsdDtcbiR0b29sYmFyX2ZsZXgtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFkZWZhdWx0O1xuJHRvb2xiYXJfZmxleC13cmFwOiB3cmFwICFkZWZhdWx0O1xuJHRvb2xiYXJfZm9udC1zaXplOiAxLjJyZW0gIWRlZmF1bHQ7XG4kdG9vbGJhcl9mb250LXdlaWdodDogaW5oZXJpdCAhZGVmYXVsdDtcbiR0b29sYmFyX3RleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xuXG4kdG9vbGJhcl9lbGVtZW50cy1wYWRkaW5nLXRhYmxldC11cDogMCAwIDAgMCAhZGVmYXVsdDtcbiR0b29sYmFyX2VsZW1lbnRzLW1hcmdpbjogMCAwIDEuNXJlbSAhZGVmYXVsdDtcblxuJHRvb2xiYXJfc2VsZWN0LW1pbi1oZWlnaHQ6IDRyZW0gIWRlZmF1bHQ7XG4kdG9vbGJhcl9pbnB1dC1tYXgtaGVpZ2h0OiAkdG9vbGJhcl9zZWxlY3QtbWluLWhlaWdodCAhZGVmYXVsdDtcblxuJHRvb2xiYXJfc2VsZWN0cy1tYXgtd2lkdGgtdGFibGV0OiAyMHJlbSAhZGVmYXVsdDsgLy8gc2V0ICdub25lJyB0byBkaXNhYmxlXG5cbiR0b29sYmFyX2NvbXBvbmVudHMtYWxpZ25tZW50OiAoXG4gICAgYW1vdW50OiBsZWZ0LFxuICAgIHNvcnRlcjogbGVmdCxcbiAgICBsaW1pdGVyOiBsZWZ0LFxuICAgIHZpZXdtb2RlLXN3aXRjaGVyOiBsZWZ0LFxuICAgIHBhZ2luYXRpb246IHJpZ2h0LFxuKSAhZGVmYXVsdDtcblxuJHRvb2xiYXJfYW1vdW50LWFsaWduOiBsZWZ0ICFkZWZhdWx0O1xuJHRvb2xiYXJfc29ydGVyLWFsaWduOiBsZWZ0ICFkZWZhdWx0O1xuJHRvb2xiYXJfbGltaXRlci1hbGlnbjogbGVmdCAhZGVmYXVsdDtcbiR0b29sYmFyX3ZpZXdtb2RlLXN3aXRjaGVyLWFsaWduOiBsZWZ0ICFkZWZhdWx0O1xuJHRvb2xiYXJfcGFnaW5hdGlvbi1hbGlnbjogcmlnaHQgIWRlZmF1bHQ7XG5cblxuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tdXNlLXBzZXVkb2ljb24taW5zdGVhZC1zdmc6IHRydWUgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi13aWR0aDogMC42cmVtICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24taGVpZ2h0OiAwLjFyZW0gIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1jb2xvcjogJGZvcm1fZmllbGQtYm9yZGVyICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tY29sb3ItLWhvdmVyOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1jb2xvciAhZGVmYXVsdDtcbi8vIEJlbG93IG5hdmlnYXRpb25faWNvbiBzZXR0aW5ncyBhcmUgdXNhYmxlIG9ubHkgaWYgeW91IHVzZSBwc2V1ZG9pY29uXG4kb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi10eXBlOiAnYXJyb3cnICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tZGVmYXVsdC0tbmV4dDogJ3JpZ2h0JyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWFuaW1hdGlvbjogZmFsc2UgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1hcnJvdy1sZWZ0LW9mZnNldDogMCAhZGVmYXVsdDtcblxuLiN7JG5zfXRvb2xiYXIge1xuICAgICRyb290OiAmO1xuXG4gICAgZm9udC1zaXplOiAkdG9vbGJhcl9mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICR0b29sYmFyX2ZvbnQtd2VpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiAkdG9vbGJhcl90ZXh0LXRyYW5zZm9ybTtcblxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBkaXNwbGF5OiAkdG9vbGJhcl9kaXNwbGF5O1xuXG4gICAgICAgIEBpZiAkdG9vbGJhcl9kaXNwbGF5ID09IGZsZXgge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6ICR0b29sYmFyX2ZsZXgtYWxpZ24taXRlbXM7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR0b29sYmFyX2ZsZXgtanVzdGlmeS1jb250ZW50O1xuICAgICAgICAgICAgZmxleC13cmFwOiAkdG9vbGJhcl9mbGV4LXdyYXAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICAucmVmaW5lLXRvZ2dsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiA2cHggMTFweDtcbiAgICAgICAgd2lkdGg6IDQ4JTtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRmb3JtX2ZpZWxkLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgcHNldWRvaWNvbihcbiAgICAgICAgICAgICR0eXBlOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi10eXBlLFxuICAgICAgICAgICAgJGFuaW1hdGVkOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1hbmltYXRpb24sXG4gICAgICAgICAgICAkYXJyb3ctZGVmYXVsdDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tZGVmYXVsdC0tbmV4dCxcbiAgICAgICAgICAgICRhcnJvdy1vZmZzZXQ6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWFycm93LWxlZnQtb2Zmc2V0LFxuICAgICAgICAgICAgJHdpZHRoOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi13aWR0aCxcbiAgICAgICAgICAgICRoZWlnaHQ6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWhlaWdodCxcbiAgICAgICAgICAgICRjb2xvcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tY29sb3IsXG4gICAgICAgICAgICAkY29sb3ItaG92ZXI6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWNvbG9yLS1ob3ZlcixcbiAgICAgICAgICAgICRwb3NpdGlvbi1zaWRlLW9mZnNldDoxNXB4XG4gICAgICAgICk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBtYXJnaW46ICR0b29sYmFyX2VsZW1lbnRzLW1hcmdpbjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkdG9vbGJhcl9lbGVtZW50cy1wYWRkaW5nLXRhYmxldC11cDtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbW9kaWZpZXIsICR2YWx1ZSBpbiAkdG9vbGJhcl9jb21wb25lbnRzLWFsaWdubWVudCB7XG4gICAgICAgICAgICBAaWYgJHZhbHVlID09IHJpZ2h0IHtcbiAgICAgICAgICAgICAgICAmLS0jeyRtb2RpZmllcn0ge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgJHRvb2xiYXJfZGlzcGxheSA9PSBmbGV4IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxpbWl0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zb3J0ZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQ1cHg7XG5cbiAgICAgICAgICAgIC5jcy1odG1sLXNlbGVjdCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxOXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0OCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjAwcHg7XG5cbiAgICAgICAgICAgICAgICAuc29ydGVyLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS12aWV3bW9kZS1zd2l0Y2hlciB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBvcmRlcjogMztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmZpZWxkIC5sYWJlbCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkdG9vbGJhcl9mb250LXdlaWdodDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLiN7JG5zfWh0bWwtc2VsZWN0IHtcbiAgICAgICAgQGlmICR0b29sYmFyX3NlbGVjdHMtbWF4LXdpZHRoLXRhYmxldCAhPSBub25lIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogJHRvb2xiYXJfc2VsZWN0cy1tYXgtd2lkdGgtdGFibGV0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fdHJpZ2dlciB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAkdG9vbGJhcl9zZWxlY3QtbWluLWhlaWdodDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGltcG9ydCAnY29tcG9uZW50cy90b29sYmFyL2Ftb3VudC5zY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbGJhci9zb3J0ZXIuc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2xiYXIvbGltaXRlci5zY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbGJhci9wYWdpbmF0aW9uLnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sYmFyL3ZpZXdtb2RlLXN3aXRjaGVyLnNjc3MnO1xuIiwiLnRvb2xiYXItYW1vdW50IHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29uZmlnL2JyZWFrcG9pbnRzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BzZXVkb2ljb24vbWl4aW4nO1xuXG4kc29ydGVyX2Rpc3BsYXk6IGZsZXggIWRlZmF1bHQ7XG4kc29ydGVyX2ZsZXgtYWxpZ24taXRlbXM6IGNlbnRlciAhZGVmYXVsdDtcblxuJHNvcnRlcl9sYWJlbC1wYWRkaW5nOiAwIDEuNHJlbSAwIDAgIWRlZmF1bHQ7XG4kc29ydGVyX2xhYmVsLXdoaXRlLXNwYWNlOiBub3dyYXAgIWRlZmF1bHQ7XG5cbi4jeyRuc31zb3J0ZXIge1xuICAgIGRpc3BsYXk6ICRzb3J0ZXJfZGlzcGxheTtcblxuXG4gICAgQGlmICRzb3J0ZXJfZGlzcGxheSA9PSBmbGV4IHtcbiAgICAgICAgYWxpZ24taXRlbXM6ICRzb3J0ZXJfZmxleC1hbGlnbi1pdGVtcztcbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIHBhZGRpbmc6ICRzb3J0ZXJfbGFiZWwtcGFkZGluZztcbiAgICAgICAgd2hpdGUtc3BhY2U6ICRzb3J0ZXJfbGFiZWwtd2hpdGUtc3BhY2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjRweDtcbiAgICB9XG5cbiAgICAmX19zZWxlY3Qge1xuICAgICAgICB3aWR0aDogMHB4O1xuICAgIH1cblxuICAgIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlciB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRmb3JtX2ZpZWxkLWJvcmRlcjtcbiAgICAgICAgbWF4LXdpZHRoOiAxODhweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBzZXVkb2ljb24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICdhcnJvdycsXG4gICAgICAgICAgICAgICAgJGFuaW1hdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAkYXJyb3ctZGVmYXVsdDogJ2Rvd24nLFxuICAgICAgICAgICAgICAgICR3aWR0aDogMC43cmVtLFxuICAgICAgICAgICAgICAgICRoZWlnaHQ6IDAuMXJlbSxcbiAgICAgICAgICAgICAgICAkY29sb3I6ICRmb3JtX2ZpZWxkLWJvcmRlcixcbiAgICAgICAgICAgICAgICAkY29sb3ItaG92ZXI6ICRmb3JtX2ZpZWxkLWJvcmRlcixcbiAgICAgICAgICAgICAgICAkYXJyb3ctYWN0aXZlOiAnZG93bidcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICByaWdodDogY2FsYyggMS4ycmVtICsgMS4ycmVtIC0gMC40cmVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlci1jYXJldCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICB3aWR0aDogNC4ycmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiA0cmVtO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfYmxhY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXItY2FyZXQtYXJyb3cge1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyLFxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxLjFyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxLjJyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDEuOXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG5AbWl4aW4gcGFnaW5hdGlvbi1saXN0LWhvb2soKSB7XG59XG5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0taG9vaygpIHtcbn1cblxuQG1peGluIHBhZ2luYXRpb24tbnVtYmVyLWhvb2soKSB7XG59XG5cbkBtaXhpbiBwYWdpbmF0aW9uLW51bWJlci0tY3VycmVudC1ob29rKCkge1xufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb25maWcvYnJlYWtwb2ludHMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbGJhci9taXhpbnMuc2Nzcyc7XG5cbiRsaW1pdGVyX2Rpc3BsYXk6IGZsZXggIWRlZmF1bHQ7XG4kbGltaXRlcl9mbGV4LWFsaWduLWl0ZW1zOiBjZW50ZXIgIWRlZmF1bHQ7XG5cbiRsaW1pdGVyX2xhYmVscy13aGl0ZS1zcGFjZTogbm93cmFwICFkZWZhdWx0O1xuJGxpbWl0ZXJfbWFyZ2luOiAwIDFyZW0gMCAwO1xuJGxpbWl0ZXJfcHJlZml4LWxhYmVsLXBhZGRpbmc6IDAgMXJlbSAwIDFyZW0gIWRlZmF1bHQ7XG4kbGltaXRlcl9zdWZmaXgtbGFiZWwtcGFkZGluZzogMCAwIDAgMXJlbSAhZGVmYXVsdDtcblxuJHNvcnRlcl9zZWxlY3QtbWluLWhlaWdodDogJHRvb2xiYXJfc2VsZWN0LW1pbi1oZWlnaHQgIWRlZmF1bHQ7XG5cbi4jeyRuc31saW1pdGVyIHtcbiAgICAkcm9vdDogJjtcblxuICAgIGRpc3BsYXk6ICRsaW1pdGVyX2Rpc3BsYXk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogJGxpbWl0ZXJfbWFyZ2luO1xuXG4gICAgQGlmICRsaW1pdGVyX2Rpc3BsYXkgPT0gZmxleCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiAkbGltaXRlcl9mbGV4LWFsaWduLWl0ZW1zO1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgICYsXG4gICAgICAgIC5maWVsZCAmIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiAkbGltaXRlcl9sYWJlbHMtd2hpdGUtc3BhY2U7XG5cbiAgICAgICAgICAgICYtLXByZWZpeCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGxpbWl0ZXJfcHJlZml4LWxhYmVsLXBhZGRpbmc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLXN1ZmZpeCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGxpbWl0ZXJfc3VmZml4LWxhYmVsLXBhZGRpbmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wYWdpbmF0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1saXN0KCk7XG4gICAgfVxuXG4gICAgJl9fcGFnaW5hdGlvbi1pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtKCk7XG4gICAgfVxuXG4gICAgJl9fcGFnaW5hdGlvbi1udW1iZXIge1xuICAgICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLW51bWJlcigpO1xuXG4gICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgLy8gQnVnOiBTZXR0aW5nIG1pbi1oZWlnaHQgYnJlYWtzIGFsaWduLWl0ZW1zOiBjZW50ZXIgaW4gaWUxMS5cbiAgICAgICAgICAgIC8vIFNldHRpbmcgaGVpZ2h0IHRvIGEgdmFsdWUgbGVzcyB0aGVuIG1pbi1oZWlnaHQgZml4ZXMgdGhlIGFsaWduLWl0ZW1zOiBjZW50ZXIgaXNzdWUgaW4gSUUxMSwgYnV0IHRoZSBjb250YWluZXIgc3RpbGwgc2V0cyBpdHMgc2l6ZSBiYXNlZCBvbiBtaW4taGVpZ2h0XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19wYWdpbmF0aW9uLWl0ZW0tLWN1cnJlbnQgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLW51bWJlci0tY3VycmVudCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLiN7JG5zfWh0bWwtc2VsZWN0LFxuICAgIC4jeyRuc31odG1sLXNlbGVjdF9fdHJpZ2dlcixcbiAgICBzZWxlY3Qge1xuICAgICAgICBtaW4td2lkdGg6IDNyZW07XG4gICAgICAgIG1pbi1oZWlnaHQ6ICRzb3J0ZXJfc2VsZWN0LW1pbi1oZWlnaHQ7XG4gICAgfVxufVxuXG4vL3VzZXIgYXJlYSBsaW1pdGVyIGFmdGVyIHJlZmFjdG9yXG5cbi4jeyRuc31kYXNoYm9hcmQge1xuICAgIC5saW1pdGVyLWxhYmVsLFxuICAgIC5saW1pdGVyLXRleHQge1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgfVxuXG4gICAgLmxpbWl0ZXItdGV4dCB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmxpbWl0ZXItb3B0aW9ucyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29uZmlnL2JyZWFrcG9pbnRzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy9yZXNldC1saXN0LXN0eWxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbGJhci9ob29rcy5zY3NzJztcblxuJHBhZ2luYXRpb24tbGlzdF9kaXNwbGF5OiBmbGV4ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGlzdF9mbGV4LWFsaWduLWl0ZW1zOiBzdHJldGNoICFkZWZhdWx0O1xuQG1peGluIHBhZ2luYXRpb24tbGlzdCB7XG4gICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZSgpO1xuICAgIGRpc3BsYXk6ICRwYWdpbmF0aW9uLWxpc3RfZGlzcGxheTtcblxuICAgIEBpZiAkbGltaXRlcl9kaXNwbGF5ID09IGZsZXgge1xuICAgICAgICBhbGlnbi1pdGVtczogJHBhZ2luYXRpb24tbGlzdF9mbGV4LWFsaWduLWl0ZW1zO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tbGlzdC1ob29rKCk7XG59XG5cbiRwYWdpbmF0aW9uLWl0ZW1fbWFyZ2luOiAwIDZweCAwIDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtX3BhZGRpbmc6IDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtX2JvcmRlci13aWR0aDogMnB4ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbV9ib3JkZXItY29sb3I6ICRib3JkZXJfY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtX2JvcmRlcjogJHBhZ2luYXRpb24taXRlbS1ib3JkZXItd2lkdGggc29saWRcbiAgICAkcGFnaW5hdGlvbi1pdGVtLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW1fcm91bmQtZWRnZXM6IHRydWUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtX3JvdW5kLWVkZ2VzLXJhZGl1czogM3B4ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbV9hcy1jaXJjbGU6IGZhbHNlICFkZWZhdWx0O1xuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtIHtcbiAgICBtYXJnaW46ICRwYWdpbmF0aW9uLWl0ZW1fbWFyZ2luO1xuICAgIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW1fcGFkZGluZztcbiAgICBib3JkZXI6ICRwYWdpbmF0aW9uLWl0ZW1fYm9yZGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkcGFnaW5hdGlvbi1pdGVtX21hcmdpbiA9PVxuICAgICAgICAwIGFuZFxuICAgICAgICAkcGFnaW5hdGlvbi1pdGVtX2JvcmRlci13aWR0aCAhPVxuICAgICAgICAwIGFuZFxuICAgICAgICAkcGFnaW5hdGlvbi1pdGVtX2JvcmRlciAhPVxuICAgICAgICBub25lXG4gICAge1xuICAgICAgICBtYXJnaW4tbGVmdDogLSN7JHBhZ2luYXRpb24taXRlbV9ib3JkZXItd2lkdGh9O1xuICAgIH1cblxuICAgIEBpZiAkcGFnaW5hdGlvbi1pdGVtX3JvdW5kLWVkZ2VzIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHBhZ2luYXRpb24taXRlbV9yb3VuZC1lZGdlcy1yYWRpdXM7XG4gICAgfVxuXG4gICAgQGlmICRwYWdpbmF0aW9uLWl0ZW1fYXMtY2lyY2xlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1ob29rKCk7XG59XG5cbiRwYWdpbmF0aW9uLW51bWJlcl9taW4td2lkdGg6IDMuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW51bWJlcl9taW4taGVpZ2h0OiAzLjFyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1udW1iZXJfcGFkZGluZzogMCAwLjNlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW51bWJlcl9iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1udW1iZXJfZm9udC1zaXplOiAxLjRyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1udW1iZXJfZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW51bWJlcl9jb2xvcjogJGNvbG9yX2JsYWNrICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbnVtYmVyX3RleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW51bWJlcl90cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1udW1iZXItLWhvdmVyX2NvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1udW1iZXItLWhvdmVyX2JhY2tncm91bmQ6IGluaGVyaXQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1udW1iZXItLWhvdmVyX3RleHQtZGVjb3JhdGlvbjogaW5oZXJpdCAhZGVmYXVsdDtcbkBtaXhpbiBwYWdpbmF0aW9uLW51bWJlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1pbi13aWR0aDogJHBhZ2luYXRpb24tbnVtYmVyX21pbi13aWR0aDtcbiAgICBtaW4taGVpZ2h0OiAkcGFnaW5hdGlvbi1udW1iZXJfbWluLWhlaWdodDtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRwYWdpbmF0aW9uLW51bWJlcl9wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLW51bWJlcl9iYWNrZ3JvdW5kO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXNpemU6ICRwYWdpbmF0aW9uLW51bWJlcl9mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRwYWdpbmF0aW9uLW51bWJlcl9mb250LXdlaWdodDtcbiAgICB0cmFuc2l0aW9uOiAkcGFnaW5hdGlvbi1udW1iZXJfdHJhbnNpdGlvbjtcblxuICAgICYsXG4gICAgJjp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLW51bWJlcl9jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkcGFnaW5hdGlvbi1udW1iZXJfdGV4dC1kZWNvcmF0aW9uO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLW51bWJlci0taG92ZXJfY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLW51bWJlci0taG92ZXJfYmFja2dyb3VuZDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkcGFnaW5hdGlvbi1udW1iZXItLWhvdmVyX3RleHQtZGVjb3JhdGlvbjtcbiAgICB9XG5cbiAgICAubGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tbnVtYmVyLWhvb2soKTtcbn1cblxuJHBhZ2luYXRpb24tbnVtYmVyLS1jdXJyZW50X2NvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1udW1iZXItLWN1cnJlbnRfYmFja2dyb3VuZDogJGNvbG9yX2J1dHRvbl9faG92ZXIgIWRlZmF1bHQ7XG5AbWl4aW4gcGFnaW5hdGlvbi1udW1iZXItLWN1cnJlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtaW4td2lkdGg6ICRwYWdpbmF0aW9uLW51bWJlcl9taW4td2lkdGg7XG4gICAgbWluLWhlaWdodDogJHBhZ2luYXRpb24tbnVtYmVyX21pbi1oZWlnaHQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1udW1iZXJfcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1udW1iZXItLWN1cnJlbnRfYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tbnVtYmVyLS1jdXJyZW50X2NvbG9yO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXNpemU6ICRwYWdpbmF0aW9uLW51bWJlcl9mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRwYWdpbmF0aW9uLW51bWJlcl9mb250LXdlaWdodDtcbiAgICB0cmFuc2l0aW9uOiAkcGFnaW5hdGlvbi1udW1iZXJfdHJhbnNpdGlvbjtcblxuICAgIC5sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJixcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgICBjb2xvcjogJHBhZ2luYXRpb24tbnVtYmVyLS1jdXJyZW50X2NvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1udW1iZXItLWN1cnJlbnRfYmFja2dyb3VuZDtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tbnVtYmVyLS1jdXJyZW50LWhvb2soKTtcbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29uZmlnL2JyZWFrcG9pbnRzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZpZWxkL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbGJhci9taXhpbnMuc2Nzcyc7XG5cbiRwYWdpbmF0aW9uX2NvbnRlbnQtZGlzcGxheTogZmxleCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uX2NvbnRlbnQtZmxleC1hbGlnbi1pdGVtczogZmxleC1zdGFydCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb25fcHJlZml4LWxhYmVsLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uX3ByZWZpeC1sYWJlbC1wYWRkaW5nOiAwIDFyZW0gMCAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbl9wYWdlLXByb3ZpZGVyLWlucHV0LXdpZHRoOiA0LjVlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uX3BhZ2UtcHJvdmlkZXItaW5wdXQtZm9udC1zaXplOiAwLjg1ZW0gIWRlZmF1bHQ7XG5cbi8vIHByZXYvbmV4dCBhcnJvd3NcbiRwYWdpbmF0aW9uX2FjdGlvbi1ndXR0ZXI6IDEuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uX2FjdGlvbi1pY29uLXdpZHRoOiAwLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbl9hY3Rpb24taWNvbi1oZWlnaHQ6IDIuNHJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uX2FjdGlvbi1pY29uLWZpbGw6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uX2FjdGlvbi1pY29uLXRyYW5zaXRpb246IGZpbGwgMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aW9uLS1ob3Zlcl9pY29uLWZpbGw6ICRjb2xvcl90b3JlYS1iYXkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3Rpb24tLWRpc2FibGVkX2ljb24tZmlsbDogJGNvbG9yX2FsdG8gIWRlZmF1bHQ7XG5cbi5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uIHtcbiAgICAkcm9vdDogJjtcbiAgICBtYXJnaW4tdG9wOiAtNHB4O1xuXG4gICAgLnBhZ2VzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC52aWV3LWFsbC1saW5rIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjb2xvcjogJGNvbG9yX2JsYWNrO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjJyZW07XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9ibGFjaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDJ2dztcbiAgICB9XG4gICAgLnBhZ2VzLWl0ZW1zIHtcbiAgICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1saXN0KCk7XG4gICAgICAgIGRpc3BsYXk6ICRwYWdpbmF0aW9uX2NvbnRlbnQtZGlzcGxheTtcblxuICAgICAgICBAaWYgJGxpbWl0ZXJfZGlzcGxheSA9PSBmbGV4IHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiAkcGFnaW5hdGlvbl9jb250ZW50LWZsZXgtYWxpZ24taXRlbXM7XG4gICAgICAgIH1cblxuICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0oKTtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1udW1iZXIoKTtcblxuICAgICAgICAgICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgICAgICAgICAvLyBCdWc6IFNldHRpbmcgbWluLWhlaWdodCBicmVha3MgYWxpZ24taXRlbXM6IGNlbnRlciBpbiBpZTExLlxuICAgICAgICAgICAgICAgICAgICAvLyBTZXR0aW5nIGhlaWdodCB0byBhIHZhbHVlIGxlc3MgdGhlbiBtaW4taGVpZ2h0IGZpeGVzIHRoZSBhbGlnbi1pdGVtczogY2VudGVyIGlzc3VlIGluIElFMTEsIGJ1dCB0aGUgY29udGFpbmVyIHN0aWxsIHNldHMgaXRzIHNpemUgYmFzZWQgb24gbWluLWhlaWdodFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICAgICAgICAgICAgICAmLnByZXZpb3VzLFxuICAgICAgICAgICAgICAgICAgICAmLm5leHR7XG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3JfYnV0dG9uX19ob3ZlcjtcbiAgICAgICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLW51bWJlci0tY3VycmVudCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5wYWdlcy1pdGVtLXByZXZpb3VzLFxuICAgICAgICAgICAgJi5wYWdlcy1pdGVtLW5leHQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5wYWdlcy1pdGVtLXByZXZpb3VzIHtcbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5wYWdlcy1pdGVtLW5leHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5wdXQgbW9kZVxuICAgICAqL1xuICAgICZfX3BhZ2UtcHJvdmlkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgJl9fcGFnZS1wcm92aWRlci1pbnB1dC5pbnB1dC10ZXh0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXgtaGVpZ2h0OiAkdG9vbGJhcl9pbnB1dC1tYXgtaGVpZ2h0OyAvLyB2YXIgaW5oZXJpdGVkIGZyb20gLi90b29sYmFyXG4gICAgICAgIHdpZHRoOiAkcGFnaW5hdGlvbl9wYWdlLXByb3ZpZGVyLWlucHV0LXdpZHRoO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogJHBhZ2luYXRpb25fcGFnZS1wcm92aWRlci1pbnB1dC1mb250LXNpemU7XG4gICAgfVxuXG4gICAgJl9fcGFnZS1wcm92aWRlci1sYWJlbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG5cblxuICAgICZfX2FjdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1pbi13aWR0aDogJHBhZ2luYXRpb24tbnVtYmVyX21pbi13aWR0aDsgLy8gdmFyIGluaGVyaXRlZCBmcm9tIC4vbWl4aW5zXG4gICAgICAgIG1pbi1oZWlnaHQ6ICRwYWdpbmF0aW9uLW51bWJlcl9taW4taGVpZ2h0OyAvLyB2YXIgaW5oZXJpdGVkIGZyb20gLi9taXhpbnNcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICAvLyBCdWc6IFNldHRpbmcgbWluLWhlaWdodCBicmVha3MgYWxpZ24taXRlbXM6IGNlbnRlciBpbiBpZTExLlxuICAgICAgICAgICAgLy8gU2V0dGluZyBoZWlnaHQgdG8gYSB2YWx1ZSBsZXNzIHRoZW4gbWluLWhlaWdodCBmaXhlcyB0aGUgYWxpZ24taXRlbXM6IGNlbnRlciBpc3N1ZSBpbiBJRTExLCBidXQgdGhlIGNvbnRhaW5lciBzdGlsbCBzZXRzIGl0cyBzaXplIGJhc2VkIG9uIG1pbi1oZWlnaHRcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWN0aW9uLWljb24ge1xuICAgICAgICB3aWR0aDogJHBhZ2luYXRpb25fYWN0aW9uLWljb24td2lkdGg7XG4gICAgICAgIGhlaWdodDogJHBhZ2luYXRpb25fYWN0aW9uLWljb24taGVpZ2h0O1xuICAgICAgICBmaWxsOiAkcGFnaW5hdGlvbl9hY3Rpb24taWNvbi1maWxsO1xuICAgICAgICB0cmFuc2l0aW9uOiAkcGFnaW5hdGlvbl9hY3Rpb24taWNvbi10cmFuc2l0aW9uO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICB3aWR0aDogMC42cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgZyB7XG4gICAgICAgICAgICBmaWxsOiAkY29sb3JfYmxhY2s7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fYWN0aW9uLS1kaXNhYmxlZCAmIHtcbiAgICAgICAgICAgIGZpbGw6ICRwYWdpbmF0aW9uLWFjdGlvbi0tZGlzYWJsZWRfaWNvbi1maWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX2FjdGlvbjpub3QoI3skcm9vdH1fX2FjdGlvbi0tZGlzYWJsZWQpOmhvdmVyICYsXG4gICAgICAgICN7JHJvb3R9X19hY3Rpb246bm90KCN7JHJvb3R9X19hY3Rpb24tLWRpc2FibGVkKTpmb2N1cyAmLFxuICAgICAgICAjeyRyb290fV9fYWN0aW9uOm5vdCgjeyRyb290fV9fYWN0aW9uLS1kaXNhYmxlZCk6YWN0aXZlICYge1xuICAgICAgICAgICAgZmlsbDogJHBhZ2luYXRpb24tYWN0aW9uLS1ob3Zlcl9pY29uLWZpbGw7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbmZpZy9icmVha3BvaW50cyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sYmFyL21peGlucy5zY3NzJztcblxuJHZpZXdtb2RlLXN3aXRjaGVyX2Rpc3BsYXk6IGZsZXggIWRlZmF1bHQ7XG4kdmlld21vZGUtc3dpdGNoZXJfZmxleC1hbGlnbi1pdGVtczogY2VudGVyICFkZWZhdWx0O1xuJHZpZXdtb2RlLXN3aXRjaGVyX2NvbG9yOiAkY29sb3JfdGV4dC00MDAgIWRlZmF1bHQ7XG5cbiR2aWV3bW9kZS1zd2l0Y2hlcl9sYWJlbC1wYWRkaW5nOiAwIDFyZW0gMCAwICFkZWZhdWx0O1xuXG4kdmlld21vZGUtc3dpdGNoZXJfYWN0aW9uLXgtYXhpcy1wYWRkaW5nOiAwLjdlbSAhZGVmYXVsdDtcblxuJHZpZXdtb2RlLXN3aXRjaGVyX2FjdGlvbi1pY29uLWZpbGw6ICRjb2xvcl9idXR0b25fX2hvdmVyICFkZWZhdWx0O1xuJHZpZXdtb2RlLXN3aXRjaGVyX2FjdGlvbi1pY29uLS1jdXJyZW50LWZpbGw6ICRjb2xvcl9ibGFjayAhZGVmYXVsdDtcblxuJHZpZXdtb2RlLXN3aXRjaGVyX2FjdGlvbi1pY29uLWdyaWQtd2lkdGg6IDIuNXJlbSAhZGVmYXVsdDtcbiR2aWV3bW9kZS1zd2l0Y2hlcl9hY3Rpb24taWNvbi1ncmlkLWhlaWdodDogMi4xcmVtICFkZWZhdWx0O1xuJHZpZXdtb2RlLXN3aXRjaGVyX2FjdGlvbi1pY29uLWxpc3Qtd2lkdGg6ICR2aWV3bW9kZS1zd2l0Y2hlcl9hY3Rpb24taWNvbi1ncmlkLXdpZHRoICFkZWZhdWx0O1xuJHZpZXdtb2RlLXN3aXRjaGVyX2FjdGlvbi1pY29uLWxpc3QtaGVpZ2h0OiAkdmlld21vZGUtc3dpdGNoZXJfYWN0aW9uLWljb24tZ3JpZC1oZWlnaHQgIWRlZmF1bHQ7XG5cbi4jeyRuc312aWV3bW9kZS1zd2l0Y2hlciB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBkaXNwbGF5OiAkdmlld21vZGUtc3dpdGNoZXJfZGlzcGxheTtcblxuICAgIEBpZiAkc29ydGVyX2Rpc3BsYXkgPT0gZmxleCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiAkdmlld21vZGUtc3dpdGNoZXJfZmxleC1hbGlnbi1pdGVtcztcbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMCA0cHggMCAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC40cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tb2RlcyB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1saXN0KCk7XG4gICAgfVxuXG4gICAgJl9fbW9kZSB7XG4gICAgICAgIG1hcmdpbjogMCAycHggMCAwO1xuICAgIH1cblxuICAgICZfX21vZGUtYWN0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1udW1iZXIoKTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBzZXQgaGVpZ2h0IGV4cGxpY2l0bHkgZm9yIElFXG5cbiAgICAgICAgI3skcm9vdH1fX21vZGUtLWN1cnJlbnQgJiB7XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21vZGUtaWNvbiB7XG4gICAgICAgIGcge1xuICAgICAgICAgICAgZmlsbDogJHZpZXdtb2RlLXN3aXRjaGVyX2FjdGlvbi1pY29uLWZpbGw7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1ncmlkIHtcbiAgICAgICAgICAgIHdpZHRoOiAkdmlld21vZGUtc3dpdGNoZXJfYWN0aW9uLWljb24tZ3JpZC13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogJHZpZXdtb2RlLXN3aXRjaGVyX2FjdGlvbi1pY29uLWdyaWQtaGVpZ2h0O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMi45cmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMi42cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGlzdCB7XG4gICAgICAgICAgICB3aWR0aDogJHZpZXdtb2RlLXN3aXRjaGVyX2FjdGlvbi1pY29uLWxpc3Qtd2lkdGg7XG4gICAgICAgICAgICBoZWlnaHQ6ICR2aWV3bW9kZS1zd2l0Y2hlcl9hY3Rpb24taWNvbi1saXN0LWhlaWdodDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIuOXJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIuNnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19tb2RlLS1jdXJyZW50ICYge1xuICAgICAgICAgICAgZyB7XG4gICAgICAgICAgICAgICAgZmlsbDogJHZpZXdtb2RlLXN3aXRjaGVyX2FjdGlvbi1pY29uLS1jdXJyZW50LWZpbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICArICN7JHJvb3R9X19tb2RlLWxhYmVsIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC43cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogUmFkaW8gYW5kIGNoZWNrYm94IHN0eWxpbmcgKi9cbi5yZXBlcnR1c19wYWNrc3RhdGlvbi0tc2VhcmNoLWJ1dHRvbixcbi5yZXBlcnR1c19wYWNrc3RhdGlvbl9zZWFyY2hfYnV0dG9uIC5hY3Rpb24tYmFzaWMsXG4jcmVwZXJ0dXNfZmluZF9wYWNrc3RhdGlvbl9idXR0b25fZXhlY3V0ZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIjtcbiAgcGFkZGluZzogOHB4IDI1cHg7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHotaW5kZXg6IDU7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7XG4gIG1hcmdpbjogMXJlbSAwIDA7IH1cbiAgLnJlcGVydHVzX3BhY2tzdGF0aW9uLS1zZWFyY2gtYnV0dG9uLm1lZGl1bSxcbiAgLnJlcGVydHVzX3BhY2tzdGF0aW9uX3NlYXJjaF9idXR0b24gLmFjdGlvbi1iYXNpYy5tZWRpdW0sXG4gICNyZXBlcnR1c19maW5kX3BhY2tzdGF0aW9uX2J1dHRvbl9leGVjdXRlLm1lZGl1bSB7XG4gICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gIC5yZXBlcnR1c19wYWNrc3RhdGlvbi0tc2VhcmNoLWJ1dHRvbi5sYXJnZSxcbiAgLnJlcGVydHVzX3BhY2tzdGF0aW9uX3NlYXJjaF9idXR0b24gLmFjdGlvbi1iYXNpYy5sYXJnZSxcbiAgI3JlcGVydHVzX2ZpbmRfcGFja3N0YXRpb25fYnV0dG9uX2V4ZWN1dGUubGFyZ2Uge1xuICAgIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAucmVwZXJ0dXNfcGFja3N0YXRpb24tLXNlYXJjaC1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIC5yZXBlcnR1c19wYWNrc3RhdGlvbl9zZWFyY2hfYnV0dG9uIC5hY3Rpb24tYmFzaWM6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICNyZXBlcnR1c19maW5kX3BhY2tzdGF0aW9uX2J1dHRvbl9leGVjdXRlOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnJlcGVydHVzX3BhY2tzdGF0aW9uLS1zZWFyY2gtYnV0dG9uLCAucmVwZXJ0dXNfcGFja3N0YXRpb24tLXNlYXJjaC1idXR0b246dmlzaXRlZCxcbiAgLnJlcGVydHVzX3BhY2tzdGF0aW9uX3NlYXJjaF9idXR0b24gLmFjdGlvbi1iYXNpYyxcbiAgLnJlcGVydHVzX3BhY2tzdGF0aW9uX3NlYXJjaF9idXR0b24gLmFjdGlvbi1iYXNpYzp2aXNpdGVkLFxuICAjcmVwZXJ0dXNfZmluZF9wYWNrc3RhdGlvbl9idXR0b25fZXhlY3V0ZSxcbiAgI3JlcGVydHVzX2ZpbmRfcGFja3N0YXRpb25fYnV0dG9uX2V4ZWN1dGU6dmlzaXRlZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0OyB9XG4gICAgLnJlcGVydHVzX3BhY2tzdGF0aW9uLS1zZWFyY2gtYnV0dG9uICosIC5yZXBlcnR1c19wYWNrc3RhdGlvbi0tc2VhcmNoLWJ1dHRvbjp2aXNpdGVkICosXG4gICAgLnJlcGVydHVzX3BhY2tzdGF0aW9uX3NlYXJjaF9idXR0b24gLmFjdGlvbi1iYXNpYyAqLFxuICAgIC5yZXBlcnR1c19wYWNrc3RhdGlvbl9zZWFyY2hfYnV0dG9uIC5hY3Rpb24tYmFzaWM6dmlzaXRlZCAqLFxuICAgICNyZXBlcnR1c19maW5kX3BhY2tzdGF0aW9uX2J1dHRvbl9leGVjdXRlICosXG4gICAgI3JlcGVydHVzX2ZpbmRfcGFja3N0YXRpb25fYnV0dG9uX2V4ZWN1dGU6dmlzaXRlZCAqIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAucmVwZXJ0dXNfcGFja3N0YXRpb24tLXNlYXJjaC1idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAucmVwZXJ0dXNfcGFja3N0YXRpb24tLXNlYXJjaC1idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAucmVwZXJ0dXNfcGFja3N0YXRpb24tLXNlYXJjaC1idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSxcbiAgLnJlcGVydHVzX3BhY2tzdGF0aW9uX3NlYXJjaF9idXR0b24gLmFjdGlvbi1iYXNpYzpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gIC5yZXBlcnR1c19wYWNrc3RhdGlvbl9zZWFyY2hfYnV0dG9uIC5hY3Rpb24tYmFzaWM6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAucmVwZXJ0dXNfcGFja3N0YXRpb25fc2VhcmNoX2J1dHRvbiAuYWN0aW9uLWJhc2ljOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksXG4gICNyZXBlcnR1c19maW5kX3BhY2tzdGF0aW9uX2J1dHRvbl9leGVjdXRlOmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgI3JlcGVydHVzX2ZpbmRfcGFja3N0YXRpb25fYnV0dG9uX2V4ZWN1dGU6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAjcmVwZXJ0dXNfZmluZF9wYWNrc3RhdGlvbl9idXR0b25fZXhlY3V0ZTphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjc0NDI7IH1cbiAgICAucmVwZXJ0dXNfcGFja3N0YXRpb24tLXNlYXJjaC1idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5yZXBlcnR1c19wYWNrc3RhdGlvbi0tc2VhcmNoLWJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLnJlcGVydHVzX3BhY2tzdGF0aW9uLS1zZWFyY2gtYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAucmVwZXJ0dXNfcGFja3N0YXRpb25fc2VhcmNoX2J1dHRvbiAuYWN0aW9uLWJhc2ljOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgIC5yZXBlcnR1c19wYWNrc3RhdGlvbl9zZWFyY2hfYnV0dG9uIC5hY3Rpb24tYmFzaWM6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosXG4gICAgLnJlcGVydHVzX3BhY2tzdGF0aW9uX3NlYXJjaF9idXR0b24gLmFjdGlvbi1iYXNpYzphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosXG4gICAgI3JlcGVydHVzX2ZpbmRfcGFja3N0YXRpb25fYnV0dG9uX2V4ZWN1dGU6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosXG4gICAgI3JlcGVydHVzX2ZpbmRfcGFja3N0YXRpb25fYnV0dG9uX2V4ZWN1dGU6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosXG4gICAgI3JlcGVydHVzX2ZpbmRfcGFja3N0YXRpb25fYnV0dG9uX2V4ZWN1dGU6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAucmVwZXJ0dXNfcGFja3N0YXRpb24tLXNlYXJjaC1idXR0b25bZGlzYWJsZWRdLFxuICAucmVwZXJ0dXNfcGFja3N0YXRpb25fc2VhcmNoX2J1dHRvbiAuYWN0aW9uLWJhc2ljW2Rpc2FibGVkXSxcbiAgI3JlcGVydHVzX2ZpbmRfcGFja3N0YXRpb25fYnV0dG9uX2V4ZWN1dGVbZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjY1O1xuICAgIGN1cnNvcjogYXV0bzsgfVxuXG4ucmVwZXJ0dXMtcGFja3N0YXRpb24tc2VhcmNoLm1vZGFsLXBvcHVwLl9zaG93IHtcbiAgei1pbmRleDogOTA1ICFpbXBvcnRhbnQ7IH1cblxuLnJlcGVydHVzLXBhY2tzdGF0aW9uLXNlYXJjaCAubW9kYWwtdGl0bGUge1xuICBwYWRkaW5nLWxlZnQ6IDNyZW07XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi5yZXBlcnR1cy1wYWNrc3RhdGlvbi1zZWFyY2ggLm1vZGFsLWNvbnRlbnQge1xuICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfVxuXG4ucmVwZXJ0dXMtcGFja3N0YXRpb24tc2VhcmNoIC5tb2RhbC1mb290ZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5yZXBlcnR1cy1wYWNrc3RhdGlvbi1zZWFyY2ggLmFjdGlvbi1jbG9zZSB7XG4gIHJpZ2h0OiAxcmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnJlcGVydHVzLXBhY2tzdGF0aW9uLXNlYXJjaCAudG9udXJfcGFja3N0YXRpb25faW5wdXQge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cblxuLnJlcGVydHVzLXBhY2tzdGF0aW9uLXNlYXJjaCAucmVwZXJ0dXNfcGFja3N0YWlvbi0tc2VhcmNoLW1vZGFsLS1pbnB1dC1maWVsZHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLnJlcGVydHVzLXBhY2tzdGF0aW9uLXNlYXJjaCAucmVwZXJ0dXMtLWlucHV0LWZpZWxkIHtcbiAgZm9udC1zaXplOiAxLjNyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDAgMCAxMHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICAucmVwZXJ0dXMtcGFja3N0YXRpb24tc2VhcmNoIC5yZXBlcnR1cy0taW5wdXQtZmllbGQgbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgbWFyZ2luOiAwIDAgM3B4IDA7IH1cbiAgLnJlcGVydHVzLXBhY2tzdGF0aW9uLXNlYXJjaCAucmVwZXJ0dXMtLWlucHV0LWZpZWxkIGlucHV0IHtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBwYWRkaW5nOiAxMXB4IDEwcHg7XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjVzO1xuICAgIG1hcmdpbjogMCAwIDAuMmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDQwcHg7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuICAgIC5yZXBlcnR1cy1wYWNrc3RhdGlvbi1zZWFyY2ggLnJlcGVydHVzLS1pbnB1dC1maWVsZCBpbnB1dDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5yZXBlcnR1cy1wYWNrc3RhdGlvbi1zZWFyY2ggLnJlcGVydHVzLS1pbnB1dC1maWVsZCBpbnB1dDpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0ZGNDYwNDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAucmVwZXJ0dXMtcGFja3N0YXRpb24tc2VhcmNoIC5yZXBlcnR1cy0taW5wdXQtZmllbGQgaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjb2xvcjogIzZFNkU2RTsgfVxuICAgIC5yZXBlcnR1cy1wYWNrc3RhdGlvbi1zZWFyY2ggLnJlcGVydHVzLS1pbnB1dC1maWVsZCBpbnB1dFtkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTsgfVxuICAucmVwZXJ0dXMtcGFja3N0YXRpb24tc2VhcmNoIC5yZXBlcnR1cy0taW5wdXQtZmllbGQucG9zdGNvZGUge1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtOyB9XG5cbi5yZXBlcnR1cy1wYWNrc3RhdGlvbi1zZWFyY2ggI3RvbnVyX3BhY2tzdGF0aW9uX21hcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMjdyZW07XG4gIG1heC1oZWlnaHQ6IDQwcmVtO1xuICBib3JkZXI6IDAuMXJlbSBzb2xpZCAjZmZmZmZmOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLnJlcGVydHVzLXBhY2tzdGF0aW9uLXNlYXJjaCAjdG9udXJfcGFja3N0YXRpb25fbWFwIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDI5LjVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZXBlcnR1cy1wYWNrc3RhdGlvbi1zZWFyY2ggI3RvbnVyX3BhY2tzdGF0aW9uX21hcCB7XG4gICAgICBtaW4taGVpZ2h0OiA0MHJlbTsgfSB9XG5cbi5yZXBlcnR1cy1wYWNrc3RhdGlvbi1zZWFyY2ggI3RvbnVyX3BhY2tzdGF0aW9uX21hcF9vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQwLjJyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIG9wYWNpdHk6IDAuNztcbiAgei1pbmRleDogMTAwOyB9XG4gIC5yZXBlcnR1cy1wYWNrc3RhdGlvbi1zZWFyY2ggI3RvbnVyX3BhY2tzdGF0aW9uX21hcF9vdmVybGF5IHAge1xuICAgIG1hcmdpbi10b3A6IDI3JTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnJlcGVydHVzLXBhY2tzdGF0aW9uLXNlYXJjaCAjdG9udXJfcGFja3N0YXRpb25fbWFwX2ZyYW1lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5yZXBlcnR1cy1wYWNrc3RhdGlvbi1zZWFyY2ggI3RvbnVyX3BhY2tzdGF0aW9uX21hcF9mcmFtZS5idXN5ICN0b251cl9wYWNrc3RhdGlvbl9tYXBfb3ZlcmxheSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuXG4ucmVwZXJ0dXMtcGFja3N0YXRpb24tc2VhcmNoIC5NaWNyb3NvZnRNYXAgLkluZm9ib3ggLmluZm9ib3gtYm9keSB7XG4gIG1pbi13aWR0aDogMTkwcHg7IH1cblxuLnJlcGVydHVzLXBhY2tzdGF0aW9uLXNlYXJjaCAuTWljcm9zb2Z0TWFwIC5JbmZvYm94IC5pbmZvYm94LXRpdGxlIHtcbiAgcGFkZGluZzogMXJlbSAxcmVtIDA7IH1cblxuLnJlcGVydHVzLXBhY2tzdGF0aW9uLXNlYXJjaCAuTWljcm9zb2Z0TWFwIC5JbmZvYm94IC5pbmZvYm94LWFjdGlvbnMge1xuICBoZWlnaHQ6IDIuNXJlbTsgfVxuXG4ucmVwZXJ0dXNfYWRkcmVzc190eXBlX2ZpZWxkc2V0LFxuLnJlcGVydHVzX2FkZHJlc3NfdHlwZV9maWVsZHNldCAuZmllbGRzZXQtd3JhcHBlci1jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmZpZWxkW25hbWU9J3NoaXBwaW5nQWRkcmVzcy5yZXBlcnR1c19hZGRyZXNzX3R5cGUnXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmllbGQvbWl4aW4nO1xuXG4kcmVwZXJ0dXNfc2VhcmNoLWJ1dHRvbi10eXBlOiAncHJpbWFyeScgIWRlZmF1bHQ7XG4kcmVwZXJ0dXNfc2VhcmNoLWljb24tcG9zOiAnbm8taWNvbicgIWRlZmF1bHQ7XG5cbi8vIFN0eWxlIFJlcGVydHVzIFNlYXJjaCBCdXR0b25cbi5yZXBlcnR1c19wYWNrc3RhdGlvbi0tc2VhcmNoLWJ1dHRvbixcbi5yZXBlcnR1c19wYWNrc3RhdGlvbl9zZWFyY2hfYnV0dG9uIC5hY3Rpb24tYmFzaWMsXG4jcmVwZXJ0dXNfZmluZF9wYWNrc3RhdGlvbl9idXR0b25fZXhlY3V0ZSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAkdHlwZTogJHJlcGVydHVzX3NlYXJjaC1idXR0b24tdHlwZSxcbiAgICAgICAgJGljb25fcG9zOiAkcmVwZXJ0dXNfc2VhcmNoLWljb24tcG9zXG4gICAgKTtcbiAgICBtYXJnaW46IDFyZW0gMCAwO1xufVxuXG4vLyBTdHlsZSBSZXBlcnR1cyBTZWFyY2ggTW9kYWxcbi5yZXBlcnR1cy1wYWNrc3RhdGlvbi1zZWFyY2gge1xuICAgICRyb290OiAmO1xuXG4gICAgJi5tb2RhbC1wb3B1cC5fc2hvdyB7XG4gICAgICAgIC8vIElmIGFueSBvdGhlciBNYWdlbnRvJ3MgbW9kYWwgaXMgb3BlbmVkLCBSZXBlcnR1cyBwb3B1cCBtdXN0IGJlIGRpc3BsYXllZCBvbiB0b3Agb2YgaXRcbiAgICAgICAgei1pbmRleDogOTA1ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm1vZGFsLXRpdGxlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgIH1cblxuICAgIC5tb2RhbC1mb290ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5hY3Rpb24tY2xvc2Uge1xuICAgICAgICByaWdodDogMXJlbTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC50b251cl9wYWNrc3RhdGlvbl9pbnB1dCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICB9XG5cbiAgICAucmVwZXJ0dXNfcGFja3N0YWlvbi0tc2VhcmNoLW1vZGFsLS1pbnB1dC1maWVsZHMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgLnJlcGVydHVzLS1pbnB1dC1maWVsZCB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkKCk7XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtbGFiZWwoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLWlucHV0KCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLnBvc3Rjb2RlIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMS41cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3RvbnVyX3BhY2tzdGF0aW9uX21hcCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWluLWhlaWdodDogMjdyZW07XG4gICAgICAgIG1heC1oZWlnaHQ6IDQwcmVtO1xuICAgICAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCAkY29sb3Jfd2hpdGU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmUnKSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAyOS41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgbWluLWhlaWdodDogNDByZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjdG9udXJfcGFja3N0YXRpb25fbWFwX292ZXJsYXkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNDAuMnJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2JsYWNrO1xuICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgIHotaW5kZXg6IDEwMDtcblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDI3JTtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Jfd2hpdGU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjdG9udXJfcGFja3N0YXRpb25fbWFwX2ZyYW1lIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICYuYnVzeSB7XG4gICAgICAgICAgICAjdG9udXJfcGFja3N0YXRpb25fbWFwX292ZXJsYXkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuTWljcm9zb2Z0TWFwIC5JbmZvYm94IHtcbiAgICAgICAgLmluZm9ib3gtYm9keSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDE5MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmluZm9ib3gtdGl0bGUge1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbSAxcmVtIDA7XG4gICAgICAgIH1cblxuICAgICAgICAuaW5mb2JveC1hY3Rpb25zIHtcbiAgICAgICAgICAgIGhlaWdodDogMi41cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBTdHlsZSBSZXBlcnR1cyBDaGVja291dCBGaWVsZHNcbi5yZXBlcnR1c19hZGRyZXNzX3R5cGVfZmllbGRzZXQge1xuICAgICYsXG4gICAgLmZpZWxkc2V0LXdyYXBwZXItY29udGVudCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLmZpZWxkW25hbWU9J3NoaXBwaW5nQWRkcmVzcy5yZXBlcnR1c19hZGRyZXNzX3R5cGUnXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7O0FDRUE7QUNGQTs7O0FETUE7QURJQTtBQWdCQTs7QUNoQkE7QURWQTs7QUNhQTtBQ2JBOzs7QURpQkE7QURQQTtBQWdCQTs7QUNMQTtBRWxCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7OztBQUdBO0FBQ0E7QUFFQTtBQ2RBO0FEZ0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7QUFJQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQURBO0FBS0E7QUFDQTs7QUgzQ0E7O0FLRUE7QUhGQTs7O0FHTUE7QUxJQTtBQWdCQTs7QUtoQkE7QUN1aUJBO0FDOWlCQTtBQUVBO0FBQUE7QUFDQTtB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Q0E7QTVCN0JBO0FBZ0JBOztBNEJpQkE7QVozQ0E7Ozs7Ozs7O0FZb0RBO0FYcERBO0FBU0E7QVNUQTs7QUV5REE7QUM1Q0E7QVY0RkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBVWhIQTtBVnNMQTtBQUNBO0FVdkxBO0FWMExBO0FBQ0E7QVUzTEE7QVZnTUE7QUFDQTtBQUNBO0FVbE1BO0FWd01BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFpREE7QUFDQTtBQUNBO0FVL1BBO0FWa1FBO0FBQ0E7QVVuUUE7QVZ3VEE7QUFDQTtBQUNBO0FBd0JBO0FBQ0E7QUFDQTtBVXBWQTtBVnVWQTtBQUNBO0FVeFZBO0FWeVlBO0FBQ0E7QVVwWUE7QVY4WUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFlQTtBVTVaQTtBVmtkQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBZUE7QUFDQTtBQUNBO0FVcGVBO0FWdUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QVd2SEE7QURtQ0E7QUFDQTtBQUNBO0FBVEE7QVZpS0E7QUFDQTtBVWxLQTtBVnFLQTtBQUNBO0FVdEtBO0FWMktBO0FBQ0E7QUFDQTtBVTdLQTtBVm1MQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBaURBO0FBQ0E7QUFDQTtBVTFPQTtBVjZPQTtBQUNBO0FVOU9BO0FWbVNBO0FBQ0E7QUFDQTtBQXdCQTtBQUNBO0FBQ0E7QVUvVEE7QVZrVUE7QUFDQTtBVW5VQTtBVm9YQTtBQUNBO0FiMEpBO0F1Qi9nQkE7QUNsQkE7QUFLQTtBQUNBO0FEdUJBO0FWb1hBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZUE7QVVsWUE7QVZ3YkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7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Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUM5SUE7Ozs7O0FEbUpBO0FBQ0E7QUNwSkE7QUR5SkE7QUFDQTtBQzFKQTtBRHlKQTtBQUNBO0FDMUpBO0FEeUpBO0FBQ0E7QUMxSkE7OztBRHlKQTtBQUNBO0FDMUpBOzs7QUQ4SkE7QUM5SkE7Ozs7O0FEdUtBO0FDOUpBOztBRDZNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ2hPQTs7O0FEcU9BO0FBQ0E7QUN0T0E7O0FEME9BO0FDMU9BOzs7QURnUEE7QUFDQTtBQUNBO0FBR0E7OztBQUNBO0FDdFBBOztBRDRQQTtBQzVQQTs7QURnUUE7QUFDQTtBQUNBO0FBSUE7O0FBQ0E7QUFDQTtBQ3BRQTs7QUQrUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDbFNBOztBRHVTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVBO0FDalRBOzs7QURzVEE7QUFDQTtBQ3ZUQTs7O0FENlRBO0FBQ0E7QUFDQTtBQy9UQTs7QURvVUE7QUNwVUE7O0FEdVVBO0FDdlVBOzs7O0FENlVBO0FBQ0E7QUFDQTtBQUNBO0FDaFZBOzs7Ozs7QUR1VkE7QUM3VUE7O0FEcVFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWtFQTtBQUNBO0FBQ0E7QUM1VkE7O0FENlJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUE7QUN2U0E7OztBRDRTQTtBQUNBO0FDN1NBOzs7QURtVEE7QUFDQTtBQUNBO0FDclRBOztBRDBUQTtBQzFUQTs7QUQ2VEE7QUM3VEE7Ozs7QURtVUE7QUFDQTtBQUNBO0FBQ0E7QUN0VUE7Ozs7OztBRDZVQTtBQzdVQTs7QURnV0E7QUFDQTtBQUNBO0FDbFdBOztBRHNXQTtBQ3RXQTs7QUQwV0E7QUFDQTtBQUNBO0FDNVdBOztBRCtXQTtBQy9XQTs7O0FEb1hBO0FBQ0E7QUFDQTtBQ3RYQTs7O0FEZ0pBO0FDbElBOztBRHlJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUMxSUE7O0FEb0pBO0FBQ0E7QUFDQTtBQUNBO0FDbkpBOztBRGdKQTtBQUNBO0FBQ0E7QUFDQTtBQVFBO0FBQ0E7QUN2SkE7QUQrQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDdkNBO0FBSUE7QUFDQTtBQUxBO0FBVUE7QUFWQTtBRDRIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQ3RIQTtBQWRBO0FEeUVBO0FDekVBO0FEK0VBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUM1RkE7QURpR0E7QUFDQTtBQ2xHQTtBRHVHQTtBQUNBO0FDeEdBO0FEdUdBO0FBQ0E7QUN4R0E7QUR1R0E7QUFDQTtBQ3hHQTtBRHVHQTtBQUNBO0FDeEdBO0FENEdBO0FDNUdBO0FEcURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQzFEQTtBRGlFQTtBQUNBO0FDbEVBO0FBMkNBO0FBM0NBO0FEK0VBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUM1RkE7QURpR0E7QUFDQTtBQ2xHQTtBRHVHQTtBQUNBO0FDeEdBO0FEdUdBO0FBQ0E7QUN4R0E7QUR1R0E7QUFDQTtBQ3hHQTtBRHVHQTtBQUNBO0FDeEdBO0FENEdBO0FDNUdBO0FEcUhBO0FDckhBO0FBeURBO0FBekRBO0FEb0tBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDdkxBO0FENExBO0FBQ0E7QUM3TEE7QURpTUE7QUNqTUE7QUR1TUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQzdNQTtBRG1OQTtBQ25OQTtBRHVOQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUMvTkE7QUQwT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBa0VBO0FBQ0E7QUFDQTtBQ2pVQTtBRGtRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVBO0FDNVFBO0FEaVJBO0FBQ0E7QUNsUkE7QUR3UkE7QUFDQTtBQUNBO0FDMVJBO0FEK1JBO0FDL1JBO0FEa1NBO0FDbFNBO0FEd1NBO0FBQ0E7QUFDQTtBQUNBO0FDM1NBOzs7QURrVEE7QUNsVEE7QURxVUE7QUFDQTtBQUNBO0FDdlVBO0FEMlVBO0FDM1VBO0FEK1VBO0FBQ0E7QUFDQTtBQ2pWQTtBRG9WQTtBQ3BWQTtBRHlWQTtBQUNBO0FBQ0E7QUMzVkE7QURxSEE7QUNySEE7QUQwT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDN1BBO0FEa1FBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUE7QUM1UUE7QURpUkE7QUFDQTtBQ2xSQTtBRHdSQTtBQUNBO0FBQ0E7QUMxUkE7QUQrUkE7QUMvUkE7QURrU0E7QUNsU0E7QUR3U0E7QUFDQTtBQUNBO0FBQ0E7QUMzU0E7OztBRGtUQTtBQ2xUQTtBQXNGQTtBQUNBO0FB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QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FJMUtBO0FBSUE7QUprS0E7QUlqS0E7QUFVQTtBSnVKQTtBSXRKQTtBSmdLQTtBQUNBO0FJakxBO0FBSUE7QUo0S0E7QUkzS0E7QUFVQTtBSmlLQTtBSWhLQTtBSndLQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FJbE1BO0FBSUE7QUp5TEE7QUl4TEE7QUFVQTtBSjhLQTtBSTdLQTtBSndMQTtBQUNBO0FJek1BO0FBSUE7QUpvTUE7QUluTUE7QUFVQTtBSnlMQTtBSXhMQTtBSmdNQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSXpOQTtBQUlBO0FKaU5BO0FJaE5BO0FBVUE7QUpzTUE7QUlyTUE7QUorTUE7QUFDQTtBSWhPQTtBQUlBO0FKMk5BO0FJMU5BO0FBVUE7QUpnTkE7QUkvTUE7QUp1TkE7QUFDQTtBQUtBO0FoQzNKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FnQ3VJQTtBaENqRUE7QUFDQTtBZ0NnRUE7QWhDN0RBO0FBQ0E7QWdDNERBO0FoQ3ZEQTtBQUNBO0FBQ0E7QWdDcURBO0FoQy9DQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBaURBO0FBQ0E7QUFDQTtBZ0NSQTtBaENXQTtBQUNBO0FnQ1pBO0FoQ2lFQTtBQUNBO0FBQ0E7QUF3QkE7QUFDQTtBQUNBO0FnQzdGQTtBaENnR0E7QUFDQTtBZ0NqR0E7QWhDa0pBO0FBQ0E7QWdDN0lBO0FoQ3VKQTtBQUNBO0FB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QVpBO0FBbUJBO0FBbkJBO0FBMkJBO0E3Q2FBO0E2Q3hDQTtBQVFBO0FBUkE7QUFZQTtBQVpBO0FBbUJBO0FBbkJBO0FBMkJBOztBbkRwaUJBOztBd0RFQTtBdERGQTs7O0FzRE1BO0F4RElBO0FBZ0JBOztBd0RoQkE7QXhEVkE7O0F3RGFBO0F0RGJBOzs7QXNEaUJBO0F4RFBBO0FBZ0JBOztBd0RMQTtBeERyQkE7O0F3RHdCQTtBdER4QkE7OztBc0Q0QkE7QXhEbEJBO0FBZ0JBOztBd0RNQTtBeERoQ0E7O0F3RG1DQTtBdERuQ0E7OztBc0R1Q0E7QXhEN0JBO0FBZ0JBOztBd0RpQkE7QXhEM0NBOztBd0Q4Q0E7QXREOUNBOzs7QXNEa0RBO0F4RHhDQTtBQWdCQTs7QXdENEJBO0F4RHREQTs7QXdEeURBO0F0RHpEQTs7O0FzRDZEQTtBeERuREE7QUFnQkE7O0F3RHVDQTtBeERqRUE7O0F3RG9FQTtBdERwRUE7OztBc0R3RUE7QXhEOURBO0FBZ0JBOztBd0RrREE7QUM1RUE7QUFTQTtBQ0pBO0FDY0E7QUFDQTtBQUNBO0FBQ0E7QURkQTtBQUNBO0E1QkhBO0F4QjJpQkE7QW9ENWlCQTtBNUJXQTtBQUtBO0FBQ0E7QTRCVEE7QUNzQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBckR1Z0JBO0FvRHBpQkE7QUNnQ0E7QUQ1QkE7QUMrREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXJEMmRBO0FvRGhpQkE7QUN3RUE7O0EzRHpGQTs7QTRERUE7QTFERkE7OztBMERNQTtBNURJQTtBQWdCQTs7QTREaEJBO0E1RFZBOztBNERhQTtBMURiQTs7O0EwRGlCQTtBNURQQTtBQWdCQTs7QTRETEE7QTVEckJBOztBNER3QkE7QTFEeEJBOzs7QTBENEJBO0E1RGxCQTtBQWdCQTs7QTRETUE7QXBEOUJBOztBb0RpQ0E7QXBEN0JBOzs7QW9EaUNBO0FwRHhCQTs7O0FvRDRCQTtBcERsQkE7O0FvRHFCQTtBQzVCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7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QTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QStEaFpBOzs7Ozs7QS9Ea0ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QStEZEE7QUF4RkE7Ozs7OztBL0Q0S0E7QUFDQTtBK0Q3S0E7Ozs7OztBL0RnTEE7QUFDQTtBK0RqTEE7Ozs7OztBL0RzTEE7QUFDQTtBQUNBO0ErRHhMQTs7Ozs7Ozs7Ozs7QS9EOExBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUE0REE7QUFDQTtBQUNBO0ErRGhRQTs7Ozs7Ozs7Ozs7QS9EbVFBO0FBQ0E7QStEcFFBOzs7Ozs7Ozs7Ozs7Ozs7O0EvRDhTQTtBQUNBO0FBQ0E7QUFtQ0E7QUFDQTtBQUNBO0ErRHJWQTs7Ozs7Ozs7Ozs7Ozs7OztBL0R3VkE7QUFDQTtBK0R6VkE7Ozs7OztBL0QrWEE7QUFDQTtBYjBKQTtBNEUxaEJBOzs7Ozs7QUEyRkE7QUFDQTtBQTVGQTs7Ozs7O0EvRDBZQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBK0R6U0E7Ozs7OztBL0RyQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBK0RNQTtBQUxBOzs7Ozs7QS9EcUVBO0FBQ0E7QStEdEVBOzs7Ozs7QS9EeUVBO0FBQ0E7QStEMUVBOzs7Ozs7QS9EK0VBO0FBQ0E7QUFDQTtBK0RqRkE7Ozs7Ozs7Ozs7O0EvRHVGQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBNERBO0FBQ0E7QUFDQTtBK0R6SkE7Ozs7Ozs7Ozs7O0EvRDRKQTtBQUNBO0ErRDdKQTs7Ozs7Ozs7Ozs7Ozs7OztBL0R1TUE7QUFDQTtBQUNBO0FBbUNBO0FBQ0E7QUFDQTtBK0Q5T0E7Ozs7Ozs7Ozs7Ozs7Ozs7QS9EaVBBO0FBQ0E7QStEbFBBOzs7Ozs7QS9Ed1JBO0FBQ0E7QStEelJBOzs7Ozs7QS9EbVNBO0FBQ0E7QUFDQTtB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QTtBQUNBO0FBQ0E7QUFrQkE7QUFDQTtBQUtBO0FBa0JBO0FBQ0E7QUFLQTtBQWtCQTtBQUNBO0FBS0E7QUFrQkE7QUFDQTtBQUtBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBSUE7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0FBQ0E7QUFFQTtBQU1BO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUdBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFDQTs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUlBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7Ozs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FB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b0JBO0FIb29CQTtBR3BvQkE7QUg2b0JBO0FHN29CQTtBSG9vQkE7QUdwb0JBO0FINm9CQTtBRzdvQkE7QUY0Q0E7QURpbkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUtBO0FJMXJCQTtBSjByQkE7QUkxckJBO0FKMHJCQTtBSTFyQkE7QUowckJBO0FJMXJCQTtBSjByQkE7QUkxckJBO0FKMHJCQTtBSTFyQkE7QUowckJBO0FJMXJCQTtBSjByQkE7QUkxckJBO0FKMHJCQTtBSTFyQkE7QUowckJBO0FJMXJCQTtBSjByQkE7QUkxckJBO0FKMHJCQTtBSTFyQkE7QUowckJBO0FJMXJCQTtBSjByQkE7QUkxckJBO0FKMHJCQTtBSTFyQkE7QUowckJBO0FJMXJCQTtBSjByQkE7QUkxckJBO0FKMHJCQTtBSTFyQkE7QUowckJBO0FJMXJCQTtBSjByQkE7QUkxckJBO0FKMHJCQTtBSTFyQkE7QUprc0JBO0FJbHNCQTtBSmtzQkE7QUlsc0JBO0FKa3NCQTtBSWxzQkE7QUprc0JBO0FJbHNCQTtBSmtzQkE7QUlsc0JBO0FKa3NCQTtBSWxzQkE7QUprc0JBO0FJbHNCQTtBSmtzQkE7QUlsc0JBO0FKa3NCQTtBSWxzQkE7QUprc0JBO0FJbHNCQTtBSmtzQkE7QUlsc0JBO0FKa3NCQTtBSWxzQkE7QUprc0JBO0FJbHNCQTtBSmtzQkE7QUlsc0JBO0FKa3NCQTtBSWxzQkE7QUprc0JBO0FJbHNCQTtBSmtzQkE7QUlsc0JBO0FKa3NCQTtBSWxzQkE7QUprc0JBO0FJbHNCQTtBSmtzQkE7QUlsc0JBO0FKa3NCQTtBSWxzQkE7QUoyc0JBO0FBQ0E7QUFDQTtBcElyS0E7QW9Jd0tBO0FBRUE7QXBJMUtBO0FvSXdLQTtBQU9BO0FBUEE7QUFZQTtBcElwTEE7QW9Jd0tBO0FBa0JBO0FBbEJBO0FBc0JBO0FBQ0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBTUE7QUFDQTtBQUNBO0FBSUE7QUFFQTs7QTFJcHdCQTs7QStJRUE7QTdJRkE7OztBNklNQTtBL0lJQTtBQWdCQTs7QStJaEJBO0FSVkE7Ozs7Ozs7Ozs7QVFxQkE7QVJQQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFJQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBRUE7QUFDQTtBQUNBO0FBSUE7QUFJQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTs7Ozs7Ozs7QUFRQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFrQkE7QUFDQTtBQUtBO0FBa0JBO0FBQ0E7QUFLQTtBQWtCQTtBQUNBO0FBS0E7QUFrQkE7QUFDQTtBQUtBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBSUE7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0FBQ0E7QUFFQTtBQU1BO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUdBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFDQTs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUlBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7Ozs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXZJdHNCQTs7QStJeW5CQTtBN0l6bkJBOzs7QTZJNm5CQTtBL0lubkJBO0FBZ0JBOztBK0l1bUJBO0EvSWpvQkE7O0ErSW9vQkE7QTdJcG9CQTs7O0E2SXdvQkE7QS9JOW5CQTtBQWdCQTs7QStJa25CQTtBL0k1b0JBOztBK0krb0JBO0E3SS9vQkE7OztBNkltcEJBO0EvSXpvQkE7QUFnQkE7O0ErSTZuQkE7QXJIdnBCQTs7QXFIMHBCQTtBUDFwQkE7QXhJQUE7O0ErSThwQkE7QTdJOXBCQTs7O0E2SWtxQkE7QS9JeHBCQTtBQWdCQTs7QStJNG9CQTtBTnRxQkE7QUFHQTtBekhIQTs7Ozs7Ozs7QStIaXJCQTtBOUhqckJBO0FBU0E7QWpCVEE7O0ErSXNyQkE7QTdJdHJCQTs7O0E2STByQkE7QS9JaHJCQTtBQWdCQTs7QStJb3FCQTtBL0k5ckJBOztBK0lpc0JBO0E3SWpzQkE7OztBNklxc0JBO0EvSTNyQkE7QUFnQkE7O0ErSStxQkE7QS9JenNCQTs7QStJNHNCQTtBN0k1c0JBOzs7QTZJZ3RCQTtBL0l0c0JBO0FBZ0JBOztBK0kwckJBO0FDNXNCQTtBTFNBO0E3R1hBO0FrSE9BO0FMVUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQVdBO0FqSGxDQTtBQUNBO0FBQ0E7QWlIbUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBbEJBO0FBbUJBO0FBRUE7QUFDQTtBQUtBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QXJJaWRBO0FxSTljQTtBQUlBO0FBQ0E7QUFNQTtBQUNBO0FySWtjQTtBcUkvYkE7QUFJQTtBQUNBO0FBT0E7QUFDQTtBQXJFQTtBQTRFQTtBQUNBO0FBQ0E7QXJJeWFBO0FxSXZmQTtBQTBGQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFXQTtBakh0S0E7QUFDQTtBQUNBO0FrSDBDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FEbUhBO0FDakdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBRHlGQTtBQ3RGQTtBRHlGQTtBQy9FQTtBRG9GQTtBQzdFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FEdUVBO0FBQ0E7QUFFQTtBQUNBO0FySWtYQTtBMEl6aUJBO0FsSFFBO0FBS0E7QUFDQTtBa0hkQTs7QUNDQTtBRERBO0FDS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FEVkE7QUNjQTtBRGRBO0FDa0JBO0FBQ0E7QURuQkE7QUN1QkE7QUFDQTtBQUNBO0FEekJBO0FDZ0NBO0FBS0E7QUFDQTtBTlBBO0FNV0E7QUFDQTtBQUVBO0FBQ0E7QUFLQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBM0k4ZEE7QTJJdGVBOzs7OztBQWlCQTtBM0lxZEE7QTJJdGVBOzs7O0FBNEJBO0FBT0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EzSStaQTtBMkluYUE7QUFPQTtBQUNBO0FBQ0E7QTNJMFpBO0EySW5hQTtBQWNBO0FBTkE7QUFRQTtBM0ltWkE7QTJJM1pBO0FBY0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0EzSWlYQTtBMkkzWkE7QUFnREE7QUEvQkE7QUFtQ0E7QUEvQkE7QUFtQ0E7QUEzQkE7QUErQkE7QUF2QkE7QUEyQkE7QUF2QkE7QUEwQkE7QTNJd1ZBO0EySTNaQTtBQXlFQTtBQXhEQTtBQTREQTtBQUdBOztBQUVBO0FBekRBO0FBNkRBO0FBckRBO0FBeURBO0FBckRBO0FBeURBO0FBckRBO0FBeURBO0EzSXlUQTtBMklwVEE7QUFFQTtBM0lrVEE7QTJJcFRBO0FBS0E7QUFwSEE7QUF5SEE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EzSWtTQTtBMkl0U0E7QUFPQTtBM0krUkE7QTJJdFNBO0FBV0E7QTNJMlJBO0EySXZSQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBM0kwUEE7QTJJdlJBO0FBbUNBO0FBL0JBO0FBbUNBO0FBL0JBO0FBbUNBO0FBM0JBO0FBK0JBO0FBdkJBO0FBMkJBO0FBdkJBO0FBMkJBO0EzSWdPQTtBMkl2UkE7QUE2REE7QUF6REE7QUE2REE7QUFHQTs7QUFFQTtBQTFEQTtBQThEQTtBQXREQTtBQTBEQTtBQXREQTtBQTBEQTtBQUdBO0FBR0E7QUFHQTtBQUdBO0EzSXlMQTtBMklwTEE7QUFFQTtBM0lrTEE7QTJJcExBO0FBS0E7QUFLQTtBQUNBO0FBQ0E7QTNJd0tBO0EySTFLQTtBQUtBO0FBRUE7O0FBRUE7QTNJaUtBO0EySTVKQTtBQUNBO0FBS0E7QUFDQTtBM0lxSkE7QTJJdEpBO0FBSUE7QUFDQTtBQUVBO0FBQ0E7QUFHQTs7OztBQVlBO0FBR0E7QUFDQTtBM0kySEE7QTJJdEhBO0FBR0E7QUFHQTtBQUNBO0FOdlJBO0FNNlJBO0FBR0E7QUFHQTtBQUNBO0FBS0E7QUFHQTtBQUhBO0FBUUE7QUFDQTtBQVRBO0FBWUE7QUFDQTtBQU9BO0FBR0E7QUFIQTtBQVNBO0FBQ0E7QUFWQTtBQWFBO0FBQ0E7QUFPQTtBQUNBO0EzSW1EQTtBMkkvQ0E7QUFRQTtBQUtBO0FBR0E7QUFLQTtBQUdBO0FBS0E7QUFHQTtBQUtBO0FBR0E7QUFLQTtBQUdBO0FBOUZBO0FBc0dBO0FBbEZBO0FBMkZBO0FEbmpCQTtBQUNBO0FBVEE7QUFlQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBRkE7QUFLQTtBQUdBO0FBQ0E7QUNvQkE7QURmQTtBQzBCQTtBRHZCQTtBMUk2ZkE7QTJJdGVBO0FEckJBO0ExSTJmQTtBMEl2ZkE7QUFFQTtBQ1FBO0FESEE7QUFHQTs7Ozs7O0FBT0E7QTFJc2VBO0EwSTdlQTs7Ozs7O0FBU0E7QUFLQTtBQUNBO0FBQ0E7QUFPQTtBQUNBO0FBR0E7O0FBUUE7QUFDQTtBQUNBO0FBQ0E7QTFJdWNBO0EwSWxkQTs7QUFhQTtBQWJBOztBQWtCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBOztBQVFBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0ExSTRaQTtBMEl6WkE7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQ3ZCQTtBRDZCQTtBQW5GQTtBQXVGQTtBQzRGQTtBRHZGQTtBQUVBO0FBQ0E7QUFKQTtBQVFBO0FDNE1BO0FEdk1BO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBMUkyV0E7QTJJMUtBO0FEN0xBO0ExSXVXQTtBMkkxS0E7QUR6TEE7QUM2TUE7QUR4TUE7QUFDQTtBN0gzR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBNkh1RkE7QTdIakJBO0FBQ0E7QTZIZ0JBO0E3SGJBO0FBQ0E7QTZIWUE7QTdIUEE7QUFDQTtBQUNBO0E2SEtBO0E3SENBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFpREE7QUFDQTtBQUNBO0E2SHhEQTtBN0gyREE7QUFDQTtBNkg1REE7QTdIaUhBO0FBQ0E7QUFDQTtBQXdCQTtBQUNBO0FBQ0E7QTZIN0lBO0E3SGdKQTtBQUNBO0E2SGpKQTtBN0hrTUE7QUFDQTtBNkg3TEE7QTdIdU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZUE7QTZIck5BO0E3SDJRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBZUE7QUFDQTtBd0gxVkE7QUtnRUE7QUFDQTtBTGxMQTtBS3NMQTtBQUNBO0ExSWdVQTtBcUl2ZkE7QUswTEE7QUwzSkE7QUsrSkE7QUFDQTtBQUZBO0FBS0E7QUw3SkE7QUtrS0E7QUxuSkE7QUt1SkE7QUw1R0E7QUtpSEE7QTFJdVNBO0FxSXhaQTtBS29IQTtBTDFLQTtBSytLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FMeEZBO0FLNEZBOztBaEoxUkE7O0FrSkVBO0FoSkZBOzs7QWdKTUE7QWxKSUE7QUFnQkE7O0FrSmhCQTtBbEpWQTs7QWtKYUE7QWhKYkE7OztBZ0ppQkE7QWxKUEE7QUFnQkE7O0FrSkxBO0FsSnJCQTs7QWtKd0JBO0FoSnhCQTs7O0FnSjRCQTtBbEpsQkE7QUFnQkE7O0FrSk1BO0FsSmhDQTs7QWtKbUNBO0FoSm5DQTs7O0FnSnVDQTtBbEo3QkE7QUFnQkE7O0FrSmlCQTtBQ3hDQTtBckhHQTtBeEIyaUJBO0E2STlpQkE7QXJIYUE7QUFLQTtBQUNBO0FxSG5CQTtBQUtBOztBbkpSQTs7QW9KRUE7QWxKRkE7OztBa0pNQTtBcEpJQTtBQWdCQTs7QW9KaEJBO0ExSFZBOztBMEhhQTtBcEpiQTs7QW9KZ0JBO0FsSmhCQTs7O0FrSm9CQTtBcEpWQTtBQWdCQTs7QW9KRkE7QUNoQkE7QTNISEE7QUFDQTtBQUNBO0EySE1BO0FBQ0E7QUFDQTtBL0lraUJBO0ErSXBpQkE7QUFPQTtBQUNBO0FBUkE7QUFXQTtBQUNBO0FBWkE7QUFnQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EvSStnQkE7QStJcGlCQTtBQTBCQTtBQUNBO0FBQ0E7QS9Jd2dCQTtBK0lwaUJBO0FBa0NBO0FBQ0E7QUFDQTtBQXBDQTtBQTBDQTtBL0kwZkE7QStJcGlCQTtBQTRDQTtBQUNBO0FBQ0E7QUE5Q0E7QUFnREE7QUFDQTtBQWpEQTtBQXVEQTtBQUNBO0FBQ0E7QUFDQTtBQTFEQTtBQTREQTtBQTVEQTtBQStEQTtBQUNBO0FBQ0E7QUF0RUE7QUE0RUE7QUFDQTtBQUNBO0FBOUVBO0FBa0ZBO0FBQ0E7QUFDQTtBL0lxZEE7QStJemlCQTtBQXdGQTtBQUNBO0FBQ0E7QUExRkE7QUE4RkE7QUE5RkE7QUFtR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QS9JZ2NBO0ErSXppQkE7QUE2R0E7QUFDQTtBQUNBO0EvSTBiQTtBK0l6aUJBO0FBb0hBO0FBQ0E7QUFySEE7QUEwSEE7QUFDQTtBQUNBO0FBQ0E7QS9JNGFBO0ErSXppQkE7QUErSEE7QS9JMGFBO0ErSXppQkE7QUFtSUE7QUFDQTtBQUNBO0FBQ0E7QUF0SUE7QUEySUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBL0kwWkE7QStJemlCQTtBQWtKQTtBQUNBO0FBQ0E7QS9JcVpBO0ErSXppQkE7QUF3SkE7QUFDQTtBQXpKQTtBQTZKQTtBQTdKQTtBQWlLQTtBQWpLQTtBQXNLQTtBQUNBO0FBQ0E7QS9JaVlBO0ErSXppQkE7QUEyS0E7QUFDQTtBQUNBO0EvSTRYQTtBK0l6aUJBO0FBaUxBO0FBakxBO0FBc0xBO0EvSW1YQTtBK0l6aUJBO0FBeUxBO0FBQ0E7QUExTEE7QUE4TEE7QUFDQTtBQUNBO0EvSXlXQTtBK0l6aUJBO0FBbU1BO0EvSXNXQTtBK0l6aUJBO0FBd01BO0FBQ0E7QUF6TUE7QUE0TUE7QUFDQTtBQTdNQTtBQW1OQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QS9JaVZBO0ErSXppQkE7QUEwTkE7QUFDQTtBQUNBO0FBQ0E7QS9JNFVBO0ErSXppQkE7QUFnT0E7QUFDQTtBL0l3VUE7QStJemlCQTtBQXFPQTtBQXJPQTtBQXVPQTtBQXZPQTs7QUE2T0E7QUE3T0E7QUFpUEE7QS9Jd1RBO0ErSXppQkE7QUFvUEE7QUFwUEE7QUF3UEE7QUFDQTtBQUNBO0EvSStTQTtBK0l6aUJBO0FBNlBBO0FBQ0E7QUFDQTtBQS9QQTtBQWtRQTtBL0l1U0E7QStJemlCQTtBQXlRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBN1FBO0FBbVJBO0FBQ0E7QUFDQTtBQUNBO0EvSW1SQTtBK0l6aUJBO0FBd1JBO0FBQ0E7QUFDQTtBL0krUUE7QStJemlCQTtBQTZSQTtBL0k0UUE7QStJemlCQTtBQWlTQTtBQUNBO0FBbFNBO0FBeVNBO0FBelNBO0FBMlNBO0EvSThQQTtBK0l6aUJBO0FBOFNBO0FBQ0E7QUEvU0E7QUFzVEE7QUF0VEE7QUF5VEE7QS9JZ1BBO0ErSTNPQTtBQUdBO0FBQ0E7QUFKQTtBQU9BO0FBQ0E7QUFNQTtBQUNBO0EvSTROQTtBK0k3TkE7QUFJQTtBQUpBO0FBUUE7QUFDQTtBQUNBO0FBQ0E7QS9Ja05BO0ErSTdOQTtBQWNBOztBckpsV0E7O0FzSkVBO0FwSkZBOzs7QW9KTUE7QXRKSUE7QUFnQkE7O0FzSmhCQTtBdEpWQTs7QXNKYUE7QXBKYkE7OztBb0ppQkE7QXRKUEE7QUFnQkE7O0FzSkxBO0F0SnJCQTs7QXNKd0JBO0FwSnhCQTs7O0FvSjRCQTtBdEpsQkE7QUFnQkE7O0FzSk1BO0F0SmhDQTs7QXNKbUNBO0FwSm5DQTs7O0FvSnVDQTtBdEo3QkE7QUFnQkE7O0FzSmlCQTtBQ2dDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU9BO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFPQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDdkhBO0FBQ0E7QUQyR0E7QUN2R0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBRDZGQTtBQ3pGQTtBQUNBO0FBR0E7QURxRkE7QUNoRkE7QURnRkE7QUMzRUE7QUFDQTtBQUdBO0FEdUVBO0FDbEVBO0FBQ0E7QUFDQTtBRHNGQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBU0E7QUFNQTtBQzFGQTtBQUNBO0FEeUZBO0FDM0VBO0FEMkVBO0FDbEVBO0FEMEVBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWZBO0FDL0tBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QURxS0E7QUNqS0E7QUFDQTtBRGdLQTtBQ3hKQTtBRHdKQTtBQ25KQTtBQUNBO0FEa0pBO0FDMUlBO0FBQ0E7QUFDQTtBQUNBO0FsSnlmQTtBaUpsWEE7QUE4QkE7QUFDQTtBQS9CQTtBQW1DQTtBQW5DQTtBQXdDQTtBQXhDQTtBQThDQTtBQTlDQTtBQWtFQTtBQUNBO0FBQ0E7QUFwRUE7QUFtREE7QUFuREE7QUF1REE7QUFDQTtBQXhEQTtBQTREQTtBQUNBO0FBN0RBO0FBeUVBO0FBekVBO0FBNEVBO0FBNUVBO0FBaUZBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QXZKM1JBOztBeUpFQTtBdkpGQTs7O0F1Sk1BO0F6SklBO0FBZ0JBOztBeUpoQkE7QXpKVkE7O0F5SmFBO0F2SmJBOzs7QXVKaUJBO0F6SlBBO0FBZ0JBOztBeUpMQTtBQ05BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTs7QUFTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQURBO0FBSUE7QUFDQTtBQUxBO0FBU0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZEE7QUFrQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXRCQTtBQTBCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBREE7QUFJQTtBQUNBO0FBTEE7QUFTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFkQTtBQWtCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBdEJBO0FBMEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7O0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBYkE7QUFpQkE7QUFDQTtBQWxCQTtBQXNCQTtBQXRCQTs7O0FBNEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBckNBOztBQTBDQTtBQTFDQTtBQThDQTtBQUNBO0FBL0NBO0FBbURBO0FBbkRBO0FBc0RBO0FBdERBO0FBMkRBO0FBQ0E7QUE1REE7QUFpRUE7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQU1BO0FBTkE7QUFVQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQURBO0FBSUE7QUFKQTtBQVFBO0FBUkE7QUFXQTtBQUNBO0FBWkE7QUFnQkE7QUFoQkE7QUFvQkE7QUFwQkE7QUF5QkE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFPQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTs7QTFKN1dBOztBMkpFQTtBekpGQTs7O0F5Sk1BO0EzSklBO0FBZ0JBOztBMkpoQkE7QTNKVkE7O0EySmFBO0F6SmJBOzs7QXlKaUJBO0EzSlBBO0FBZ0JBOztBMkpMQTtBM0lyQkE7Ozs7Ozs7O0EySThCQTtBMUk5QkE7QUFTQTtBakJUQTs7QTJKbUNBO0F6Sm5DQTs7O0F5SnVDQTtBM0o3QkE7QUFnQkE7O0EySmlCQTtBM0kzQ0E7Ozs7Ozs7O0EySW9EQTtBMUlwREE7QUFTQTtBd0JUQTtBQWdEQTtBQ3FCQTtBa0gxREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBdEo4aEJBO0FzSmhpQkE7QUFLQTtBQUNBO0F0SjBoQkE7QXNKdGlCQTtBQWlCQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBRUE7QXpJcUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QXlJekZBO0F6SStKQTtBQUNBO0F5SWhLQTtBekltS0E7QUFDQTtBeUlwS0E7QXpJeUtBO0FBQ0E7QUFDQTtBeUkzS0E7QXpJaUxBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUE0REE7QUFDQTtBQUNBO0F5SW5QQTtBeklzUEE7QUFDQTtBeUl2UEE7QXpJaVNBO0FBQ0E7QUFDQTtBQW1DQTtBQUNBO0FBQ0E7QXlJeFVBO0F6STJVQTtBQUNBO0F5STVVQTtBeklrWEE7QUFDQTtBeUk3V0E7QUFDQTtBdEpzZ0JBO0FzSnZnQkE7QUFJQTtBQUNBO0FBSUE7QXpJOFdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXlJOVdBO0FsSDBKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FrSHpKQTtBQUNBO0FBQ0E7O0E1SmpFQTs7QTZKRUE7QTNKRkE7OztBMkpNQTtBN0pJQTtBQWdCQTs7QTZKaEJBO0E3SlZBOztBNkphQTtBM0piQTs7O0EySmlCQTtBN0pQQTtBQWdCQTs7QTZKTEE7QTdJckJBOzs7Ozs7OztBNkk4QkE7QTVJOUJBO0FBU0E7QWpCVEE7O0E2Sm1DQTtBM0puQ0E7OztBMkp1Q0E7QTdKN0JBO0FBZ0JBOztBNkppQkE7QTdKM0NBOztBNko4Q0E7QTNKOUNBOzs7QTJKa0RBO0E3SnhDQTtBQWdCQTs7QTZKNEJBO0EzSnREQTs7O0EySjBEQTtBN0oxREE7O0E2SjZEQTtBM0o3REE7OztBMkppRUE7QTdKdkRBO0FBZ0JBOztBNkoyQ0E7QTdJckVBOzs7Ozs7OztBNkk4RUE7QTVJOUVBO0FBU0E7QXdCVEE7QUFnREE7QUNxQkE7QTFDckVBOztBNkpzRkE7QTNKdEZBOzs7QTJKMEZBO0E3SmhGQTtBQWdCQTs7QTZKb0VBO0E5RzlGQTtBQVlBO0EvQ1pBOztBNkptR0E7QTNKbkdBOzs7QTJKdUdBO0E3SjdGQTtBQWdCQTs7QTZKaUZBO0E3SjNHQTs7QTZKOEdBO0EzSjlHQTs7O0EySmtIQTtBN0p4R0E7QUFnQkE7O0E2SjRGQTtBN0p0SEE7O0E2SnlIQTtBM0p6SEE7OztBMko2SEE7QTdKbkhBO0FBZ0JBOztBNkp1R0E7QTdKaklBOztBNkpvSUE7QTNKcElBOzs7QTJKd0lBO0E3SjlIQTtBQWdCQTs7QTZKa0hBO0FDdEZBO0FBRUE7QXhKeWZBO0F3SjNmQTtBQUtBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F4SjhlQTtBd0puZkE7QUFRQTtBeEoyZUE7QXdKbmZBO0FBWUE7QUFJQTtBQUNBO0F4SmtlQTtBd0puZUE7QUFJQTtBQUNBO0F4SjhkQTtBd0puZUE7QUFTQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0F4Sm1kQTtBd0p0ZEE7QUFNQTtBQU5BO0FBY0E7QUFkQTtBQW1CQTtBQW5CQTtBQXdCQTtBQUNBO0FBekJBO0FBNEJBO0FBSUE7QUFHQTtBQWFBO0FBQ0E7QUFDQTtBQUdBO0F4SmlhQTtBd0o5WkE7QUFFQTtBQVZBO0FBZUE7QUFmQTtBQW1CQTtBQXhHQTtBQTZHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QXhKdVlBO0F3SjNmQTtBQTBIQTtBQUNBO0FBQ0E7QUE1SEE7QUFpSUE7QUFDQTtBQUNBO0FBbklBO0FBcUlBO0FBQ0E7QUF0SUE7QUEySUE7QUEzSUE7OztBQWlKQTtBQWpKQTtBQXFKQTtBQVFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBeEp3VkE7QXdKOVZBO0FBYUE7QUFFQTtBQVFBO0FBQ0E7QUFJQTtBaEl6T0E7QXhCMmlCQTtBd0psVUE7QWhJL05BO0FBS0E7QUFDQTtBZ0k2TkE7QWhJN09BO0FnSWdQQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F4SnVUQTtBd0o5VEE7QWhJbk9BO0FBS0E7QUFDQTtBZ0lzT0E7QUFDQTtBeEpvVEE7QXdKclRBO0FBSUE7QXhKaVRBO0F3SnJUQTtBQVFBO0FBUkE7QUFZQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0F4SmlTQTtBd0pwU0E7QUFNQTtBQUNBO0FBUEE7QUFXQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBS0E7QUFDQTtBQWRBO0FBbUJBO0FBbkJBO0FBc0JBO0F4SmdRQTtBd0p0UkE7QUFvQ0E7QUFwQ0E7QUEyQ0E7QUEzQ0E7QUFpREE7QUFlQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBelNBOztBQW9UQTtBQUNBO0FBclRBO0FBeVRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUE3VEE7QUFpVUE7QUFqVUE7QUFvVUE7QUFwVUE7QUF5VUE7QUFDQTtBQTFVQTtBQThVQTtBQTlVQTtBcEh1TEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QW9IMU1BO0FwSCtNQTtBQUNBO0FvSGhOQTtBcEhvTkE7QW9IcE5BO0FwSDBOQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FvSGhPQTtBcEhzT0E7QW9IdE9BO0FwSDBPQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QW9IbFBBO0FBdVZBO0FBQ0E7QUFDQTtBQXpWQTtBQThWQTtBQTlWQTtBQWtXQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUF4V0E7QUE2V0E7QUE3V0E7O0EzSW1EQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0EySThTQTtBQXJYQTs7QTNJNklBO0FBQ0E7QTJJOUlBOztBM0lpSkE7QUFDQTtBMklsSkE7O0EzSXVKQTtBQUNBO0FBQ0E7QTJJekpBOzs7QTNJK0pBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFpREE7QUFDQTtBQUNBO0EySXROQTs7O0EzSXlOQTtBQUNBO0EySTFOQTs7OztBM0krUUE7QUFDQTtBQUNBO0FBd0JBO0FBQ0E7QUFDQTtBMkkzU0E7Ozs7QTNJOFNBO0FBQ0E7QTJJL1NBOztBM0lnV0E7QUFDQTtBMklzQkE7O0FBQ0E7QUF4WEE7O0EzSTJXQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBMklqWEE7QUFvWUE7QUFwWUE7O0FBMFlBO0FBQ0E7QUFDQTtBQUNBO0FBN1lBOztBQWdaQTtBQWhaQTtBQXFaQTtBQUNBO0FBQ0E7QUF2WkE7QUEwWkE7QUExWkE7QUE4WkE7QUE5WkE7QUFtYUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBeEpvRkE7QXdKM2ZBO0FBOGFBO0FBOWFBOzs7QUF5YkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBOWJBOzs7QUFxY0E7QUFDQTtBQXRjQTtBQTJjQTtBQTNjQTtBQStjQTtBQUNBO0FBQ0E7QUFDQTtBQWxkQTtBQXNkQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUEzZEE7QUErZEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBeEp3QkE7QXdKdEJBO0FBRUE7QUF2ZUE7QUE0ZUE7QUE1ZUE7QUFpZkE7QUFqZkE7QUFvZkE7QXhKT0E7QXdKM2ZBO0FBMmZBO0FBQ0E7QUE1ZkE7QUFpZ0JBO0F4Sk5BO0F3SjNmQTtBQXVnQkE7QUFDQTtBQUNBO0FBQ0E7QUExZ0JBO0FBOGdCQTtBeEpuQkE7QXdKM2ZBO0FBb2hCQTtBQXBoQkE7QUF3aEJBO0FBeGhCQTs7QUEraEJBO0FBL2hCQTs7QUFtaUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUExaUJBOztBQStpQkE7QUEvaUJBOzs7QUF1akJBO0FBdmpCQTs7Ozs7O0FBK2pCQTtBQUNBO0FBaGtCQTs7O0FBb2tCQTtBQXBrQkE7OztBQXdrQkE7QUF4a0JBOzs7QUE0a0JBO0FBNWtCQTtBQTJsQkE7QXhKaEdBO0F3SjNmQTtBQThsQkE7QUFDQTtBQUNBO0FBaG1CQTtBQW1tQkE7QUFubUJBO0FBMG1CQTtBQUNBO0FBM21CQTtBQSttQkE7QUFDQTtBQUNBO0F4SnRIQTtBd0ozZkE7QUFvbkJBO0F4SnpIQTtBd0ozZkE7QUF3bkJBO0FBeG5CQTtBQTZuQkE7QXhKbElBO0F3SjNmQTtBQWtvQkE7QUFDQTtBQUNBO0FBcG9CQTtBQXVvQkE7QXhKNUlBO0F3SjNmQTtBQTZvQkE7QXhKbEpBO0F3SjNmQTtBQWlwQkE7QUFqcEJBO0FBcXBCQTtBeEoxSkE7QXdKM2ZBO0FBMnBCQTtBQTNwQkE7QUFpcUJBO0F4SnRLQTtBd0ozZkE7QUFzcUJBO0F4SjNLQTtBd0ozZkE7QUEwcUJBO0FBQ0E7QUFDQTtBQUNBO0F4SmxMQTtBd0ozZkE7QUFtckJBO0FBQ0E7QXhKekxBO0F3SjNmQTtBQXlyQkE7QUF6ckJBO0FBZ3NCQTtBQWhzQkE7O0FBNHNCQTtBQTVzQkE7O0FBaXRCQTtBQUNBO0F4SnZOQTtBd0ozZkE7O0FBcXRCQTtBQUNBO0FBdHRCQTs7QUE0dEJBO0FBQ0E7QUFDQTtBQUNBO0FBL3RCQTtBQXF1QkE7QUFydUJBO0FBeXVCQTtBQXp1QkE7QUFndkJBO0FBQ0E7QUFDQTtBQWx2QkE7QUFzdkJBO0F4SjNQQTtBd0ozZkE7QUE2dkJBO0FBN3ZCQTs7OztBQW93QkE7QUFDQTtBQUNBO0FBQ0E7QUF2d0JBO0FBMndCQTtBQUNBO0FBQ0E7QUE3d0JBO0FBZ3hCQTtBQWh4QkE7QUFxeEJBO0FBcnhCQTtBQXl4QkE7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0EzSW52QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBMklvdUJBO0FBQ0E7QUFDQTtBQVBBO0EzSXpwQkE7QUFDQTtBMkl3cEJBO0EzSXJwQkE7QUFDQTtBMklvcEJBO0EzSS9vQkE7QUFDQTtBQUNBO0EySTZvQkE7QTNJdm9CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBaURBO0FBQ0E7QUFDQTtBMklnbEJBO0EzSTdrQkE7QUFDQTtBMkk0a0JBO0EzSXZoQkE7QUFDQTtBQUNBO0FBd0JBO0FBQ0E7QUFDQTtBMkkyZkE7QTNJeGZBO0FBQ0E7QTJJdWZBO0EzSXRjQTtBQUNBO0EySXFjQTtBQVVBO0FBVkE7QTNJM2JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EySTRjQTtBM0kxd0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QTJJMnZCQTtBQUNBO0FBQ0E7QUFQQTtBM0lockJBO0FBQ0E7QTJJK3FCQTtBM0k1cUJBO0FBQ0E7QTJJMnFCQTtBM0l0cUJBO0FBQ0E7QUFDQTtBMklvcUJBO0EzSTlwQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTREQTtBQUNBO0FBQ0E7QTJJNGxCQTtBM0l6bEJBO0FBQ0E7QTJJd2xCQTtBM0k5aUJBO0FBQ0E7QUFDQTtBQW1DQTtBQUNBO0FBQ0E7QTJJdWdCQTtBM0lwZ0JBO0FBQ0E7QTJJbWdCQTtBM0k3ZEE7QUFDQTtBMkk0ZEE7QUFVQTtBQVZBO0EzSWxkQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBMklqWEE7QUF1MUJBO0FBdjFCQTtBQTQxQkE7QUFDQTtBQTcxQkE7QUFnMkJBO0FBaDJCQTtBQXEyQkE7QUFDQTtBQXQyQkE7QTFKbERBO0E0Q21CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E4RzJCQTtBMUpsREE7QTRDbUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QThHMjRCQTtBQWgzQkE7Ozs7QUF3M0JBO0FBeDNCQTs7Ozs7OztBQWs0QkE7QUFDQTtBeEp4WUE7QXdKM2ZBOzs7Ozs7O0FBczRCQTtBQXQ0QkE7Ozs7Ozs7QUEwNEJBO0FBMTRCQTs7Ozs7OztBQSs0QkE7QUFDQTtBQWg1QkE7Ozs7Ozs7QUFvNUJBO0FBcDVCQTs7Ozs7OztBQXk1QkE7QUF6NUJBOzs7Ozs7O0FBNjVCQTtBQTc1QkE7Ozs7Ozs7QUFpNkJBO0FBajZCQTs7Ozs7OztBQXE2QkE7QUFyNkJBO0FBaTdCQTtBQWo3QkE7QUFnOEJBO0F4SnJjQTtBd0ozZkE7QUE0OEJBO0FBNThCQTtBQWs5QkE7QUFsOUJBO0FBMDlCQTtBQUlBO0EzSTM2QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBMkl1NUJBO0EzSWoxQkE7QUFDQTtBMklnMUJBO0EzSTcwQkE7QUFDQTtBMkk0MEJBO0EzSXYwQkE7QUFDQTtBQUNBO0EySXEwQkE7QTNJL3pCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBaURBO0FBQ0E7QUFDQTtBMkl3d0JBO0EzSXJ3QkE7QUFDQTtBMklvd0JBO0EzSS9zQkE7QUFDQTtBQUNBO0FBd0JBO0FBQ0E7QUFDQTtBMkltckJBO0EzSWhyQkE7QUFDQTtBMkkrcUJBO0EzSTluQkE7QUFDQTtBMklvb0JBO0EzSTFuQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTJJMm5CQTtBM0l0akJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFxQ0E7O0FuQnJoQkE7O0ErSkVBO0E3SkZBOzs7QTZKTUE7QS9KSUE7QUFnQkE7O0ErSmhCQTtBL0lWQTs7Ozs7Ozs7QStJbUJBO0E5SW5CQTtBQVNBO0ErSUhBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFFQTtBN0lpRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBNklyR0E7QTdJMktBO0FBQ0E7QTZJNUtBO0E3SStLQTtBQUNBO0E2SWhMQTtBN0lxTEE7QUFDQTtBQUNBO0E2SXZMQTtBN0k2TEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWlEQTtBQUNBO0FBQ0E7QTZJcFBBO0E3SXVQQTtBQUNBO0E2SXhQQTtBN0k2U0E7QUFDQTtBQUNBO0FBd0JBO0FBQ0E7QUFDQTtBNkl6VUE7QTdJNFVBO0FBQ0E7QTZJN1VBO0E3SThYQTtBQUNBO0FBQ0E7QTZJelhBO0E3SWtZQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QTZJalpBO0E3SXNjQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBZUE7QUFDQTtBQUNBO0E2SXhkQTs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQU5BO0FBVUE7QUFDQTtBQUlBO0FBRUE7O0FoSy9EQTs7QWlLRUE7QS9KRkE7OztBK0pNQTtBaktJQTtBQWdCQTs7QWlLaEJBO0FqS1ZBOztBaUthQTtBL0piQTs7O0ErSmlCQTtBaktQQTtBQWdCQTs7QWlLTEE7QUNBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBV0E7QUFFQTtBQUNBO0FBQ0E7QUFNQTtBNUptZ0JBO0E0SjVoQkE7QUFPQTtBQUNBO0FBUkE7QUFZQTtBQW9CQTtBQUNBO0FBUUE7QUFDQTtBQVFBO0FBQ0E7QUFRQTtBQUNBO0E1SmdlQTtBNEo1aEJBO0FBcUVBO0FBRUE7O0FsSzVGQTs7QW1LRUE7QWpLRkE7OztBaUtNQTtBbktJQTtBQWdCQTs7QW1LaEJBO0FDRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFRQTtBQWtCQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFPQTtBQVBBO0FBV0E7QUFJQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBOztBcEtwRkE7O0FxS0VBO0FuS0ZBOzs7QW1LTUE7QXJLSUE7QUFnQkE7O0FxS2hCQTtBcktWQTs7QXFLYUE7QW5LYkE7OztBbUtpQkE7QXJLUEE7QUFnQkE7O0FxS0xBO0FySnJCQTs7Ozs7Ozs7QXFKOEJBO0FwSjlCQTtBQVNBO0F3QlRBO0FBZ0RBO0FDcUJBO0ExQnJFQTs7Ozs7Ozs7QXFKNENBO0FwSjVDQTtBQVNBO0FqQlRBOztBcUtpREE7QW5LakRBOzs7QW1LcURBO0FySzNDQTtBQWdCQTs7QXFLK0JBO0FDN0JBO0FBQ0E7QWhLb2hCQTtBZ0tsaEJBO0FBRUE7QWhLZ2hCQTtBZ0tyaEJBO0FBVUE7QUFHQTtBQUNBO0FoS3VnQkE7QWdLeGdCQTtBQUlBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU9BO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FoS29lQTtBZ0t4ZUE7QUFPQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBaEt5Y0E7QWdLN2NBO0FBUUE7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBaEswYkE7QWdLOWJBO0FBUUE7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FoSzZhQTtBZ0toYkE7QUFNQTtBQUlBO0FuSmxDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FtSmNBO0FuSndEQTtBQUNBO0FtSnpEQTtBbko0REE7QUFDQTtBbUo3REE7QW5Ka0VBO0FBQ0E7QUFDQTtBbUpwRUE7QW5KMEVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFpREE7QUFDQTtBQUNBO0FtSmpJQTtBbkpvSUE7QUFDQTtBbUpySUE7QW5KMExBO0FBQ0E7QUFDQTtBQXdCQTtBQUNBO0FBQ0E7QW1KdE5BO0FuSnlOQTtBQUNBO0FtSjFOQTtBbkoyUUE7QUFDQTtBYjBKQTtBZ0t0YUE7QUFPQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBeEpBO0FBNEpBO0FBQ0E7O0F0S3pMQTs7QXVLRUE7QXJLRkE7OztBcUtNQTtBdktJQTtBQWdCQTs7QXVLaEJBO0F2SlZBOzs7Ozs7OztBdUptQkE7QXRKbkJBO0FBU0E7QWpCVEE7O0F1S3dCQTtBckt4QkE7OztBcUs0QkE7QXZLbEJBO0FBZ0JBOztBdUtNQTtBQ0RBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FsSzJnQkE7QWtLbGhCQTtBQVVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbEs4ZUE7QWtLbmZBO0FBT0E7QUFDQTtBQUlBO0FySitCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FxSjdDQTtBQU5BO0FySnlIQTtBQUNBO0FxSjFIQTtBcko2SEE7QUFDQTtBcUo5SEE7QXJKbUlBO0FBQ0E7QUFDQTtBcUpySUE7QXJKMklBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFpREE7QUFDQTtBQUNBO0FxSmxNQTtBckpxTUE7QUFDQTtBcUp0TUE7QXJKMlBBO0FBQ0E7QUFDQTtBQXdCQTtBQUNBO0FBQ0E7QXFKdlJBO0FySjBSQTtBQUNBO0FxSjNSQTtBcko0VUE7QUFDQTtBYjBKQTtBa0t2ZUE7QUFTQTtBQUlBO0FySjBVQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWVBO0FxSnhWQTtBcko4WUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QXFKaGFBO0FBQ0E7QUFDQTtBbEswY0E7QWtLNWNBO0FBS0E7QUFDQTtBbEtzY0E7QWtLNWNBO0FBVUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWxLc2JBO0FrSzliQTtBQVdBO0FBQ0E7QWxLa2JBO0FrSzliQTtBQWdCQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBUUE7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FsS21YQTtBa0t4WEE7QUFRQTtBbEtnWEE7QWtLeFhBO0FBWUE7QUFaQTtBQWdCQTs7QXhLek1BOztBeUtFQTtBdktGQTs7O0F1S01BO0F6S0lBO0FBZ0JBOztBeUtoQkE7QXpLVkE7O0F5S2FBO0F2S2JBOzs7QXVLaUJBO0F6S1BBO0FBZ0JBOztBeUtMQTtBL0lyQkE7O0ErSXdCQTtBQ09BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBcEswZ0JBO0FvS2xoQkE7QUFXQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBcEJBO0FBd0JBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QXBLb2ZBO0FvS3RmQTtBQUtBO0FBQ0E7QUFHQTtBaEovREE7QUFDQTtBQUNBO0FnSjZEQTs7QUFLQTtBQUNBO0FwS3VlQTtBb0twZUE7QUFFQTtBQUZBO0FBS0E7QUFDQTtBQU5BO0FBU0E7QUFDQTtBQUNBO0FBQ0E7QUFaQTs7QUFnQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXBLMmNBO0FvS3BlQTs7QUE0QkE7QUE1QkE7Ozs7QUFpQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXJDQTtBQXlDQTtBQUNBO0FwSzBiQTtBb0twZUE7QUE2Q0E7QUFDQTtBQTlDQTtBQWtEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBdERBO0FBeURBO0FBekRBO0FBOERBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXRFQTtBQW9HQTtBQUNBO0FBckdBO0FBeUdBO0FBQ0E7QUFDQTtBcEt5WEE7QW9LcGVBO0FBOEdBO0FBQ0E7O0ExSzVMQTs7QTJLRUE7QXpLRkE7OztBeUtNQTtBM0tJQTtBQWdCQTs7QTJLaEJBO0EzS1ZBOztBMkthQTtBektiQTs7O0F5S2lCQTtBM0tQQTtBQWdCQTs7QTJLTEE7QUNqQkE7QUFFQTtBdEsyaUJBO0FzSzdpQkE7QUNGQTtBQUFBO0FBQ0E7QUFDQTtBdks2aUJBO0FzS3ppQkE7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0F0S2tpQkE7QXNLemlCQTtBQVlBO0FBQ0E7QUFFQTtBQUNBO0FBSUE7QUFwQkE7QUFxQkE7QXRLb2hCQTtBc0toaEJBO0FBRUE7QUFBQTtBQUNBO0F0SzZnQkE7QXNLaGhCQTtBQU1BOztBRXZDQTs7O0FDR0E7QS9LSEE7O0ErS01BO0E3S05BOzs7QTZLVUE7QS9LQUE7QUFnQkE7O0ErS1pBO0EvS2RBOztBK0tpQkE7QTdLakJBOzs7QTZLcUJBO0EvS1hBO0FBZ0JBOztBK0tEQTtBakl6QkE7Ozs7Ozs7OztBaUltQ0E7QS9LbkNBOztBK0tzQ0E7QTdLdENBOzs7QTZLMENBO0EvS2hDQTtBQWdCQTs7QStLb0JBO0FoSTlDQTtBQVlBO0EvQ1pBOztBK0ttREE7QTdLbkRBOzs7QTZLdURBO0EvSzdDQTtBQWdCQTs7QStLaUNBO0FqSTNEQTs7Ozs7Ozs7O0FpSXFFQTtBL0tyRUE7O0ErS3dFQTtBN0t4RUE7OztBNks0RUE7QS9LbEVBO0FBZ0JBOztBK0tzREE7QUNoRkE7QUFNQTtBRjBCQTtBQUVBO0FBQ0E7QXhLOGdCQTtBd0svZ0JBO0FBSUE7QUFDQTtBeEswZ0JBO0F3S3JnQkE7QUFDQTtBQVhBO0FBbUJBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QWhJL0NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FnSXVDQTtBQVdBO0FBWEE7QUFjQTtBQUNBO0FBZkE7QUFtQkE7QUFuQkE7QUFzQkE7QUFDQTtBQUNBO0FBeEJBO0FBOEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXhLb2RBO0F3S3RmQTtBQXNDQTtBQXRDQTtBQTBDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWhEQTtBQXFEQTtBeEtpY0E7QXdLNWJBO0FBRUE7QUE1REE7QUFtRUE7QUFuRUE7QUF5RUE7QXhLNmFBO0F3S3RmQTtBQTRFQTtBQTVFQTtBQWdGQTtBeEtzYUE7QXdLdGZBO0FBcUZBO0FBckZBOzs7O0FBK0ZBO0FBQ0E7QUFDQTtBeEtxWkE7QXdLaFpBO0FHeERBO0FBQ0E7QUFDQTtBQUNBO0FIcURBO0FHcEpBO0FBQ0E7QUFDQTtBSGtKQTtBRy9JQTtBSCtJQTtBRzNJQTtBSDJJQTtBR3ZJQTtBQUNBO0FBQ0E7QUFDQTtBSG9JQTtBR2pJQTtBSGlJQTtBRzdIQTtBM0s2Z0JBO0F3S2haQTtBR3ZIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTNLK2ZBO0F3S2haQTtBR3hHQTtBM0t3ZkE7QXdLaFpBO0FoSXJKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0F4QzRoQkE7QXdLaFpBO0FHNUZBO0FINEZBO0FHekZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSG9GQTtBR2hGQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUgyRUE7QUd2RUE7QUh1RUE7O0FHbEVBO0FIa0VBO0FBZ0JBO0FBaEJBO0FBcUJBO0FBQ0E7QUFXQTtBQUVBO0FBRkE7QUFNQTtBQU5BOztBQVdBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7O0FHNUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTNLb2NBO0F3SzVWQTs7QUd4TUE7QUFDQTtBQUNBO0FIc01BOztBR25NQTtBSG1NQTs7QUcvTEE7QUgrTEE7O0FHM0xBO0FBQ0E7QUFDQTtBQUNBO0FId0xBOztBR3JMQTtBSHFMQTs7QUdqTEE7QTNLNmdCQTtBd0s1VkE7O0FHM0tBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBM0srZkE7QXdLNVZBOztBRzVKQTtBM0t3ZkE7QXdLNVZBOztBaEl6TUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBeEM0aEJBO0F3SzVWQTs7QUdoSkE7QUhnSkE7O0FHN0lBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSHdJQTs7QUdwSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIK0hBOztBRzNIQTtBSDJIQTs7OztBR3RIQTtBQUNBO0FIZ0lBOztBOUtoT0E7O0FrTEVBO0FoTEZBOzs7QWdMTUE7QWxMSUE7QUFnQkE7O0FrTGhCQTtBbExWQTs7QWtMYUE7QWhMYkE7OztBZ0xpQkE7QWxMUEE7QUFnQkE7O0FrTExBO0FsTHJCQTs7QWtMd0JBO0FoTHhCQTs7O0FnTDRCQTtBbExsQkE7QUFnQkE7O0FrTE1BO0FsTGhDQTs7QWtMbUNBO0FoTG5DQTs7O0FnTHVDQTtBbEw3QkE7QUFnQkE7O0FrTGlCQTtBN0kzQ0E7QUFNQTtBOEl5Q0E7QUFHQTtBQUNBO0FBQ0E7QTdLNmZBO0E2S2xnQkE7QUFTQTtBQUdBO0FBQ0E7QUFDQTtBN0tvZkE7QTZLbGdCQTtBQW1CQTtBN0srZUE7QTZLbGdCQTtBQXVCQTtBQUNBO0FBQ0E7QUFDQTtBQTFCQTtBQThCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E1STVDQTtBNElPQTtBNUlIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTZCQTtBQUFBO0E0SWhDQTtBNUlnREE7QTRJaERBO0E1SXdEQTtBQUNBO0E0SXpEQTtBNUl3RUE7QUFDQTtBNEl6RUE7QTVJMEZBO0FBQ0E7QTRJM0ZBO0E1SXVHQTtBQUNBO0FqQzBaQTtBNktsZ0JBO0FBb0RBO0FBSUE7QUFDQTtBQUNBO0E3S3djQTtBNksxY0E7QUFLQTtBN0txY0E7QTZLMWNBO0FBVUE7QUFWQTtBQWFBO0FBYkE7QUFpQkE7QTdLeWJBO0E2S25iQTtBQUdBO0FBU0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBN0tpYUE7QTZLbGFBO0FBS0E7QTdLNlpBO0E2S2xhQTtBQVNBO0E3S3laQTtBNktsYUE7QUFjQTtBQUNBO0FBQ0E7QUFDQTtBQWpCQTtBQW9CQTtBN0s4WUE7QTZLellBO0FBR0E7QUFDQTtBQUNBO0FBOUhBO0FBcUlBO0FBQ0E7QUFDQTtBN0syWEE7QTZLbGdCQTtBQTRJQTtBQTVJQTtBQWlKQTtBQUNBO0FDak1BO0FBQ0E7QUFDQTtBQUNBO0FwTEhBOztBa0w2SkE7QWhMN0pBOzs7QWdMaUtBO0FsTHZKQTtBQWdCQTs7QWtMMklBO0FsTHJLQTs7QWtMd0tBO0FoTHhLQTs7O0FnTDRLQTtBbExsS0E7QUFnQkE7O0FrTHNKQTtBbExoTEE7O0FrTG1MQTtBaExuTEE7OztBZ0x1TEE7QWxMN0tBO0FBZ0JBOztBa0xpS0E7QWxMM0xBOztBa0w4TEE7QWhMOUxBOzs7QWdMa01BO0FsTHhMQTtBQWdCQTs7QWtMNEtBO0E3SXRNQTtBQU1BO0FnSktBO0FBQ0E7QUFJQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQWZBO0FBbUJBO0FBQ0E7QS9La2hCQTtBK0t0aUJBO0FBdUJBO0E5SU1BO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTZCQTtBQUFBO0FBYUE7QUFHQTtBQU1BO0FBS0E7QUFDQTtBQVVBO0FBS0E7QUFDQTtBOEloSEE7QUFvQ0E7QS9La2dCQTtBK0t0aUJBO0FBMkNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUEvQ0E7QUFtREE7QUFDQTtBQUNBO0EvS2lmQTtBK0t0aUJBO0FBd0RBO0FBeERBO0FBNkRBO0FBQ0E7QUE5REE7QUFrRUE7QUFsRUE7QUFxRUE7QUFDQTtBckxqRkE7O0FrTG9RQTtBaExwUUE7OztBZ0x3UUE7QWxMOVBBO0FBZ0JBOztBa0xrUEE7QWxMNVFBOztBa0wrUUE7QWhML1FBOzs7QWdMbVJBO0FsTHpRQTtBQWdCQTs7QWtMNlBBO0FsTHZSQTs7QWtMMFJBO0FoTDFSQTs7O0FnTDhSQTtBbExwUkE7QUFnQkE7O0FrTHdRQTtBbExsU0E7O0FrTHFTQTtBaExyU0E7OztBZ0x5U0E7QWxML1JBO0FBZ0JBOztBa0xtUkE7QWxMN1NBOztBa0xnVEE7QWhMaFRBOzs7QWdMb1RBO0FsTDFTQTtBQWdCQTs7QWtMOFJBO0FsTHhUQTs7QWtMMlRBO0FoTDNUQTs7O0FnTCtU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QUdBO0FBQ0E7QXpML0xBOztBa0x5cUJBO0FoTHpxQkE7OztBZ0w2cUJBO0FsTG5xQkE7QUFnQkE7O0FrTHVwQkE7QWxManJCQTs7QWtMb3JCQTtBaExwckJBOzs7QWdMd3JCQTtBbEw5cUJBO0FBZ0JBOztBa0xrcUJBO0FsTDVyQkE7O0FrTCtyQkE7QWhML3JCQTs7O0FnTG1zQkE7QWxMenJCQTtBQWdCQTs7QWtMNnFCQTtBbEx2c0JBOztBa0wwc0JBO0FoTDFzQkE7OztBZ0w4c0JBO0FsTHBzQkE7QUFnQkE7O0FrTHdyQkE7QWxMbHRCQTs7QWtMcXRCQTtBaExydEJBOzs7QWdMeXRCQTtBbEwvc0JBO0FBZ0JBOztBa0xtc0JBO0FsTDd0QkE7O0FrTGd1QkE7QWhMaHVCQTs7O0FnTG91QkE7QWxMMXRCQTtBQWdCQTs7QWtMOHNCQTtBeEp4dUJBOztBd0oydUJBO0FJM3VCQTtBQVlBO0FJU0E7QUFHQTtBQUdBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QXBMZ2hCQTtBb0xuaEJBO0FBTUE7QUFJQTtBaEtuQ0E7QUFDQTtBQUNBO0E4SkdBO0FBR0E7QUFDQTtBbExtaUJBO0FvTHpnQkE7QUFFQTtBQU1BO0FBQ0E7QUFHQTtBRm1CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FFOUJBO0FBQ0E7QUYrQkE7QUFFQTtBQUNBO0FBR0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUV4Q0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBcEw0ZUE7QW9MOWVBO0FBS0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBcExrZUE7QW9McGVBO0FBS0E7QUFDQTtBQUlBO0FBRUE7QUEzQkE7QUFnQ0E7O0ExTDlGQTs7QTJMRUE7QXpMRkE7OztBeUxNQTtBM0xJQTtBQWdCQTs7QTJMaEJBO0EzTFZBOztBMkxhQTtBekxiQTs7O0F5TGlCQTtBM0xQQTtBQWdCQTs7QTJMTEE7QTNLckJBOzs7Ozs7OztBMks4QkE7QTFLOUJBO0FBU0E7QWpCVEE7O0EyTG1DQTtBekxuQ0E7OztBeUx1Q0E7QTNMN0JBO0FBZ0JBOztBMkxpQkE7QTNLM0NBOzs7Ozs7OztBMktvREE7QTFLcERBO0FBU0E7QXdCVEE7QUFnREE7QUNxQkE7QWtKNURBOzs7QXpLZ0dBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QXlLN0dBO0FBUEE7OztBekswTEE7QUFDQTtBeUszTEE7OztBeks4TEE7QUFDQTtBeUsvTEE7OztBektvTUE7QUFDQTtBQUNBO0F5S3RNQTs7Ozs7QXpLNE1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFpREE7QUFDQTtBQUNBO0F5S25RQTs7Ozs7QXpLc1FBO0FBQ0E7QXlLdlFBOzs7Ozs7O0F6SzRUQTtBQUNBO0FBQ0E7QUF3QkE7QUFDQTtBQUNBO0F5S3hWQTs7Ozs7OztBeksyVkE7QUFDQTtBeUs1VkE7OztBeks2WUE7QUFDQTtBQUNBO0F5S3BZQTtBQUtBO0FBQ0E7QUFOQTtBQVNBO0FBQ0E7QUFDQTtBQVhBO0FBY0E7QUFDQTtBQWZBO0FBa0JBO0FBQ0E7QUFuQkE7QUFzQkE7QUFDQTtBQUNBO0FBeEJBO0FBMkJBO0FBQ0E7QUE1QkE7QUErQkE7QUFDQTtBQUNBO0FBakNBO0FsSm9GQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWtKNUZBO0FsSjBHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWtKL0dBO0FsSm9JQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FrSmpKQTtBbEpzSkE7QUFDQTtBa0p2SkE7QWxKNEpBO0FBQ0E7QWtKN0pBO0FsSjRKQTtBQUNBO0FrSjdKQTtBbEo0SkE7QUFDQTtBa0o3SkE7QWxKNEpBO0FBQ0E7QWtKN0pBO0FsSmlLQTtBa0pqS0E7QUErQ0E7QUFDQTtBQWhEQTtBQW9EQTtBQUNBO0FBQ0E7QUFDQTtBdExzZUE7QXNMN2hCQTtBQTBEQTtBdExtZUE7QXNMN2hCQTtBQThEQTtBQUNBO0FBL0RBO0FBbUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTNFQTtBQThFQTtBQUNBO0FBQ0E7QUFDQTtBQWpGQTtBQXFGQTtBQXJGQTtBQXlGQTtBQUNBO0FBMUZBO0FBZ0dBO0FBQ0E7QUFqR0E7QUFvR0E7QUFDQTtBQXJHQTtBQXdHQTtBQUNBO0FBS0E7O0FBR0E7QUFDQTtBQUdBO0FBQ0E7OyIsInNvdXJjZVJvb3QiOiIifQ==*/